기본적으로 모델 파서를 작성하려고하는데, wavefont obj 파일을 가져 와서 webgl에서 렌더링합니다. 결국 나는 이러한 객체를 회전, 평행 이동 및 크기 조정할 수 있기를 원합니다.Webgl에서 3d 모델을 렌더링하려고 시도 할 때 이상한 문제가 발생합니다.
나는 인터페이스가 모두 설정되어 있으며 잘 작동합니다. 그러나 렌더링에 문제가 있습니다.
obj 파일을 가져 와서 배열의 요소 수가 모두 올바른지 확인하고 chromgl webgl 디버그 플러그인을 사용하여 검사 한 결과 배열이 일치합니다 (심지어 요소 값도 일치 함). 정점의
번호 : 지수의 10932 번호 : 어쨌든 18960
내가 gl.drawElements 실행 (gl.TRIANGLES,의 numItems, gl.UNSIGNED_SHORT, 0); 크롬 오류가 발생하지 않지만 webgl 플러그인 디버그에서 추가 정보없이 'INVALID_OPERATION'이 표시됩니다.
numItems (보통 인덱스 수/18960)를 훨씬 낮은 수로 변경하면 주전자가 렌더링됩니다 (약간 잘못됨). 행운의 번호는 어떤 이유로 든 11034입니다. 만약 내가 위를 지나치면 렌더링하지 않을 것입니다, 아래로 가면 약간 틀린 찻 주전자가 렌더링 될 것입니다. 분명히 숫자를 하드 코딩 할 수 없기 때문에 실제로이 숫자가 색인의 전체 개수가되어야합니다.
그래서 나는이 디버그 내 전체 코드, 일어나는 이유에 매우 혼란 스러워요 : http://webdesignscript.net/assignment/graphics_a3/scripts/webglengine.js
찻 주전자 모델로드 : http://webdesignscript.net/assignment/graphics_a3/models/teapot.obj
코드의 일부를 렌더링 http://webdesignscript.net/assignment/graphics_a3/
건배, 조쉬
크리스천, 고맙습니다. 이전에는 OBJ 파일로 작업하지 않았습니다. 매우 감사! –
@jezternz 환영합니다 (최대 투표 및 수락). –