博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5.10 recombinant shaders--game programming gems 笔记
阅读量:5771 次
发布时间:2019-06-18

本文共 589 字,大约阅读时间需要 1 分钟。

  hot3.png

这个可以说是一个游戏渲染部分非常核心的部分。

game programming gems 5开这个专题是非常有意义的。

shader linker反映了整个引擎的data pipeline的结构:

所支持渲染的宽度,深度和灵活性。

具体做法是首先定义所支持的渲染方式,这些当然是反映到物体的属性和材质上:

lighting--per-pixel, per-vertex, 全局光模型,normal/parallax map等

texture: 各种mask,animated,

这一切都最后反映到vertex shader和pixel shader上。

根据所支持的渲染技术,写出对应的各个部分,比如parallax map的实现,光照模型,都放在一个个小函数里面,然后在根据现在游戏中有的类型进行组合,进而形成一个个完整的shader。

把shader和材质类型map起来。

map肯定就是有hash的key和value,一般也就是把uint32或者uint64中的每个bit与具体材质信息对应起来,那么转成字符串就成了shader的名字。

这样就完成了map过程。

 

由于这种做法带来了巨大的通用性,相应的,它对于设计和后期的调试打磨就有更高的要求。

这个方法的确非常cool!

原文链接:

转载于:https://my.oschina.net/dtec/blog/44821

你可能感兴趣的文章
yii2图片上传
查看>>
左右HttpClient上传的方法来解决中国的乱码
查看>>
Python 新浪微博中提取最常见转载的微博转载了几次,username,内容
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
Resume简历中装B的词汇总结大全
查看>>
python udp编程实例
查看>>
TortoiseSVN中图标的含义
查看>>
js原生继承之——构造函数式继承实例
查看>>
linux定时任务的设置
查看>>
[CareerCup] 13.3 Virtual Functions 虚函数
查看>>
[Angular 2] ng-model and ng-for with Select and Option elements
查看>>
Visio中如何让重叠图形都显示
查看>>
Tasks and Back stack 详解
查看>>
关于EXPORT_SYMBOL的作用浅析
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>
Nagios监控生产环境redis群集服务战
查看>>
Angular - -ngKeydown/ngKeypress/ngKeyup 键盘事件和鼠标事件
查看>>
Android BlueDroid(一):BlueDroid概述
查看>>