#1 楼
正如gllampert在评论中指出的,该值取决于硬件。您可以使用GL_MAX_COMBINED_TEXTURE_IMAGE_UNIT
通过glGet检索它。您可以在此处找到不同硬件的性能。但是,在OpenGL 3中,无论哪种类型,至少有48个同时使用的纹理的下限。 [来源]
评论
$ \ begingroup $
就像glampert所暗示的那样,您还想找到必须支持的最低要求,因为这是您实际上可以依赖所有硬件的数量。
$ \ endgroup $
–艾伦·沃尔夫(Alan Wolfe)
2015年9月6日于20:43
$ \ begingroup $
就像我提到的,OpenGL3强制执行48。当然,实践中可能会有更高的下限。还是我误会了你?
$ \ endgroup $
– Wumpf
2015年9月6日20:45
评论
我相当确定这些值是特定于硬件/版本的,但是实现必须支持一些最小值。您可以使用glGet查询它们。请注意,您描述的纹理每个都是64 MB,因此在达到API的纹理数量限制之前,可能会受到可用VRAM的限制。 8个纹理= 512 MB,因此应该是相当安全的,但是许多较旧的卡或移动卡仅具有1 GB或2 GB的VRAM,因此您将无法使用超过8个这些纹理并且仍然保留了VRAM还有别的。
256 * 256 * 256是什么意思?第三个数字是什么?
@Iman是3d纹理而不是2d纹理-如果您需要更多信息,可以根据需要询问一个单独的问题。
我从没听过这样的话,我以为贴图是覆盖在3d对象上的2D(u,v)栅格贴图,但是我看了一下教程后就熟悉了这个概念。谢谢你的提示特里