OpenGL
freehyan
人生没有梦想,和咸鱼有什么区别?
展开
-
Uniform Buffer Object
uniform 变量是着色器和应用程序之间共享数据的桥梁。uniform buffer是GPU上的内存空间,从应用程序传递数据到GLSL程序。uniform buffer object 主要优势是可以在不同的GLSL着色器中分享数据,注意uniform buffer在GLSL中是只能读不能修改。Uniform Block在shader程序中,定义了一系列的uniform变量,可以把这些变量组合在一起原创 2016-07-31 11:32:40 · 2699 阅读 · 0 评论 -
Shader Storage Buffer Object
Shader Storage Buffer Object是GLSL着色器的buffer,不同于uniform buffer在着色器不可修改,shader storage buffer是可读可写的。修改的内容给其他着色器调用或者应用程序本身。初始化 m_UniformBlockData.uLightDirectionE = glm::vec4(1, 1, 1, 0); m_Uniform原创 2016-07-31 12:39:30 · 5802 阅读 · 0 评论 -
Atomic Counter
Atomic Counter是一个缓存对象,存储着一个或者多个unsigned int的变量值。在GLSL着色器有着特定的原子操作(单一的,不可再分的操作)。atomicCounterIncrement 原子计数+1atomicCounterDecrement 原子计数-1Atomic Counter可以用来控制片元的执行,避免对同一块内存区域同时操作。原子计数器表明当前片元在执行任务时,不能原创 2016-07-31 15:53:20 · 1635 阅读 · 0 评论 -
Texture Buffer Object
Texture Buffer Object(TBO),是这一种特殊的一维纹理。需要和缓存对象关联使用,在着色器中可以访问缓冲对象管理的内存数据。初始化//***********************************************************//FUNCTION::void CTBOApp::__createTexturetBufferObject(){原创 2016-08-02 10:56:45 · 2165 阅读 · 0 评论