2009-07-11 50 views

回答

2

不幸的是,在某些时候,你需要知道着色器中的统一名称是什么,以及它们指的是什么......这是没有办法的。

大多数图形/游戏引擎按照惯例工作 - 某些制服由引擎设置,着色器根据需要使用它们。有些会添加配置,因此每个着色器都可以指定它需要的制服,但通常,名称仍然按照惯例完成。

1

使用命名约定,或者自己解析着色器字符串以获取类型,符号和可选的存储说明符。前一种选择对着色器程序员负责,而后一种解决方案则给应用程序员带来负担。 使用扩展GL _ ARB _ uniform _ buffer _ object可以使这样的代码变得更加优雅和高效,该扩展GL _ ARB _ uniform _ buffer _ object在OpenGL 3.1中被提升为核心

相关问题