Emscripten의 현재 릴리스에서 glDrawElements()가 작동해야합니까? (v1.37.1) 내가 무엇을하던간에 glDrawElements()를 호출하면 오류 1282가 발생하고 물론 브라우저에는 아무 것도 렌더링되지 않습니다.glDrawElements는 Emscripten의 현재 릴리스에서 작동하고 있습니까? (v1.37.1)
중요 : WebGL 용으로 작성된 셰이더를 사용하는 경우에도 PC 용 VS로 컴파일 한 후 프로그램이 완벽하게 실행됩니다. 모든 것이 예상대로 작동하며 오류가 발생하지 않습니다. 그러나 웹에 오류 1282.
메인 루프 : 난 단지뿐만 아니라 쿼드를 렌더링하기 위해 노력하고있어
glClear(GL_COLOR_BUFFER_BIT);
glBindVertexArray(VaoId);
glGetError(); // Clear any previous errors
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
int error = glGetError(); if (error != 0) printf("Error: %i\n", error);
glBindVertexArray(0);
glfwPollEvents();
glfwSwapBuffers(m_Instance);
하는 VAO 1 VBO, 인덱스 및 위치 모두 하나 VBO에 저장된다. VertexAttribPointers가 올바르게 설정되었습니다. 셰이더는 오류없이 웹 브라우저 용으로 컴파일됩니다. 글자 그대로 glGetError()는 glDrawElements() 호출 바로 뒤에 오류 코드를 생성합니다.
emscripten 버그 또는 WebGL 버그입니까?
[EDIT]
컴파일하여 :
EM ++ -std = C++ 11 -s USE_GLFW = 3 -s FULL_ES3 = 1 = 1 -s ALLOW_MEMORY_GROWTH --emrun MAIN.CPP -o t .html
더 자세한 WebGL 오류 정보를 얻을 수있는 방법이 있습니다. (필자는) Firefox Nightly를 사용하고 emscripten에서 디버그 모드로 컴파일한다면, 그럴 수도있다. WebGL 2, GLES 3.0 및 Open GL 3.x에는 미묘한 차이점이 있으므로 WebGL 또는 emscripten의 버그가 아니라 사용자의 오류 일 가능성이 있습니다.하지만 추가 오류 메시지가이를 추적하는 데 도움이됩니다. – MuertoExcobito