three.js의 GPU 메모리에 버퍼가 할당되었는지 어떻게 알 수 있습니까?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
}
는 기술적으로 가능한 빨리 갈 준비가되어 있어야로드 함수를 호출 완료로, OpenGL을/WebGL을에서 '로딩 시간'의 그런 conecpt을 프로그래머 없습니다. – Tim
그래, 나는 DirectX의 쿼리와 비슷한 것이 있다고 생각했다. 감사. – frank