这可能是一个比较幼稚的问题,请轻喷。我在 shadertoy.com 上看到了一些着色器,惊讶于用于 3D 场景的 glsl 代码有多么小。深入研究后,我发现大多数着色器都使用了一种称为ray marching 的技术。
这种技术可以避免完全使用顶点/三角形,而只需使用像素着色器和一些数学来创建一些相当复杂的场景。
所以我想知道为什么在 webgl 中 3D 场景经常使用三角网格,而不是只使用像素着色器。我们不能只使用 glsl 和像素着色器(也称为片段着色器)渲染整个场景吗?
这种技术可以避免完全使用顶点/三角形,而只需使用像素着色器和一些数学来创建一些相当复杂的场景。
所以我想知道为什么在 webgl 中 3D 场景经常使用三角网格,而不是只使用像素着色器。我们不能只使用 glsl 和像素着色器(也称为片段着色器)渲染整个场景吗?
glBegin/glEnd
,实际上在 OpenGL 中也早已废弃。如果你想学习 WebGL,我建议阅读 这些文章。 - gman