나는이 질문을 SO에서 보았지만 여기서는 GFX에 중점을두고 싶습니다.
당신의 의견으로는 모든 갈망하는 GFX 프로그래머가 더 나아지기 위해 어떤 응용 프로그램 / 기능을 작성 / 변경해야한다고 생각하십니까?
“올바른 답변”이 없기 때문에 커뮤니티 위키.
LE : 실제 게임을 언급하는 것이 아니라 엔진에서 무언가를 변경하는 것 (예 : 객체를로드하는 방법), 합성기 등을 만드는 것과 같은 그래픽 기능을 말합니다.
답변
내 대답은 항상 같습니다. 전에 작성하지 않은 경우 raytracer를 작성하십시오.
최적화 구조, 수치 정밀도 및 기타 모든 종류의 문제를 처리해야하지만, 모든 해킹 및 근사를 처리 할 때 거의 수행하지 않는 방식으로 빛의 수학을 직접 사용합니다. 프로덕션 실시간 렌더러
로딩 시스템의 모든 구성 요소, 요일, 유행어, 이건 또는 앞으로의 것들을 제거하고, 마지막으로, 매체를 통과하는 빛으로 떠나게됩니다. 결국, 그래픽에는 모든 것이 있습니다.
답변
요즘에는 실용적이지는 않지만 최소한 기본적인 렌더러 큐브 일 수도있는 소프트웨어 렌더러에서 작성하는 것은 가치있는 운동입니다.
지도 다각형을 직접 변환, 투영, 클립, 심도 정렬, 래스터 화 및 텍스처 처리하는 방법을 이해하면 3D 하드웨어 및 렌더링 API가 수행하는 작업을 훨씬 더 잘 이해할 수 있습니다.
답변
코드를 렌더링하지는 않지만 BSP 컴파일러를 작성하고 순회 코드를 작성하는 것이 벡터 수학에서 훌륭한 연습이라고 생각합니다.
둘째, 지연된 렌더러입니다. 렌더링에 대한 최종 답변이 아니기 때문에 렌더링에 대한 다른 접근 방식에 대한 통찰력을 제공합니다.
답변
좋은 쉐이더 작성의 메커니즘과 기술을 배우십시오. 모든 경우에 100 %가 필요한 것은 아니지만 알아두면 유용한 기술입니다.