저는 현재 컴퓨터 공학을 위해 대학에 가고 있습니다. 작은 게임을 만들기 위해 어느 시점에서 기존 엔진을 활용할 계획이지만 지금은 3D 프로그래밍과 같은 기본 사항을 배우는 것이 목표입니다. 나는 이미 DirectX와 OpenGL 사이의 선택에 관해 약간의 연구를 해왔으며, 그에 대한 일반적인 감정은 OpenGL 또는 DirectX를 교육용 휠 플랫폼으로 선택하든 많은 지식을 다른 플랫폼으로 전송할 수 있다는 것입니다. . 따라서 OpenGL은 더 많은 시스템에서 지원되므로 (아마 배울 내용을 선택해야하는 어리석은 이유) OpenGL을 먼저 배우겠다고 결심했습니다.
OpenGL을 배우기로 결심 한 후, 나는 좀 더 많은 연구를 해왔고, 고정 함수 OpenGL과 최신 프로그래머블 쉐이더 기반 OpenGL에 대해 전혀 모르는 이분법에 대해 알아 냈습니다. 처음에는 오늘날 업계에서 가장 일반적으로 사용되는 셰이더 기반 OpenGL을 배우는 것이 분명한 선택이라고 생각했습니다. 그러나 저는 Jason L. McKesson의 인기있는 Learning Modern 3D Graphics Programming 을 발견했습니다. http://www.arcsynthesis.org/gltut/
소개 부분을 읽었으며 "이 책에 대하여"절에서 저자는 다음과 같이 말합니다.
"먼저 사용자가 프로그래밍 기능으로 해결해야하는 그래픽 문제에 직면 할 때이 접근 방식으로 배운 내용을 피해야합니다. 프로그래밍 기능은 거의 모든 고정 기능 파이프 라인을 제거하므로 지식이 쉽게 전달되지 않습니다."
그러나 동시에 고정 기능이 초보자에게 더 쉽고 즉각적인 학습 곡선을 제공한다고 주장합니다.
"고정 함수 파이프 라인을 사용하여 네오 피트 그래픽 프로그래머를 가르치는 것이 일반적으로 가장 쉬운 것으로 간주됩니다."
당연히 어떤 패러다임을 배워야하는지에 대해 왜 충돌하는지 알 수 있습니다. 고정 기능의 방법을 배우고 나중에 배우지 못하는 데 많은 시간을 소비합니까, 아니면 셰이더로 시작하기로 선택합니까? 저의 주요 관심사는 현대 프로그래머블 쉐이더가 프로그래머가 이미 고정 기능 파이프 라인을 이해하도록 요구한다는 것입니다.
TL; DR = 주목할만한 게임 그래픽 프로그래머로서, 고정 기능 또는 최신 셰이더 기반 프로그래밍을 통해 3D 프로그래밍을 배우는 것이 가장 중요합니까?