opengl - 光线转换中的方向向量

标签 opengl shader

当我读到如何在光线转换中获取方向向量时,例如在此网站上:http://www.daimi.au.dk/~trier/?page_id=98

他们首先使用正面剔除渲染网格,然后使用背面剔除渲染网格。然后从正面减去背面,得到每个像素的方向向量。

但是获取方向向量不是需要做太多工作吗?仅获取顶点位置(在世界坐标中)并减去片段着色器中的相机位置来获取方向向量不是更简单、更快吗?这应该给出完全相同的答案,但我们跳过背面和正面渲染。

最佳答案

他们描述的方法给出了穿过对象的光线的精确段(这对于体积渲染很重要)。因此,如果您想获取穿过对象的像素的光线段,这是一个合理的做法。

如果您只想获取从相机到对象的方向向量,那么按照您的建议进行操作(并可选择对其进行标准化)是一种更有效的方法。

关于opengl - 光线转换中的方向向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6342412/

相关文章:

c++ - 使用 OpenGL 风扇而不是根据不同的位置创建圆有什么好处?

c++ - GLSL 玻璃效果加深度剥离

opengl - GLSL - 计算片段的法线

java - 不支持 TrueTypeFont.drawString()

Qt - 使用 QOpenGLWidget 显示图像的步骤

c++ - 着色器纹理值与创建纹理时写入的值不同

c++ - 在世界坐标中计算 z_far 平面的顶点。

glsl - 在不同的着色器阶段使用不同的推送常量

Android opengl es shader编译报错

c++ - 如何将 FBO 的文本附件绘制到默认帧缓冲区?