c++ - 使用顶点着色器确定线方向

标签 c++ opengl geometry shader glsl

我希望能够计算一条线的方向到眼睛坐标,并使用顶点和片段着色器为线上的每个像素存储该值。我的想法是在对每对顶点进行模型 View 转换后使用 atan2(Gy/Gx) 计算方向梯度,然后将该值量化为颜色强度以传递给片段着色器。我怎样才能访问顶点对的位置来实现这个,或者我应该使用另一种方法吗?
谢谢

最佳答案

How can I get access to the positions of pairs of vertices?

如果您只使用一个顶点和一个片段着色器,则不能简单地做到这一点。简单的方法是使用 geometry shaders .在此着色器阶段内,您可以访问构成线段的一对顶点。然后直接确定线方向并将其传递给片段着色器。

如果几何着色器不是一个选项(因为您的目标受众),您可以复制几何(在每个顶点中存储实际顶点加上下一个顶点),然后在顶点着色器中进行计算。

关于c++ - 使用顶点着色器确定线方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2559967/

相关文章:

C++ openGL - 获取和设置像素的函数

c++ - 函数 'glWindowPos2i' 无法解析?

algorithm - 由矢量构建的多边形 - 找到最大的区域,需要有序的顶点列表

c++ - 带 SSL 的简单 gSoap 服务器和客户端

c++ - 如何使用 openGL 获得真正平滑的移动物体

algorithm - 扇区的二维边界框?

algorithm - 在 3d 高度图中找到鞍点

c++ - 如何在现代 opengl 中处理正交投影中的照明?

c++ - 在多个类中实现堆栈时的单一定义规则 (ODR)

c++ - (C++) 需要数据库方面的帮助