오래된 학교 OpenGL은 여전히 지원됩니다. 현대 OpenGL을 사용하지 않아도된다. 비교적 복잡하지 않거나 특이하지 않은 것을하고 있다면 고정 함수 파이프 라인을 사용할 수있다. 고급 조명이나 이와 비슷한 것을 시작하고 싶다면 현대 OpenGL을 사용하는 것이 좋습니다.
솔직하게 말해서, 저는 오래된 학교 OpenGL과 비슷합니다. 훨씬 쉽고 훨씬 빠르게 화면에 표시 할 수 있습니다.현대 OpenGL은 믿을 수 없지만, 훨씬 복잡해지고 많은 코드가 필요하며 효과적으로 사용하기 시작하기 전에 너무 많이 알아야합니다.
물어 본 주된 차이점은 셰이더 작동 방식을 사용자 정의하는 것입니다. 셰이더는 GPU에서 실행되는 프로그램입니다. 과거에는 이러한 쉐이더가 사전 프로그래밍되어있어 작업 방법에 대한 제어권이 거의 없었기 때문에 OpenGL에서 수행 할 수있는 작업에 제한이있었습니다 (작업이 완료되었으므로 훨씬 더 일반적이고 덜 복잡했습니다). 강한). 따라서 현대 OpenGL을 사용하면 쉐이더 작동 방식을 사용자 정의 할 수 있습니다. 예를 들어 버텍스 쉐이더 (vertex shader) 란 GPU에 푸시 된 포인트를 처리하고 해당 포인트의 위치를 결정하는 쉐이더 (shader)라는 것입니다. 최신 OpenGL에서 GLSL이라는 무언가를 사용하여 이러한 쉐이더의 작동 방식을 사용자 정의 할 수 있습니다.
GLSL은 GPU에 푸시되는 C 스타일의 반 조립 언어이며 구형과 최신 OpenGL의 주요 차이점입니다.
얻을만한 책은 2.x에서 2.0 권의 책을 가져와야한다는 것입니다. 새로운 OpenGL과 같은 야구장조차도 아닙니다. 현대 OpenGL로 전송하는 일반적인 개념이 있지만 대부분은 완전히 다릅니다. Andre Lamothe의 OpenGL 게임 프로그래밍을 5 달러라고 생각해서 주문 했나요? 그것은 2.1에 매우 좋은 소개이며 코드는 Win32로 작성되었으며 Windows API가 거의 변경되지 않았기 때문에 거의 모든 코드가 거의 동일하게 작동합니다. 책은 약 12 년이지만 얼마나 잘 쓰여졌는지 보여줌) 실제로 흥미로운 프로젝트 (애니메이션 로봇, 처음 몇 분은 회전하는 큐브)가 있습니다. 어쨌든, 행운을 빈다. 힘들고 긴 길이지만, 너무 보람적입니다.
답장을 보내 주셔서 감사합니다. XP와 DX9 스타일의 호환성은 예를 들어 다음 COD가 아니기 때문에 내가 목표로했던 것입니다.) "opengl superbible"이라고하는 책을 보았습니다 만, 최신판은 OpenGL 3을 커버하는 것처럼 보입니다. 제 4 판? – user859194
네 번째 에디션이 좋을 것 같습니다. 2.1을 다루고 훌륭한 예제와 소스 코드를 가지고있는 것 같습니다. 리눅스 용 make 파일을 포함합니다. –
그래, 내가 체크 아웃 할거야. – user859194