![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opengl
祝太勇
一蓑烟雨任平生
展开
-
右手和左手坐标系的区别
右手坐标系: 左手坐标系:原创 2023-02-17 10:43:10 · 145 阅读 · 0 评论 -
gl_FragDepth写入深度值,gl_FragCoord读取深度值
输入变量gl_FragCoord能让我们读取当前片段的窗口空间坐标,并获取它的深度值,但是它是一个只读(Read-only)变量。我们不能修改片段的窗口空间坐标,但实际上修改片段的深度值还是可能的。GLSL提供给我们一个叫做gl_FragDepth的输出变量,我们可以使用它来在着色器内设置片段的深度值。gl_FragCoord的x和y分量是片段的窗口空间(Window-space)坐标,其原点为窗口的左下角。gl_FragCoord的z分量等于对应片段的深度值。原创 2022-11-18 11:08:22 · 720 阅读 · 0 评论 -
OpenGL 杂记
当我们在顶点着色器输出一个裁切空间顶点位置到gl_Position时,OpenGL自动进行一个透视除法,将裁切空间坐标的范围-w到w转为-1到1,这要将x、y、z元素除以向量的w元素来实现。也就是说gl_Position从顶点着色起 到 片元着色起 会除以 w 。当一个点比光的远平面还要远时,它的投影坐标的z坐标大于1.0。这种情况下,GL_CLAMP_TO_BORDER环绕方式不起作用,因为我们把坐标的z元素和深度贴图的值进行了对比;在深度缓冲区中包含深度值介于0.0和1.0之间.原创 2021-12-19 13:38:09 · 242 阅读 · 0 评论 -
OpenGL获取显存容量
获取总的显存大小,以KB为单位GLint MemoryKb = 0; glGetIntegerv(GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX, &MemoryKb); 获取剩余的显存大小,以KB为单位 GLint curmemory = 0; glGetIntegerv(GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX, &curmemory);...原创 2021-10-13 11:07:04 · 1095 阅读 · 0 评论