Shader着色技术细节
2013-09-02 10:04
148 查看
一个着色器本质上定义了游戏中的明暗应该如何表现的规则。在任意给定的着色器里是一个属性(通常是纹理)的数量。着色器通过材质执行,直接附属到特定的游戏对象。在一个材质里,你可以选择一个着色器,然后定义属性(通常是纹理和色彩,但性质可能不同)由该着色器使用。
图表的左边是车体着色器。 2个不同的材质是这样创建的:蓝色的汽车材质和红色的汽车材质。这些材质的每一个都有2个给定的纹理;汽车纹理定义汽车的主要纹理,和颜色特效纹理。这些属性被着色器所使用,使完成的汽车看上去像喷涂了两种色调。可以看到在红色车前面:面对相机的地方是黄色,然后随角度的增加消退成紫色。车材质附着到了两辆车上。而车轮、车灯和车窗没有颜色变化效果,因此必须使用不同的材质。在图表的底部有一个简单金属着色器。车轮材质使用这个着色器。请注意,即使同样的汽车纹理在这里被重用,最终车身产生的结果是完全不同的,因为在材质中使用的着色器是不同的。
一个着色器定义了如下内容:
方法用以呈现(渲染)一个对象。这包括根据最终用户的图形卡使用不同的方法。
任意顶点和用于渲染的片段程序
可指派到材质中的一些纹理属性
可指派到材质中的颜色和编号设置
一个材质定义了:
用于渲染的纹理
用于渲染的颜色
一些其它资源,例如一个着色器渲染所必需的立方体贴图
着色器是图形程序员写的。他们创建使用ShaderLab语言,这很简单。但是要让一个着色器在各种图形卡上运行良好却是一个复杂的工作,需要对图形卡如何工作有一个相当全面的了解。
许多着色器直接内置在unity中,有些作为标准资源库。
原文链接:http://www.unitymanual.com/thread-3078-1-1.html
图表的左边是车体着色器。 2个不同的材质是这样创建的:蓝色的汽车材质和红色的汽车材质。这些材质的每一个都有2个给定的纹理;汽车纹理定义汽车的主要纹理,和颜色特效纹理。这些属性被着色器所使用,使完成的汽车看上去像喷涂了两种色调。可以看到在红色车前面:面对相机的地方是黄色,然后随角度的增加消退成紫色。车材质附着到了两辆车上。而车轮、车灯和车窗没有颜色变化效果,因此必须使用不同的材质。在图表的底部有一个简单金属着色器。车轮材质使用这个着色器。请注意,即使同样的汽车纹理在这里被重用,最终车身产生的结果是完全不同的,因为在材质中使用的着色器是不同的。
一个着色器定义了如下内容:
方法用以呈现(渲染)一个对象。这包括根据最终用户的图形卡使用不同的方法。
任意顶点和用于渲染的片段程序
可指派到材质中的一些纹理属性
可指派到材质中的颜色和编号设置
一个材质定义了:
用于渲染的纹理
用于渲染的颜色
一些其它资源,例如一个着色器渲染所必需的立方体贴图
着色器是图形程序员写的。他们创建使用ShaderLab语言,这很简单。但是要让一个着色器在各种图形卡上运行良好却是一个复杂的工作,需要对图形卡如何工作有一个相当全面的了解。
许多着色器直接内置在unity中,有些作为标准资源库。
原文链接:http://www.unitymanual.com/thread-3078-1-1.html
相关文章推荐
- 着色器的细节层次技术 Shader Level of Detail
- 蓝牙的一些技术细节
- 关于直播,所有的技术细节都在这里了(一)
- InSAR-DInSAR 技术细节(二) 干涉测量的条件(木有免费的午餐,以及晚餐))
- InSAR-DInSAR 技术细节(六)相干与相干斑
- 关于unity里pbr技术和材质 unity5默认shader和传统的对比
- (转)微信收费事件背后被广泛忽略的技术细节
- 如今网站建设技术虽已成熟 但这四个小细节不可忽视
- 专访RocketMQ联合创始人:项目思路、技术细节和未来规划
- 技术人员不要忽视小细节
- REDIS源码中一些值得学习的技术细节01
- Nagios 技术细节
- C# 类型基础——你可能忽略的技术细节
- 移动电视标准 MBMS (三)技术细节
- Python开发中一些技术细节
- Tabula Rasa中的延迟着色技术
- 唐巧-猿题库客户端的技术细节
- 再临Java,主实际技术的一些细节/深理解
- 职场好人缘的26个细节 ,看来做技术也要八面玲珑啊!
- BlueTooth: 蓝牙4.0技术细节