GLSL Interface Block参考

http://www.opengl.org/wiki/Interface_Block_(GLSL)

http://stackoverflow.com/questions/9916103/opengl-3-1-4-2-dynamic-uniform-arrays

 

glGetProgramResourceIndex

 

glGetProgramResourceiv: GL_BUFFER_BINDING

 

glShaderStorageBlockBinding

GL4.4 Spec says: 

    Each of a program’s active shader storage blocks has acorresponding shader storage buffer object binding point. When a program object is linked, the shader storage buffer object binding point assigned to each of its active shader storage blocks is reset to the value specified by the corresponding binding layout qualifier, if present, or zero otherwise. After a program is linked, the command

    void ShaderStorageBlockBinding( uint program, uint storageBlockIndex,uint storageBlockBinding );

changes the active shader storage block with an assigned indexof storageBlockIndex in program object program.

NOTE: Page 64, OpenGL Programming Guide, 8th edition says, "to explicitly control a uniform block’s binding, call glUniformBlockBinding() before calling glLinkProgram()". That's bull shit.

 

glBindBufferBase

 

posted @ 2013-08-30 12:25  lilei9110  阅读(622)  评论(0编辑  收藏  举报