gpt4 book ai didi

shader - 如何修改/置换 Cg 片段着色器中的像素位置?

转载 作者:行者123 更新时间:2023-12-02 15:40:16 27 4
gpt4 key购买 nike

是否可以使用 Cg 修改片段(像素)着色器中的像素坐标?我确信此类功能在第二代/第三代着色器中可用,但我不知 Prop 体的配置文件是什么,也不知道如何使用。

最佳答案

不,这是不可能的。

您可以在片段着色器中修改的唯一坐标是 Z,进入 Z 缓冲区。甚至这也会对性能产生影响,因为它会破坏一些优化(例如 Hierarchical Z)。

X 和 Y 位置在片段着色器执行之前设置(在 Rasterizer 中)。典型的光栅化器实际上至少生成 2x2 的像素 block ,并且硬件并不真正单独处理像素,一直到混合阶段。

有些人为了模仿这种类型的特征往往会生成比必要更多的像素,并丢弃多余的像素。

不过,您听说过的功能可能是曲面分割。它不是作为片段着色器的一部分完成的,而是管道的一个独立部分,允许生成额外的几何体。

最终,您可以使用何种技术取决于您要实现的目标。但是,无论是在 Cg、OpenGL 还是 DirectX 中,各种 API 从未支持对 X 和 Y 进行全面修改,因为硬件无法做到这一点。

关于shader - 如何修改/置换 Cg 片段着色器中的像素位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8123188/

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