OpenGL
OpenGL
Tiger-3D
这个作者很懒,什么都没留下…
展开
-
体积雾的一种简单实现
场景里面一开始加的是默认的opengl雾效,效果不太好,看起来立体感不强,然后打算加个体积雾效果,搜了一些体积雾的实现方式,发现略复杂,就想了种比较简单的实现方式;1、在场景的垂直高度上,一般是Z轴,创建若干个水平的平面,大小要比场景大,叠在一起之后看起来效果类似一个立方体;我是从Z的-5到20,创建了25个平面;2、在片元着色器里,根据gl_FragCoord.z的大小,计算雾的浓度,进而计算雾的颜色,如:float fogFactor = pow(gl_FragCoord.z, ...原创 2020-10-23 19:45:10 · 853 阅读 · 0 评论 -
opengl ftransform
主场景模型用的是固定管线来渲染阴影效果,把主场景模型的一部分做了二次渲染,来实现反射效果,用的是glsl4.3的shader,运行发现二次渲染的部分总是抖动,后来分析可能是固定管线和可编程管线在这部分计算顶点的坐标有误差导致的,然后把发射效果的shader中顶点坐标计算改成了内置函数 gl_Position = ftransform();参考:自己执行变换的另一种方式是使用内置函数ftransform,它对需要处理的顶点模拟了固定功能管线的顶点变换。这在混合固定功能和顶点着色器绘制同一个几何..原创 2020-09-09 10:53:05 · 1460 阅读 · 0 评论