2010-12-02 5 views
9

몇 년 전에 저는 전체 셰이더 접근법을 신경 쓰지 않고 기본 기능 (주로 직접 모드)을 사용하는 많은 데모를 OpenGL2.1에서 많이 사용했습니다.새로운 OpenGL로 들어가기

개인 프로젝트에서 OpenGL을 다시 사용해야합니다. 지금까지 거의 모든 것이 버텍스/픽셀 쉐이더를 통해 GPU에 의해 직접 만들어 졌기 때문에이 API에 대한 전체 접근법을 읽었습니다.

OpenGL을 사용했을 때와 비교할 때 OpenGL은 실제 상태 (예 : 개발 및 결과의 효율성을 의미)의 주요 차이점을 알고 싶습니다.

OGL에 대한 이전 접근 방식의 사용자에 대한 자습서가 있습니까? glBegin..glEnd 등으로 수동으로 변환을 적용하는 나의 오래된 아이디어를 포기해야할까요?

Java로 작업 중이므로 좋은 라이브러리를 사용하고 싶습니다. 어떤 제안이 있습니까? LWJGL은 모든 것이 이미 관리되어있어 사용하기에 가치가 있는지 궁금 해서요. 아니면 수학 관련 객체와 같이 필요에 따라 더 중요한 필수 구성 요소를 고수하고 있는지 궁금 해서요.

+3

새로운 프로젝트라면 거의 확실하게 현대적인 스타일을 사용하고 싶을 것입니다. glBegin/glEnd 스타일은 "직접 모드 (immediate mode)"라고 불리우며 여러 주요 릴리스에서 사용되지 않습니다. (GL 4.1 및 IIRC까지입니다. 쉐이더가 보드에 들어 왔을 때 2.1에서 나왔습니다.) 쉐이더, 정점 객체 등은 갈 길입니다. 아래 Guillaume이 언급 한 Durian Software 블로그는 읽을 가치가 있습니다. – gavinb

답변

6

이전 직접 모드와 새로운 방식의 차이점은 상당히 큽니다. 놀랍게도 그곳에는별로 좋은 콘텐츠가 없으므로 웹에서 OpenGL 자습서의 99 %를 무시할 수 있습니다.

LWJGL의 긍정적 인 점은 LWJGL과 일반 OpenGL 호출의 차이점을 이해하면 일반적으로 다른 언어의 자습서를 사용할 수 있다는 것입니다.

는 3 좋은 자원 내가 이었나 찾을 수 :

는 또한, LWJGL이 큰 LWJGL http://www.jmonkeyengine.com/

에 대한 엔진 설계에서 교육이다의 검색, LWJGL을 사용합니다.그것은 C 호출을 감싸는 얇은 래퍼 (wrapper)이기 때문에 더 높은 수준의 추상화를 제공하지 않습니다 (하지만 OpenGL 객체를 만들려고 시도 할 때 평범한 일을하지 않을 것임을 의미합니다). LWJGL은 (심지어 수학을 위해서) 많은 것을 제공하지 않으므로 복잡한 라이브러리를 얻기 위해 (또는 최후의 수단으로) 수학 라이브러리를 얻을 필요가 있습니다.

3

현대적인 OpenGL 프로그래밍에 대한 두리안 소프트웨어에 대한 블로그 게시물이 있습니다. 이것은 C 언어이지만, GLSL로 작성된 쉐이더를 광범위하게 사용하므로 C 코드의 양이 그리 많지 않습니다.

Wikipedia에 따르면 Java에 대한 GLSL 바인딩이 있으므로 여기를 살펴보아야 할 수도 있습니다.

은 분명히, LWJGL는 쉐이더를 지원합니다 http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Chapter-1:-The-Graphics-Pipeline.html

내가 희망이 도움이 : http://lwjgl.org/wiki/index.php?title=GLSL_Shaders_with_LWJGL

여기에 내가 이전 했나요 최초의 블로그 게시물에 대한 링크입니다!

관련 문제