OpenGL 1.x와 2.x의 차이점은 무엇입니까?


13

OpenGL 1. *와 2. *의 차이점을 보여주는 좋은 자습서가 있습니까?

glBegin ()과 같이 호출 해서는 안되는 함수를 아는 것이 도움이 될 것 입니다.


1
질문을 다시 말씀 드리겠습니다. 고정 함수 렌더링과 쉐이더의 차이점은 무엇입니까?
— EnabrenTane

3
그래도 완전히 다른 질문입니다.
— Jari Komppa

답변:


11

OpenGL.org은 시작 페이지가 다양한 튜토리얼에 대한 링크 듬뿍, 개요를 가지고있다.

간단히 말해 OpenGL 2.0은 고정 기능 (1.x)과 완전 프로그래밍 가능 (2.x +) 환경 사이에 있습니다. 셰이더를 추가하면서 OpenGL 1.x의 모든 기능을 계속 사용할 수 있습니다. 앞으로 (3.x +), 모든 종류의 오래된 고정 기능 시스템은 더 이상 사용되지 않기 때문에 두 세계를 혼합하는 대신 깨끗하게 시작하는 것이 좋습니다.

나는 이것이 이전에 요청되지 않은 것에 놀랐습니다. 또는 적어도 빠른 검색에서 찾을 수 없었습니다.


버전 별 자습서를 찾을 수 없습니다. (3.0 제외)
— t123

해당 페이지의 "자습서 및 사용 방법 안내서"아래에 많은 링크가 있지만 기본적으로 OpenGL 1.x와 "다른 것"중에서 선택할 수 있습니다.
— Jari Komppa

@ tm1rbrt : 유효한 모든 1.x 자습서가 계속 있기 때문에 2.1에 대한 특정 자습서를 찾을 수 없습니다. 유효한 2.1 자습서 . 3.x에서 중단되는 유일한 이유는 API가 제거 되었기 때문입니다. 2.1 시대 셰이더 기반 튜토리얼을 찾고 있다면 lighthouse3d 튜토리얼을 사용할 수 있습니다. 그러나 3.x 하드웨어는 2006 년부터 사용되어 왔으며 현재는 마더 보드 및 CPU에도 내장되어 있습니다. 따라서 미래는 2.x 세계에 있지 않습니다. 향후 자습서는 일반적으로 3.x 이상에 중점을 둘 것입니다.
— Nicol Bolas

3

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 4. *에 대해 무엇이든 추가 할 수 있습니까?
— Kromster

@Krom : 할 말이 없습니다. 1.x에서 2.x로가는 것처럼 아무것도 제거되지 않았습니다.
— Nicol Bolas

0

OpenGL 1.x 및 2.x에 대한 자습서가 있다고 생각하지만 기능이나 사용 편의성 등이 어떻게 다른지 보여주는 자습서는 없을 것입니다.

특정 OpenGL 버전에 대한 자습서를 검색하고 유사한 자습서를 찾아서 직접 비교하는 것이 가장 좋습니다.


누가 계속 내 의견을 무작위로 내리고 있습니까?
— LizardGamer

왜 downvotes가 여기에 있습니까? 큰 대답은 아니지만 downvotes? 확실하지 않다. 문제는 trully가별로 평범하지 않은 것을 원한다 ... 차이점을 보여주기위한 튜토리얼, 그것은 대부분 튜토리얼이하는 것이 아니다 ...
— Notabene

@LizardGamer 며칠 전에 gamedev.SE에 가입 한 것을 확인했습니다. "환영합니다!" 그러나 FAQ를 읽으십시오. gamedev.stackexchange.com/faq 이 답변은 당신이주고 싶지 않은 답변의 완벽한 예입니다. 질문과 답변 모두에 대해보다 구체적이고 건설적인 자세를 유지하십시오. FAQ는이 사이트의 목적과 찾고있는 콘텐츠의 종류를 이해하는 데 도움이됩니다. 행운을 빕니다!
— 증폭 91

@ notabene이 답변은 실제로 질문에 대답하지 않습니다. 그것이 제안하는 유일한 제안은 기본적으로 "답을 찾는 것"입니다. 분명히 OP는 이미 여기에 질문을함으로써 그렇게하고 있습니다.
— 증폭 91

@ Amplify91 유일하게 환영 해 주셔서 감사합니다. 이미 FAQ를 읽었습니다. 질문하지 않는 방법의 예를 찾지 못했습니다. 또한 OpenGL의 버전을 비교하는 것과 관련된 자습서를 보지
— 못했기
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.