문제

나는 많은 최고의 대학들이 학생들이 CS 전공의 컴퓨터 그래픽과 관련된 과목을 가르치는 과정을 제공하고 있음을 알았습니다. 안타깝게도 이것은 내 대학에서 제공하지 않은 것이며 앞으로 몇 년 안에 언젠가는 정말로 가고 싶은 것입니다.

내가 일부 대학에서 찾은 몇 가지 프로젝트는 훌륭하지만, 나는 주로 두 가지에 관심이 있습니다.

  • 광선 추적:
    • 앞으로 2 년 안에 Raytracer를 쓰고 싶습니다. 무엇을 알아야합니까? 나는 아직 환상적인 프로그래머가 아닙니다 (Java, C 및 Prolog는 오늘날의 주요 언어입니다). 그러나 저는 매일 천천히 배우고 있습니다. 또한, 내 수학 배경은 그다지 좋지 않기 때문에 책을 읽거나 그러한 프로그램을 작성하는 것에 대한 조언에 대한 포인터는 환상적 일 것입니다. 나는이 물건들을 꽤 빨리 선택하는 경향이 있으므로 나에게 척하는 참조를 자유롭게 느끼십시오.
  • 프로그래밍 3D 렌더링 된 모델
    • 나는 학생들이 모델을 개발하고 게임에 사용한 몇 가지 프로젝트를 살펴 보았습니다. 래스터 이미지로 몇 가지 2D 게임을 만들었지 만 3D 모델과 함께 작동하지 않았습니다. 이 모델을 프로그래밍하는 데있어 무엇을 배워야합니까? 그것이 3D Studio Max와 Cinema4D로 괜찮은 도움이된다면 (모든 단일 코스는 Maya를 사용하는 것처럼 보이지만) 약 4 년 동안 접촉하지 않았습니다.

그런 모호한 글을 게시해서 죄송합니다. 정직하고 어리석은 질문을합시다. 그것은 내가 한동안하고 싶었던 일이며, 제 시간에 발전 할 수있는 큰 프로젝트로서 좋은 일입니다.

관련 질문

도움이 되었습니까?

해결책

그 책 "컴퓨터 그래픽 : 원리와 연습" (컴퓨터 그래픽 서클에서 "Foley-Vandam"으로 알려진)는 대부분의 컴퓨터 그래픽 코스의 기본이며, Ray-Tracer를 훨씬 자세히 구현하는 주제를 다룹니다. 그것은 꽤 날짜가 있지만, 여전히 최고이며, 기본 원칙은 동일하게 유지됩니다.

나는 또한 두 번째 권장 사항입니다 3D 게임 프로그래밍 및 컴퓨터 그래픽을위한 Eric Lengyel의 수학. 철저하지는 않지만 3D 프로그래밍에 필요한 수학 기본 사항에 대한 훌륭한 검토입니다. 각 장의 끝에 매우 유용한 요약이 있으며, 너무 무서운 방식으로 접근하기 쉽지 않습니다.

또한 OpenGL 또는 DirectX 기본 사항을 원할 것입니다. 3D API로 작업을 시작한 다음 반대보다 기본 수학을 배우는 것이 더 쉽지만 (내 의견으로는) 두 옵션이 모두 가능합니다. OpenGL을 찾아 보면 몇 가지 좋은 참조도 찾아야합니다.

다른 팁

추천 할 수 있습니다 PBRT, 그것은 컴퓨터 과학 졸업생들을 가르치는 데 사용되는 책과 물리적으로 기반 렌더러입니다. 사용 된 수학에 대한 설명은 훌륭하고 명확하며 '문맹 프로그래밍'으로 작성되었으므로 적절한 코드 (C ++)도 볼 수 있습니다.

그만큼 2000 ICFP 프로그래밍 콘테스트 참가자들에게 3 일 만에 레이 트레이서를 만들도록 요청했습니다. 그들은 간단한 레이 트레이서에 대한 좋은 사양을 가지고 있으며, 우승 항목과 다른 항목에 대한 코드도 얻을 수 있습니다. 다수의 다른 프로그래밍 언어에 항목이있었습니다. 이것은 당신이 시작하기에 좋은 방법 일 것입니다.

내가 줄 수있는 가장 짧은 유용한 답변은 대부분의 중요한 알고리즘을 찾을 수 있다는 것입니다. 실시간 렌더링 Tomas Akenine-Möller, Eric Haines 및 Naty Hoffman, 그리고 결국 참고 문헌은 필요한 수학에 대한 언급을 가지고 있습니다. 그들의 웹 사이트에는 권장되는 읽기 목록도 있습니다.

제가 주제에 대해 읽은 가장 유용한 수학 책은 Eric Lengyel 's입니다. 3D 게임 프로그래밍 및 컴퓨터 그래픽을위한 수학. 가장 필요한 수학은 기하학 (명백히)과 선형 대수 (모든 행렬을 다루기위한)입니다.

나는 작년에 그러한 수업을 들었고, 수업은 컴퓨터가 원하는대로하는 명령뿐만 아니라 컴퓨터 그래픽 뒤에있는 수학을 배우도록 강요하는 것이 훌륭하다고 생각합니다.

제 교수는 사이트가 있습니다 여기 그리고 그의 강의 노트와 문제 세트가 있습니다.

우리의 마지막 프로젝트는 실제로 Raytracer 였지만 일단 당신이 그 뒤에있는 수학을 알면 코딩 (비효율적 인 것)은 사소합니다.

이 주제에 대한 수학적 소개는 참조하십시오

http://graphics.idav.ucdavis.edu/education/graphicsnotes/homepage.html

확인하다 http://www.scratchapixel.com/lessons/3d-basic-lessons/lesson-1-writing-a-simple-raytracer/

이곳은 일반적으로 레이 추적 및 렌더링에 대해 배울 수있는 아주 좋은 곳입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top