모든 그래픽 프로그래머는 무엇을 작성해야합니까?


18

나는이 질문을 SO에서 보았지만 여기서는 GFX에 중점을두고 싶습니다.

당신의 의견으로는 모든 갈망하는 GFX 프로그래머가 더 나아지기 위해 어떤 응용 프로그램 / 기능을 작성 / 변경해야한다고 생각하십니까?

"올바른 답변"이 없기 때문에 커뮤니티 위키.

LE : 실제 게임을 언급하는 것이 아니라 엔진에서 무언가를 변경하는 것 (예 : 객체를로드하는 방법), 합성기 등을 만드는 것과 같은 그래픽 기능을 말합니다.


2
이 질문과 유사합니다 : gamedev.stackexchange.com/questions/854/…
Bryan Denny

답변:


22

내 대답은 항상 같습니다. 전에 작성하지 않은 경우 raytracer를 작성하십시오.

최적화 구조, 수치 정밀도 및 기타 모든 종류의 문제를 처리해야하지만, 모든 해킹 및 근사를 처리 할 때 거의 수행하지 않는 방식으로 빛의 수학을 직접 사용합니다. 프로덕션 실시간 렌더러

로딩 시스템의 모든 구성 요소, 요일, 유행어, 이건 또는 앞으로의 것들을 제거하고, 마지막으로, 매체를 통과하는 빛으로 떠나게됩니다. 결국, 그래픽에는 모든 것이 있습니다.


흥미롭게도, 매우 훌륭한 수학 연습 인 레이트 레이서도 제안하고있었습니다. 나는 요주의 유행어가 연기되는 것에 동의하지 않습니다. 레이 트레이싱과 같이 렌더링에 접근하는 방식이 상당히 바뀌 었습니다. 그래픽 프로그래머에게는 알고 있어야 할 것 같습니다.
Kaj

나는 많은 사람들이 레이트 레이서를 사용하지 않는 단계 인 임의의 메쉬를 다루는 것만 큼 최적화가 중요하지 않다고 말합니다.
Jonathan Fischoff

나는이 제안을 두 번째 (세 번째?)로 언급했다. (언급 한 바와 같이) 메시를 지원해야한다는 경고에주의를 기울여야한다. 글로벌 일루미네이션 시도시 보너스 포인트. 실제로 사용 가능한 것으로 크게 최적화하지 않더라도 느린 비트와 그 이유를 이해하려고 노력해야합니다.
JasonD

이 제안에 대한 하나의 경고-매체를 통한 가벼운 이동은 그래픽에 대한 모든 것이지만 실제 (현재) 프로덕션 환경에서 필요한 것에 대한 교육은 거의 제공하지 않습니다.
Kaj

1
+1 레이 트레이서 작성은 내가 대학 그래픽 수업에서 배운 가장 유용한 것
Bryan Denny

7

요즘에는 실용적이지는 않지만 최소한 기본적인 렌더러 큐브 일 수도있는 소프트웨어 렌더러에서 작성하는 것은 가치있는 운동입니다.

지도 다각형을 직접 변환, 투영, 클립, 심도 정렬, 래스터 화 및 텍스처 처리하는 방법을 이해하면 3D 하드웨어 및 렌더링 API가 수행하는 작업을 훨씬 더 잘 이해할 수 있습니다.


이 정도. 이것을 막고 알파 지원 스프라이트 블 리터. 또는 비트 값으로 픽셀을 조작하는 ANYTHING 이상.
Lassi Kinnunen

6

코드를 렌더링하지는 않지만 BSP 컴파일러를 작성하고 순회 코드를 작성하는 것이 벡터 수학에서 훌륭한 연습이라고 생각합니다.
둘째, 지연된 렌더러입니다. 렌더링에 대한 최종 답변이 아니기 때문에 렌더링에 대한 다른 접근 방식에 대한 통찰력을 제공합니다.


2

좋은 쉐이더 작성의 메커니즘과 기술을 배우십시오. 모든 경우에 100 %가 필요한 것은 아니지만 알아두면 유용한 기술입니다.


귀하의 답변에 동의하지만 너무 광범위하며 일부 리소스 및 링크는 완전한 답변을 위해 아프지 않습니다 :).
lukas.pukenis 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.