shader - 可以使用三种不同的方法
2015-11-24 11:48
190 查看
表面着色器,可能会是你最好的选择。如果它需要与灯光,阴影,投影器,等进行交互,以表面着色器方式写着色器。表面着色器也可以很容易简洁地写在复杂的着色器 - 这是一个更高的抽象层次。大多数表面着色器的光照以延迟光照的方式进行计算(唯一的例外是一些自定义的光照模型),它允许着色器有效率地与许多实时灯光互动。表面着色器用CG / HLSL语言编写几行代码和更多的代码会自动生成。
顶点和片段着色器,如果你需要一些非常奇特的效果,表面着色器不能处理的,如果着色器并不需要与照明互动或如果这只是图像效果。这种编写着色器方案是最灵活的方式创建你需要的效果(甚至表面着色器是自动转换成一堆顶点和片段着色器),但这有代价的:你需要写更多的代码和它很难使其与照明互动。这些着色器同样是用CG / HLSL语言编写。
固定功能着色器,需要为不支持可编程着色器的旧硬件编写。您可能会想要编写固定功能着色器,以确保旧的硬件或简单的移动平台上运行时,你的游戏渲染的东西仍然合理的。固定功能着色器完全是用称为ShaderLab一种语言编写的。这是类似微软的。FX文件或NVIDIA的的CgFX。
顶点和片段着色器,如果你需要一些非常奇特的效果,表面着色器不能处理的,如果着色器并不需要与照明互动或如果这只是图像效果。这种编写着色器方案是最灵活的方式创建你需要的效果(甚至表面着色器是自动转换成一堆顶点和片段着色器),但这有代价的:你需要写更多的代码和它很难使其与照明互动。这些着色器同样是用CG / HLSL语言编写。
固定功能着色器,需要为不支持可编程着色器的旧硬件编写。您可能会想要编写固定功能着色器,以确保旧的硬件或简单的移动平台上运行时,你的游戏渲染的东西仍然合理的。固定功能着色器完全是用称为ShaderLab一种语言编写的。这是类似微软的。FX文件或NVIDIA的的CgFX。
相关文章推荐
- Ubuntu手机中的Theme运用
- Java中的算术运算符
- Exception:异常分类
- [python]标准比较运算符
- eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能(同时解决自动补全变量名的问题)?
- 字母图形
- 单例模式 解析——浅显易懂
- iOS-置顶按钮相关
- css background属性的使用方法
- fiddler用法:修改http请求返回信息
- JSON及JSON-LIB
- 两个APP之间怎么调用《IT蓝豹》
- 栈区堆区全局区
- Selenium2(webdirver)入门之五测试工程同步(Java版)
- Android四大基本组件详解
- 代码创建约束01
- 顺序队的基本操作(C 完整源代码)
- iOS -switch函数中的case,初始化视图时需要加“{}”
- nginx地址重写
- [Hadoop in Action] 第1章 Hadoop简介