3D引擎:Horde3D:读取Shader文件流程(二)
来源:互联网 发布:域名ns记录是什么 编辑:程序博客网 时间:2024/05/26 14:11
首先,根据[[ ]]来判断 FX, VS_*, FS_*部分
然后,将FX部分给 fxCode字符串, VS_*, FS_*分别交给 CodeResource 并依次存放在 _codeSections vector中。
之后,
会解析 FX部分, 这部分先会设置 uniform默认的值,float / float4 类型,变量存储在 _uniforms里 存放, Sampler的 路径名,存放在 _samplers里 该路径名,存放的就是 Fragment Shader的 Sampler变量 要使用的 图片
解析FX部分的 context 段,
context端 定义了 该context下 一些渲染的模式,以及 Vertex Shader 和 Fragment Shader的 名字
最后,
根据这些名字,CodeResource类会找到 相应的 Shader 代码段
然后 调用 ShaderResouce类的compileContexts方法,该方法会继续调用 Renderer类的 方法 对 Shader 进行 Compile,Link等。
CodeResource 类主要存储的就是 Vertex Shader 和 Fragment Shader的代码段,这些代码段 在文件里 都有一个名字[[ VS_* ]]/ [[ FS_* ]]的名字,
每一对VS, FS 在 [[ FX ]]里 对应一个 context, 每个代码段会有一个 id存储在context里。 根据这些context 的属性, CodeResource 对相应的代码段执行 操作。
0 0
- 3D引擎:Horde3D:读取Shader文件流程(二)
- 3D引擎:Horde3D:如何解析Shader文件(一)
- 3D引擎:Horde3D:Shader类里的 结构体,以及渲染一个 Logo的简单流程(三)
- 3D引擎:Horde3D:小感3
- 3D引擎:Horde3D:App类
- 3D引擎:Horde3D:小感
- 3D引擎:Horde3D:小感2
- 3D引擎:Horde3D的 Resource类
- 3D引擎:Horde3D:Cocos 和 Horde3D渲染部分的设计比较
- 3D引擎:Horde3D:窗口类API:glfw
- Horde3D——基于C++编写的3D渲染引擎
- 漫谈3D游戏引擎(二)
- 3D绘图程序设计之shader学习总结(二)
- android 3d游戏研究(二)(边学边写,多谢高手指正,鞠躬) :txt文件读取
- 现有游戏引擎分析——3D(二)
- 如何学好3D游戏引擎编程(二)
- 3D游戏引擎系列二
- 文件读取(二)
- java 深度克隆
- 关于分享弹窗,以及跳转到相应应用
- 普通参数与指针参数的比较
- 【C语言】两个有序单链表的合并
- while循环
- 3D引擎:Horde3D:读取Shader文件流程(二)
- 开始
- leetcoce_Find the Duplicate Number
- 将文件或目录拷贝到另一个Linux系统的命令scp
- 整数划分问题
- 互联网产品 要不要做用户调研
- Redis常用命令
- 第一段JS小程序
- Visual Studio的函数unsafe报错问题