着色器可以有许多不同的统一名称+属性。我怎样才能制作出一般情况下的系统,以便我不必事先知道每个着色器制服的名称,并将其硬编码以获得其位置。我使用OpenGL。如何在一般情况下使用着色器制服?
0
A
回答
2
不幸的是,在某些时候,你需要知道着色器中的统一名称是什么,以及它们指的是什么......这是没有办法的。
大多数图形/游戏引擎按照惯例工作 - 某些制服由引擎设置,着色器根据需要使用它们。有些会添加配置,因此每个着色器都可以指定它需要的制服,但通常,名称仍然按照惯例完成。
1
使用命名约定,或者自己解析着色器字符串以获取类型,符号和可选的存储说明符。前一种选择对着色器程序员负责,而后一种解决方案则给应用程序员带来负担。 使用扩展GL _ ARB _ uniform _ buffer _ object可以使这样的代码变得更加优雅和高效,该扩展GL _ ARB _ uniform _ buffer _ object在OpenGL 3.1中被提升为核心
相关问题
- 1. 如何在iOS上使用着色器绘制香椿般的黑色边缘?
- 2. 在没有着色器的情况下在bgfx中渲染?
- 3. DirectX11动态着色器连接能否在没有着色器反射的情况下使用?
- 4. 如何在一般情况下实现LinearLayout.replaceView() - 或ViewGroup.replaceView()
- 5. 如何在不使用服务器的情况下运行node.js
- 6. 如何使用h2o.deeplearning()在一般情况下找到最优数量的纪元?
- 7. 使用SyncLock的正确方法(一般情况下)
- 8. 如何从这种一般情况下获得类型?
- 9. 如何在不使用preferenceActivity的情况下使用其他拾色器?
- 10. 如何在不使用svcutil.exe的情况下使用WCF服务?
- 11. 如何在使用情况下在什么情况下使用tsql?
- 12. 如何解决以下情况,使用SQL服务器?
- 13. 着色器vs着色器材质,papervision特定,一般洞察力欢迎
- 14. 如何在不使用片段着色器的情况下渲染灰度纹理? (OpenGL)
- 15. 如何在以下情况下使用过滤器。
- 16. 如何在没有内容的情况下为单个标签着色?
- 17. 在不使用光照或着色器的情况下改变OpenGL渲染的颜色
- 18. 如何在不使服务器崩溃的情况下使用php mail()函数?
- 19. 如何在不使用.controller()的情况下访问$ location服务?
- 20. 如何在没有服务的情况下使用ajax和mvc4?
- 21. 如何在不破坏服务层的情况下使用MVCMailer?
- 22. 如何在没有WebRequest的情况下使用WCF服务?
- 23. 在没有服务器的情况下使用NTP,仅用于控制系统
- 24. 在PostgreSQL中的IN语句性能(和一般情况下)
- 25. 在没有puts()的情况下ungetc()gets()和流一般
- 26. 处理一般例外在特定情况下
- 27. 如何在安全的情况下制作spring-boot REST服务?
- 28. onBeforeUnload - 如何在不使用ajax的情况下调用服务器端函数
- 29. 如何让脚本在不制动的情况下使用setAttribute'style'CSP
- 30. 如何在这种情况下使用Java的大十进制?