如何确定是否在 three.js 上的 GPU 内存上分配了缓冲区?
我第一次调用 renderer.render() 时,它渲染的网格没有纹理(看起来是黑色的),这让我认为调用函数时纹理在 GPU 内存上还不可用。5-10 次调用后,纹理出现在屏幕上。
为什么这很重要?我只是在视图需要更新时触发渲染功能。如果加载了新模型,渲染函数应该等到所有数据都可用于渲染。
如何确保所有数据都准备好在 GPU 上使用?
伪代码:
textures = LoadTextures()
material = CreateMaterial(textures)
geometry = loader.load( "path/to/file" )
if( materialLoaded && geometryLoaded ) {
needsUpdate = true
}
if( needsUpdate ) {
renderer.render()
needsUpdate = false
}