您的位置:首页 > 其它

shader - 可以使用三种不同的方法

2015-11-24 11:48 190 查看
表面着色器,可能会是你最好的选择。如果它需要与灯光,阴影,投影器,等进行交互,以表面着色器方式写着色器。表面着色器也可以很容易简洁地写在复杂的着色器 - 这是一个更高的抽象层次。大多数表面着色器的光照以延迟光照的方式进行计算(唯一的例外是一些自定义的光照模型),它允许着色器有效率地与许多实时灯光互动。表面着色器用CG / HLSL语言编写几行代码和更多的代码会自动生成。

顶点和片段着色器,如果你需要一些非常奇特的效果,表面着色器不能处理的,如果着色器并不需要与照明互动或如果这只是图像效果。这种编写着色器方案是最灵活的方式创建你需要的效果(甚至表面着色器是自动转换成一堆顶点和片段着色器),但这有代价的:你需要写更多的代码和它很难使其与照明互动。这些着色器同样是用CG / HLSL语言编写。

固定功能着色器,需要为不支持可编程着色器的旧硬件编写。您可能会想要编写固定功能着色器,以确保旧的硬件或简单的移动平台上运行时,你的游戏渲染的东西仍然合理的。固定功能着色器完全是用称为ShaderLab一种语言编写的。这是类似微软的。FX文件或NVIDIA的的CgFX。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: