and*_*dre 6 raytracing glsl depth-buffer webgl fragment-shader
在WebGL中,是否可以写入片段的深度值或以其他方式控制片段的深度值?
据我所知,gl_FragDepth在webgl 1.x中不存在,但我想知道是否还有其他方法(扩展,浏览器特定支持等)来做到这一点.
我想要存档的是让光线跟踪对象与使用通常的模型,视图,投影绘制的其他元素一起播放.
有扩展名EXT_frag_depth
由于它是一个扩展,因此可能并非在所有地方都可用,因此您需要检查它是否存在。
var isFragDepthAvailable = gl.getExtension("EXT_frag_depth");
Run Code Online (Sandbox Code Playgroud)
如果isFragDepthAvailable不是 false,那么您可以在着色器中启用它
#extension GL_EXT_frag_depth : enable
Run Code Online (Sandbox Code Playgroud)
否则,您可以gl_Position.z在顶点着色器中进行操作,尽管我怀疑这对于大多数需求来说并不是一个真正可行的解决方案。
| 归档时间: |
|
| 查看次数: |
2178 次 |
| 最近记录: |