OpenGL 1. *와 2. *의 차이점을 보여주는 좋은 자습서가 있습니까?
glBegin ()과 같이 호출 해서는 안되는 함수를 아는 것이 도움이 될 것 입니다.
OpenGL 1. *와 2. *의 차이점을 보여주는 좋은 자습서가 있습니까?
glBegin ()과 같이 호출 해서는 안되는 함수를 아는 것이 도움이 될 것 입니다.
답변:
OpenGL.org은 시작 페이지가 다양한 튜토리얼에 대한 링크 듬뿍, 개요를 가지고있다.
간단히 말해 OpenGL 2.0은 고정 기능 (1.x)과 완전 프로그래밍 가능 (2.x +) 환경 사이에 있습니다. 셰이더를 추가하면서 OpenGL 1.x의 모든 기능을 계속 사용할 수 있습니다. 앞으로 (3.x +), 모든 종류의 오래된 고정 기능 시스템은 더 이상 사용되지 않기 때문에 두 세계를 혼합하는 대신 깨끗하게 시작하는 것이 좋습니다.
나는 이것이 이전에 요청되지 않은 것에 놀랐습니다. 또는 적어도 빠른 검색에서 찾을 수 없었습니다.
OpenGL은 버전에 의해 대형입니다 하지 Direct3D의 버전처럼. 이전 코드는 여전히 새 버전에서 작동합니다 (한 가지 예외). 따라서 OpenGL v1.4는 OpenGL 2.1에서 제대로 작동합니다. OpenGL 버전은 빼기가 아닌 추가입니다.
OpenGL 2.0 및 2.1은 OpenGL 쉐이딩 언어로 셰이더를 추가합니다. 또한 부동 소수점 텍스처, 2의 제곱이 아닌 텍스처 등과 같은 다른 기능도 추가합니다. 전체 목록은 OpenGL 2.1 사양 자체 에서 사용할 수 있습니다. "버전"섹션을보십시오. 이전 버전에서 변경된 내용을 알려줍니다.
API 변경 규칙에 대한 유일한 예외는 OpenGL 3.1 (예, 3.0이 아닌 3.1)입니다. OpenGL 3.0에서는 많은 API가 "더 이상 사용되지 않음"으로 지정되었습니다. 이는 OpenGL 담당위원회 인 ARB가 이후 버전에서 이러한 기능을 제거 할 수 있음을 의미합니다. 이 제거는 OpenGL 3.1에서 발생했습니다. 3.0 사양에는 더 이상 사용되지 않는 항목이 포함되어 있으며 3.1 사양은 그에 따라 잘립니다.
신경 쓸 필요는 없습니다 (적어도 Windows와 Linux에서는 MacOSX가 다릅니다). 이전에 제거 된 모든 기능이 반환되는 " 호환성 "모드 에서 제대로 실행할 수 있습니다 . OpenGL의 구현은 호환성 컨텍스트를 지원할 필요는 없습니다 (그리고 Mac OS X Lion은 지원하지 않습니다. 요청에 따라 2.1 또는 3.2 코어를 지원합니다). 구형 응용 프로그램과의 하위 호환성을 위해.
OpenGL 1.x 및 2.x에 대한 자습서가 있다고 생각하지만 기능이나 사용 편의성 등이 어떻게 다른지 보여주는 자습서는 없을 것입니다.
특정 OpenGL 버전에 대한 자습서를 검색하고 유사한 자습서를 찾아서 직접 비교하는 것이 가장 좋습니다.