我正在构建一个应用程序,动态加载服务器中的图像以用作场景中的纹理,并且我正在研究如何正确加载/卸载这些纹理。Three.js纹理何时发送到GPU?
我的简单问题是;在Three.js调用图中,纹理是否会加载和/或更新到GPU中?当我创建纹理时(var tex = new THREE.Texture()
)还是当我将它应用到网格(var mesh = new THREE.Mesh(geom, mat)
)时? Three的Texture class表示纹理在创建纹理时未加载。但我在Mesh中也找不到任何东西。
我错过了什么吗?纹理是否加载在渲染循环中而不是创建对象上?这可能是有道理的。
在此先感谢!
好的。所以我想我几乎回答了这个问题。它似乎是[Renderer](https://github.com/mrdoob/three.js/blob/a72347515fa34e892f7a9bfa66a34fdc0df55954/src/renderers/WebGLRenderer.js#L5717)上传/删除纹理的责任。 如果这是准确的,是否意味着我保证不会乱用GPU,除非我调用像'renderer.render(场景,相机)的东西;'? – 2015-03-02 10:34:55