После обсасывания сабжа на GameDev.ru пришло время отписаться по этому поводу в блоге.
Итак - судный день во главе с терминаторами все близиться, и вроде бы еще совсем недавно шейдеры были пару строк объемом и писались на языке пародирующем ассемблер, а уже сейчас мы имеем практически ООП (Cg 2.x, HLSL10)!
Но программистам всегда мало свободы :), и вот компания nVidia решила помочь? нам, и выдала сразу два расширения (GL_NV_shader_buffer_load, GL_NV_vertex_buffer_unified_memory) образующих т.н. Bindless Graphics и призваных ускорить приложения, использующие OpenGL, в 7 и более раз! И теперь самое захватывающее - в шейдерах (пока только GLSL) появились указатели! Да-да, они самые! Теперь в шейдере можно спокойно писать что-то вроде vec4* colorsPtr;
Со слов nVidia данная технология (Bindless Graphics) призвана облегчить огромный cost биндинга VBO и иже с ним. На самом деле теперь забота об этом перекладывается на плечи рядового программиста (хочешь быстро - пиши сам).
Что же, во всяком случае интересное решение, посмотрим что из этого выйдет.
А пока, всем линки для прочтения:
Bindless Graphics Tutorial
Bindless Graphics presentation
GL_NV_shader_buffer_load
GL_NV_vertex_buffer_unified_memory
Обсуждение на gamedev.ru
Комментариев нет:
Отправить комментарий