gpt4 book ai didi

opengl - 你如何在 OpenGL 中进行非线性着色?

转载 作者:行者123 更新时间:2023-12-03 21:00:07 34 4
gpt4 key购买 nike

我正在 OpenGL 中开发一个可视化工具来可视化 3d 有限元建模应用程序的输出。该应用程序使用四面体网格(但我只查看外部面,即三角形)。输出是一个标量变量,我想将其映射到颜色图(我已经知道如何做到这一点)。棘手的部分是每个单元格中变量的值由该单元格中坐标的多项式函数(我认为它的阶数为 3,但尚未最终确定)给出。

在 OpenGL 中,如果我使用“平滑”着色模型,那么如果我创建一个多边形并给每个顶点一个不同的值,那么它会自动(线性地)在顶点处的值之间进行插值,以便在顶点处获得颜色值点在内部。但这只是在每个单元格中给出一个线性函数,我希望它是我指定的非线性函数。有没有办法做到这一点?

(当然,一种解决方案是通过将每个单元格绘制为小得多的 OpenGL 多边形的组合来“手动”插值,这些多边形足够小,每个多边形的颜色变化不大。但我想知道 OpenGL 本身是否有解决办法。)

最佳答案

如果您有 GLSL 经验( or the time to learn it ),您可以使用像素着色器,或者将您的标量值渲染到纹理和 texture-map你的三角形。

如果您使用着色器,您应该能够从三角形的顶点读取颜色值,并按照您认为合适的方式自行执行插值。

编辑

我找到了一篇处理那个确切问题的论文:http://mgarland.org/files/papers/perpixel.pdf

关于opengl - 你如何在 OpenGL 中进行非线性着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3698097/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com