- 0条评论
- 164次阅读
- 0条评论
- 300次阅读
[OpenGL]实例化GPUInstance
目前我们接触到的绘制方式,每绘制一个物体都会产生一个DrawCall(glDrawArray/glDrawElments),一旦物体数量过多,则会严重拖慢程序。有时候场景中要频繁绘制一些模型的时候,使用GPUInstan…
- 0条评论
- 287次阅读
[OpenGL]gl_PointSize和gl_FragCoord
在前面,我们一直在使用gl_Position,以gl_开头的都是OpenGL中的内建变量,这期来学习更多的内建变量。gl_PointSize在前面,不论我们绘制的是三角形,立方体,还是模型,所使用的图元都是三角形。即gl…
[OpenGL]帧缓冲
设置帧缓冲[highlightlanaguage="CPP"]//生成帧缓冲glGenFramebuffers(1,&m_FBO);glBindFramebuffer(GL_FRAMEBUFFER,m_FBO);…
[OpenGL]混合和面剔除
Alpha测试只需在片元着色器中使用discard即可[highlightlanaguage="GLSL"]voidmain(){vec4texColor=texture(uTexture1,iTexCoords);if…
[OpenGL]深度测试和模板测试
深度测试在前面的 [OpenGL]MVP矩阵变换(坐标变换)中,我们开启了深度测试来绘制一个3D箱子。因为当时发现箱子绘制出来后,其箱子的表面遮挡关系不正确。在OpenGL中,深度测试默认是关闭的,此时物体的排序是使用的…
[OpenGL]模型
第三方库常见的模型有obj,fbx等,对于不同的模型文件需要不同的方式加载到内存,这里使用 Assimp这个开源项目帮我们完成加载的操作。下载好之后用CMake编译就行啦。 [collapsetitle="定义…