Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Vulkan API (вышел!) (249 стр)

Vulkan API (вышел!) (249 стр)

Страницы: 1248 249 250 251267 Следующая »
Fantom09Постоялецwww13 янв. 201818:26#3720
innuendo
> почему вендор не может сразу оптимизировать glsl в нативный код?
потому что GLSL компилируется "онлайн", а оптимизатор делает то же самое "оффлайн", чувствуешь разницу?
Оффлайн ты можешь запустить процесс хоть на несколько часов и ожидаемо получить на выходе хорошо оптимизированный байт-код, но сомневаюсь что ты бы хотел столько времени ждать загрузку игры :)
innuendoПостоялецwww13 янв. 201818:28#3721
Fantom09
> потому что GLSL компилируется "онлайн", а оптимизатор делает то же самое
> "оффлайн", чувствуешь разницу?
да, только SPIR это компилятор в байткод, а glsl в нативный

это тоже самое как байткод Java

barnesПостоялецwww13 янв. 201818:46#3722
Fantom09
> Оффлайн ты можешь запустить процесс хоть на несколько часов и ожидаемо получить
> на выходе хорошо оптимизированный байт-код, но сомневаюсь что ты бы хотел
> столько времени ждать загрузку игры :)
Я давно игрался с загрузкой глсл из бинарного файла. Да, чуть быстрее, по сотым долям секунды....
Fantom09Постоялецwww13 янв. 201819:21#3723
barnes
> Я давно игрался с загрузкой глсл из бинарного файла. Да, чуть быстрее, по сотым
> долям секунды....
Это тот же минимально оптимизированный код, только уже скомпилированный, тоесть просто готовый бинарь выгружен из памяти, там выигрыш только за счет экономии времени загрузки/компиляции шейдера.
Это актуально когда у тебя тысячи шейдеров (обычная ситуация при использовании мега шейдера), в этом случае время компиляции будет очень существенным, тогда эти "сотые доли", при загрузке из бинарей, становятся решающими. Да и сам бинарь так же по сути байт-код:
ProgramBinary may also accept binaries in vendor-specific formats
    produced by specialized offline compilation tools. This extension does not
    add any such formats, but allows for them in further extensions.
Though the
    level of optimization may not be identical -- the offline shader compiler
    may have the luxury of more aggressive optimization at its disposal --
    program binaries generated online by the GL are interchangeable with those
    generated offline by an SDK tool.

Здесь же речь о том, что есть заведомо неоптимальный код шейдера (по сути - любой с шейдертой), который предварительно оптимизируется (то что предполагалось сделать в будущем для GLSL), за счет этого ты получаешь выигрыш не за счет времени загрузки бинаря, а за счет времени выполнения этого шейдера.

Правка: 13 янв. 2018 19:47

innuendoПостоялецwww14 янв. 201819:41#3724
Fantom09
> Это актуально когда у тебя тысячи шейдеров (обычная ситуация при использовании
> мега шейдера),

можно же не использовать uber, статик браничингом

кстати, про шейдера ... можно ли в сабже легко так на один вертексный иметь несколько пиксельных ?

/A\Постоялецwww14 янв. 201820:27#3725
innuendo
> кстати, про шейдера ... можно ли в сабже легко так на один вертексный иметь несколько пиксельных ?
А в чем проблема?
innuendoПостоялецwww14 янв. 201820:32#3726
/A\
> > кстати, про шейдера ... можно ли в сабже легко так на один вертексный иметь
> > несколько пиксельных ?
> А в чем проблема?

покажи кодом

/A\Постоялецwww14 янв. 201820:34#3727
innuendo
Если ты про program binary, то с separate shader objects можно скомпилить один шейдер как программу и потом использовать как шейдер.
Но я только компилил так, работоспособность не проверял.
innuendoПостоялецwww14 янв. 201821:06#3728
/A\
> Если ты про program binary, то с separate shader objects можно скомпилить один
> шейдер как программу и потом использовать как шейдер.
> Но я только компилил та

нет же, я про PSO

werasaimonПостоялецwww14 янв. 201822:41#3729
Почему Vulkan'a такой ни красивый код ?
Почему не так красиво как у Open GL?
AndreyПостоялецwww14 янв. 201823:43#3730
werasaimon
> Почему Vulkan'a такой ни красивый код ?
> Почему не так красиво как у Open GL?
Ты про заголовки? или уже про User Code?
У залоговков примерно одинаковая красота - C-Style
У Vulkan в большинстве случаев вместо констант заданных макросами, используются enum, так-же структуры в качестве параметров функций.

werasaimonПостоялецwww15 янв. 20180:25#3731
Andrey
Во основном User Code , не красивый  !
Andrey
> так-же структуры в качестве параметров функций.
Это скорей хорошо , чем плохо !

P.S: я хочу чтоб они боле красиво переписали код , чтоб код был написан в стиле  Engine-Queick2 !?

Правка: 15 янв. 2018 0:30

AndreyПостоялецwww15 янв. 20180:30#3732
werasaimon
> Во основном User Code , не красивый  !
наверное не привычный? приведи пример где не красиво.
The PlayerУчастникwww15 янв. 20180:35#3733
werasaimon
> Почему Vulkan'a такой ни красивый код ?
> Почему не так красиво как у Open GL?
После вулкана код на огл кажется старым ущербным дерьмом.
Ты что-то делаешь не так.
werasaimonПостоялецwww15 янв. 201813:40#3734
Andrey
> наверное не привычный? приведи пример где не красиво.
например мне не нравиться огромная куча атрибутов в  (input / output ) структурах !

The Player
> После вулкана код на огл кажется старым ущербным дерьмом.
> Ты что-то делаешь не так.
ну не знаю , вот мне OpneGL кажется боле простым , без излишеств .
А как известно , чем проще система  тем лучше !

Правка: 15 янв. 2018 13:46

Страницы: 1248 249 250 251267 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр