interface block 及 UBO、SSBO 详解
前言 如果要将相机数据、光源数据同时传给地形着色器、阴影着色器等等要怎么做?一种简单的办法是在每个着色器中设置同样的 uniform 变量,然后各自赋值。但这个方法仍然显得太麻烦,有没有方法将数据存储在某个地方,然后需要的着色器自行读取呢?答案肯定是有的。 GLSL 3.1 版本开始支持 uniform block 的数据结构,它可以和 OpenGL 中定义的 uniform bu […]
前言 如果要将相机数据、光源数据同时传给地形着色器、阴影着色器等等要怎么做?一种简单的办法是在每个着色器中设置同样的 uniform 变量,然后各自赋值。但这个方法仍然显得太麻烦,有没有方法将数据存储在某个地方,然后需要的着色器自行读取呢?答案肯定是有的。 GLSL 3.1 版本开始支持 uniform block 的数据结构,它可以和 OpenGL 中定义的 uniform bu […]
在2017年的 SIGGRAPH 上,Khronos 突然推出了 OpenGL 4.6。相比 OpenGL 4.5,这个版本加入了一些 Vulkan 的技术,进一步完善了 OpenGL。这代表OpenGL还没终结,以后还会绽放新的活力。 这几个扩展进入了核心: GL_ARB_gl_spirv 和 GL_ARB […]