着色器可具有许多不同名称均匀+属性。我怎样才能让这样我就不必事先知道每个着色均匀的名称和它硬编码到代码来获取其位置这在一般情况下工作的系统。我使用OpenGL。

有帮助吗?

解决方案

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

大多数图形/游戏引擎通过公约的工作 - 某些制服由发动机设置,并且着色器根据需要使用这些。有些人会添加配置,所以每个着色器可以指定它需要什么样的制服,但通常,这些名称仍然按照约定完成。

其他提示

使用的命名约定,或自己解析字符串着色拿到类型,符号和可选的存储说明符。前一种选择穿着色器程序员的责任,而后者解决方案将应用程序员的负担。 这类代码可以做了很多更优雅和高效的使用扩展 GL _ ARB _ _均匀缓冲器_对象,该被晋升为核心在OpenGL 3.1

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top