Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个纹理,它是一个由较小纹理组成的网格,我无法在此应用程序中将其拆分为单个文件。我需要将这些子纹理平铺在模型上。
分割几何体可能有效,但会增加场景复杂性,并且如果生成细三角形,可能会引入视觉伪影。
在运行时分配从原始纹理复制的新纹理可能会起作用,但会增加纹理内存的使用,并且如果主纹理发生变化(我无法在此应用程序中检测到),则会涉及陈旧数据。
如果真的没有办法直接绑定子纹理以允许 OpenGL 平铺工作,那么下一个最好的方法是什么?
如果您需要这样做,正确的方法是使用片段着色器直接平铺您的纹理坐标。
这似乎是大材小用,可能会干扰应用程序现有的渲染管道
它会干扰的唯一方法是如果您不使用片段着色器。如果你不是……你应该是。
现代硬件设计通常不再添加固定功能;这一切都是为了给着色器更多的权力和选择。如果您需要某个功能,“在着色器中编码”通常是正确的解决方案。
但是,如果您不允许使用着色器,唯一的选择就是按照您的建议修改您的几何图形。