내가 말하는 플래그는 GL_STREAM_DRAW, GL_STATIC_DRAW 및 GL_DYNAMIC_DRAW입니다. The manual page is clear about when you should use them but ambiguous about what will happen if you do.glBufferData의 힌트 플래그가 실제로 어떤 작업을 수행합니까?
당신이 모두 너무 빨리 대답하기 전에, 나는 그들이해야 할 일을 이해한다고 말하게하고, 그것이 중요한 상황을 상상할 수 있습니다. 그러나 나는 그것이 실천에서 많은 차이를 만든다는 것에 회의적이다. 최근에 나는 플래그를 GL_DYNAMIC_DRAW로 설정하고 잊어 버리는 것이 좋을 것이라고 생각했지만, 그렇게한다면 발에서 스스로를 쏘고 있을지도 모른다는 잔소리가 의심 스럽습니다.
실제로 더 많은 사람을 알고 있습니까 특히 이러한 것들은 무엇을합니까? 특히 STATIC_DRAW와 DYNAMIC_DRAW의 차이점에 대해 가장 궁금합니다. 잘못된 것을 골라서 프레임 률의 죽음의 덫에 걸리거나 그냥 플라시보 야? 실제 답변은 실제 드라이버 구현에 조건부가 될 것이라고 생각합니다. 또는 이러한 플래그가 무언가 (실제로는 무엇이든)를하는 실제 예를 생각해 내면 관심을 보일 것입니다.
참고 : 설명서 페이지가 비참하게 오래되었습니다. 그리고 그것이 OpenGL 2.1이라는 사실을 말하는 것이 아닙니다. [맨 페이지의 관리자는 2.1 페이지의 오류를 수정하지 않을 것이라고 말했습니다.] (http://www.khronos.org/bugzilla/show_bug.cgi?id=464#c1) 그들을 사용하는 것으로부터. –
알아두면 좋지만 지난 몇 년 동안 glBufferData가 많이 바뀌 었다고 생각하지 않습니다. 내가 참조 pdf에 대한 페이지 번호를주는 대신 링크를 게시 할 것이라고 생각했습니다. 매뉴얼 페이지에 대한 더 나은 정보를 알고 있습니까? – Mikola
오류 수정시 관리자의 느린 속도에 지쳤습니다. [전체 내용을 OpenGL Wiki에 업로드했습니다.] (http://www.opengl.org/wiki/Category:Core_API_Reference) 오류가 수정 될 수 있으므로 기다리는 것이 아니라 발견되었습니다. 이것은 * core * OpenGL API 만 공개하고 호환성은 제공하지 않습니다. "공식적인"4.3 핵심 API 참조를 사용하려면 [여기에 있습니다] (http://www.opengl.org/sdk/docs/man4/)를 참조하십시오. 그들이 최신 상태로 유지하지 않으려는 경우 오래된 페이지를 삭제하면 좋을 것입니다. –