[Language-Agnostic] 레이 트레이서 작성을위한 문학 및 튜토리얼


Answers

좋아, 나는 완벽한 답변을 찾지 못했다. 나는 많은 간단한 광선 추적기를 발견했으며 방대한 교과서와 학문적 참고 문헌을 가리키고있다.

나는이 광선 추적기를 사용하지 않았지만 재미 있고 단순 해 보인다.

http://www.barakcohen.co.il/2008/10/ray-tracing-simple-java-open-source.html

http://blogs.msdn.com/lukeh/archive/2007/04/03/a-ray-tracer-in-c-3-0.aspx

http://www.ffconsultancy.com/languages/ray_tracer/

ACM Cross Roads 학생 잡지에서

http://www.acm.org/crossroads/xrds3-4/raytracing.html

이 C ++의 코드는 적어도 짧습니다. 속도가 간소화되었다.

http://ompf.org/ray/sphereflake/

박사 과정 레이 트레이싱의 일부 측면에 대한 논문이 여기에 있습니다.

DevMaster에 대한 일련의 기사가 있습니다.

OMPF 공개 토론은 여기 에서 찾아 낼 수있는 일련의 포스트를 읽어야한다

"Ray Tracing 소개" 라는 책이 필자가 필요로 하는 것처럼 들리지만, 필자 홈 페이지는 더 많은 그래픽 관련 프로그래밍을 위해 여기에 있습니다 .

레이 트레이싱 에는 다운로드 가능한 레이 트레이서 소스 코드도 포함됩니다.

MiniLight 는 최소한의 전역 조명 렌더러입니다.

SmallPT 는 99 행의 C ++에서 전역 조명 렌더러로 OpenCL의 CPU 및 GPU에서 단 정밀도 부동 소수점을 사용하는 변형 입니다.

다른 포스터의 포인터 덕분에

Question

raytracer 작성에 대한 권장 사항, 웹에서 볼 수있는 광선 추적의 간단하고 명확한 구현 및 소개 광선 추적에 대한 온라인 자료를 찾는 데 관심이 있습니다.

이상적으로 접근 방식은 점진적으로 스타일을 변경하고 튜토리얼을 작성하고 프로그래밍 기술과 기본 수학에서 벗어나 수학을 설명합니다.







위에서 말했듯이, 당신이 얻을 수있는 가장 좋은 책은 Matt Pharr의 Physically based Rendering입니다 (www.pbrt.org에서 확인하십시오). 광자 매핑과 같은 고급 기능을 포함하여 많은 알고리즘을 아주 자세하게 설명합니다. 또한, 그것은 완벽하게 작동하는 레이 트레이서를 포함하므로, 당신은 그것을 살펴볼 수 있습니다. 또한 수학 기초를 다루므로 많은 책을 사고 싶지 않다면이 책을 살펴 보는 것이 좋습니다.

이 주제에 대한 고전 서적보다 훨씬 낫습니다. 이론을 설명하는 경향이 있기 때문에 실제로 그것을 구현하는 방법이 아닙니다. 기본으로 모든 수학 서적에서이를 수행 할 수도 있고 "실시간 충돌 감지"를 시도 할 수도 있습니다. 또한 광선 추적에서 필요한 많은 교차 루틴을 설명합니다.

정말로 기초에서 시작하고 싶다면 "컴퓨터 그래픽 : 원리와 실습"을 해봐야한다. (일부 부분은 지금 말도 안되는 부분이다.)하지만 기초를 잘 설명하고있다. 더 최근의 책을 원한다면 "컴퓨터 그래픽의 기본"을 시도해보십시오. 상세한 내용은 아닙니다. (당신을 시작하기에 충분해야합니다.)

마지막으로, 레이 트레이싱에 관한 위키디아 페이지 는 사실 꽤 좋으며 몇 가지 출발점을 제시해야합니다. 외부 링크 섹션을 살펴보십시오.




포 브레이 봤어? IMHO 그것은 광선 추적 ( http://www.povray.org/ )을 이해하는 아주 좋은 출발점입니다.







Links