随笔分类 - OpenGL
摘要:我们之前都是通过glNamedBufferData初始化buffer object,初始化的意思是为buffer object开辟显存空间,并填充数据: GLfloat position[] = { -1.0f, -1.0f, 0.0f, 1.0f, 1.0f, -1.0f, }; GLuint v
阅读全文
摘要:Vertex Buffer Object 对于经历过fixed pipeline的我来讲,VBO的出现对于渲染性能提升让人记忆深刻。完了,暴露年龄了~ //immediate mode glBegin(GL_TRIANGLES); glNormal3f(...); glVertex3f(...);
阅读全文
摘要:在OpenGL中,指定三角形图元的顶点顺序很重要。譬如,我们可以使用glFrontFace指定顺时针还是逆时针为正面,然后通过glCullFace不绘制正面或者背面. 但你有没有想过,OpenGL是怎么判断三角形的顶点顺序是顺时针还是逆时针呢? 二维还是三维 首先我们先明确一下,culling这个阶
阅读全文
摘要:shader之间传递数据实在是太常用了. 下面我们总结几种shader之间传递数据的方法. Name based matching 最简单,也是最常用的一种传递方式是依靠名字进行匹配. 例如我们从vertex shader向fragment shader传递颜色: //vertex shader #
阅读全文