`
projectanarchy
  • 浏览: 13692 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Vision引擎中着色器库创建和文件格式介绍

 
阅读更多
着色器库文件格式
有若干与着色器流水线创建有关的特殊文件格式。 在浏览器内,这些文件表现为如下结构:

下面是每种格式的介绍:
 
*.ShaderLib : 这些文件由 vForge 着色器编辑器生成。 它们包含着色器源代码和排列组合信息。 这些文件可以被引擎零售程序读取。 保存 .ShaderLib 文件时,vForge 会创建一个文件夹,其路径为着色器库文件路径再加上”.ShaderBin”。 现在,着色器库已不再包含任何二进制代码。 因为这样能够令着色器库呈现更清晰的结构,也更适合版本控制的要求。 但正因如此,着色器 bin 文件必须随程序发布,因为 shaderlib 不再提供二进制回退。
*.ShaderBin: 每个 *.ShaderBin 文件代表某个平台(DX9、DX10、Xbox 360、PS3)的二进制子集。 其中包含平台二进制信息,以及分层结构中相关的着色器效果(即包含该平台编译目标的效果)。 这些文件不含任何源代码信息,所以仅供程序零售版发布之用。
*.VSX: 可视化着色器编辑器生成的 XML 结构的文件。 其中包含用于创建着色器效果的节点信息和元信息。 因此引擎零售程序无法载入该文件,而只能由可视化着色器编辑器载入和保存。
 

总结:

扩展名 *.ShaderLib *.ShaderBin *.VSX
能读取该格式的工具 引擎 / vForge 引擎 vForge
能保存该格式的工具 vForge / vShader 编译 vForge / vShader 编译 vForge
是否随零售版发布

新建着色器库
为了有效组织项目中的着色器效果,您有时需要一个新的着色器库。 要创建新的着色器库,打开着色器编辑布局,在着色器库工具栏选择新着色器库图标。

按下后将打开保存对话框,请选择保存位置,为新库命名。

点击 OK,一个空白库将被创建,可立即添加着色器效果。

新建着色器效果
 
  引言
着色器效果资源包括一套技术回退分层结构。 每种技术引用一个或多个着色器通路资源,其中每条着色器通路定义一条渲染通路。 不同的技术可以通过独特的方式实现同一种效果,所使用的着色器复杂度不一而足。 这一机制可为老版本系统实现回退分层支持。

添加新效果
要为库添加新效果,可以打开一个已有库或创建一个新库。 
库被打开或创建时,右键单击空白处,或单击某个已有技术,然后选择添加新效果。

创建后,为您的新效果命名。 然后,您就可以为这一新效果添加技术了。 一个着色器效果可带有任意数量的技术和着色器通路。
 
添加技术
要添加技术,只需右键单击新效果,然后选择添加技术选项。

为新技术命名。

接下来,该技术还需要一条着色器通路。
 
添加一个着色器通路资源
有两种为您的技术添加着色器通路的方式。 第一种为技术添加着色器通路的方法是右键单击新技术,使用添加着色器选项选择一个可用的着色器通路。
  注:该选项仅显示此库中的可用通路。 如果还未创建任何效果,就没有可用的着色器通路,所以您必须创建一个。

选中一个着色器通路后,其状态如下图所示。 着色器通路显示为技术下方的红点。

第二种添加着色器通路的方法是从着色器列表将着色器通路拖拽到着色器库的技术中。

美工看不到回退分层结构。 但在回退名称中加入一些关于系统要求的有用信息(例如”SM11”)是合适的做法。 在分层结构中选择技术节点后,属性网格会显示该技术专有属性。 所以看不到回退分层结构也没有关系。
  注:一个技术可带有多个通路,并从上至下执行每个通路。 通路执行顺序可通过同一面板内的上下箭头调整。 高亮效果不应使用多重通路,因为该效果可使用专用技术(采样 / 高亮)。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics