문제

저는 Raytracer 작성에 관한 책, 웹에서 볼 수있는 Ray Tracing의 간단하고 명확한 구현 및 소개 Ray Tracing의 온라인 리소스에 대한 권장 사항을 찾는 데 관심이 있습니다.

이상적으로는 접근 방식이 스타일의 증분 및 튜토리얼이며 기본부터 시작하여 프로그래밍 기술과 과소링 수학을 모두 설명합니다.

도움이 되었습니까?

해결책

Kevin Suffern이 시작한 것에 대한 "처음부터의 레이 추적".

Matt Pharr와 Greg Humphreys의 "물리적 기반 렌더링"은 기본 사항에 익숙해 졌을 때보다 진보 된 점수를 얻었습니다.

그리고 당신이 정말로 그것에 들어가면, 레이 추적 뉴스 아카이브는 잘 읽습니다. 또한 많은 광선 추적 애호가가 ompf2.com 포럼.

다른 팁

좋아, 나는 완벽한 답변을 찾지 못했습니다. 그 기본 사항에서 그 단계를 밟았습니다. 그러나 나는 많은 간단한 광선 트레이서와 방대한 교과서와 학업 참조에 대한 포인터를 발견했습니다.

나는이 광선 추적기를 시도하지 않았지만 흥미롭고 단순 해 보입니다.

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 포럼은 일련의 게시물을 읽어야합니다. 여기

책처럼 들립니다 "레이 추적에 대한 소개" 내가 필요로하는 것 ;-) 그리고 저자 홈페이지는 자세한 내용은 여기에 있습니다 그래픽 관련 프로그래밍.

지상에서 추적하는 광선 UP에는 다운로드 가능한 Ray Tracer 소스 코드도 포함됩니다.

미니 라이트 최소 글로벌 조명 렌더러입니다.

Smallpt C ++의 99 라인의 글로벌 조명 렌더러입니다. 변종 OpenCL에서 CPU 및 GPU에서 단일 정밀 플로트를 사용합니다.

포인터를위한 다른 포스터 덕분에

그만큼 고급 렌더링 클래스 나는 대학에서 내가 본 최고의 프로젝트를 가지고 있었다. 프로젝트가 도움이되고 강의 노트를 사용하면 웹 사이트에 있으면됩니다.

기본 아이디어는 특히 굴절과 같은 것들에 들어갈 때 광선에서 매우 미묘한 버그를 만드는 것이 정말 쉽다는 것입니다. 우주에서 많은 구체를 무작위로 만들면 정확성을 확인하거나 오류를 진단하는 것은 매우 어렵습니다.

따라서 자신의 코드에 쉽게 통합 할 수있는 파서와 많은 진단 장면 파일이 있습니다. 첫 번째 파일은 가장 쉬운 일 (원점에서 눈, 하나의 축을 내려다보고 단일 구의 구체를 바라 보는 것)이며, 모두 올바르게 렌더링 할 수 있다면 올바르게 작동하는 Raytracer가 거의 보장됩니다.

또한, Parser는 리브 형식을 사용합니다, Pixar의 표준 장면 파일 형식이며 거의 모든 모델러에서 내보낼 수 있습니다.

또한 분산 광선 및 경로 추적을 탐색하여 일부를 줄 수 있습니다. 정말 멋진 이미지.

몇 년 전 누군가가 저에게 델파이 항구를 작은 광선 트레이서 (C 코드의 200 줄 미만).

델파이에게 포팅했습니다, 아마 언젠가는 C#에 다시 포트 할 것입니다.

내가 찾은 가장 좋은 것은 다음과 같습니다.http://www.devmaster.net/articles/raytracing_series/part1.php이 튜토리얼은 조금 빨리 움직이는 경향이 있지만 많이 레이 트레이싱의 측면.

위에서 말했듯이, 당신이 얻을 수있는 최고의 책은 Matt Pharr의 물리적 기반 렌더링입니다 (www.pbrt.org를 확인). 광자 매핑과 같은 고급 제품을 포함하여 많은 알고리즘을 자세히 설명합니다. 또한 완전히 작동하는 광선 트레이서가 포함되어 있으므로 살펴볼 수 있습니다. 그것은 또한 수학 기본 사항을 다루므로 많은 책을 사고 싶지 않다면이 책을 살펴 보는 것이 좋습니다.

이 주제에 대한 고전적인 책보다 훨씬 낫습니다. 그들은 이론 만 설명하는 경향이 있지만 실제로 그것을 구현하는 방법은 많지 않습니다. 기본의 경우 모든 수학 서적이 수행하거나 "실시간 충돌 감지"를 시도 할 수 있으며, 이는 많은 교차로 루틴 (광선 추적에 필요)을 설명합니다.

기본에서 시작하고 싶다면 "컴퓨터 그래픽 : 원칙과 연습"을 시도해보아야합니다. 날짜가 있습니다 (일부 부분은 지금은 말도 안되는 일입니다). 그러나 기본 사항을 잘 설명합니다. 더 최근의 책을 원한다면, "컴퓨터 그래픽의 기초"를 시도해보십시오. 여기에는 같은 것이 포함되어 있지 않습니다.

마지막으로, Raytracing의 Wikipedia 페이지 실제로는 꽤 좋으며 출발점을 제공해야합니다. 외부 링크 섹션을 살펴보십시오.

이미지를 제작할 수있는 작업 코드로 가져 오는 좋은 책을 찾고 있다면 Andrew Glassner 's로 시작했습니다. 레이 추적에 대한 소개. 지금은 아마존에 갈 수 없지만 여기에 관련 링크.

우연히도, 이것은 실제로 객체 지향 디자인을 소개 한 책과 문제 영역입니다. 소년, 얼마 전까지 ....

거기에서 나는 Pete Shirley의 책으로 넘어가는 것이 좋습니다. Wikipedia 참고 문헌 암시하는 것 같습니다. 실제로, 더 나은 제안은 그의 광선 추적 수업을받는 것입니다. 그것은 나를 위해 일했다!

고도로 튜토리얼을 읽는 것이 좋습니다 https://www.scratchapixel.com/ 그들은 시간이 걸리며 물리와 수학의 배후를 설명 할뿐만 아니라 훌륭한 코드 예제를 제공합니다!

나는 Java에서 쓴 내 자신의 Ray Tracer를 구현할 때 많은 튜토리얼을 사용했습니다. https://github.com/bradforj287/brads-java-raytracer

이 사용자는 Ray Tracing에 대한 흥미로운 튜토리얼이 있습니다.이 자습서는 C#을 사용합니다.

http://www.codeproject.com/script/articles/memberarticles.aspx?amid=3589667

나는 더 나은 튜토리얼이있을 것이라고 확신하지만 이것은 관심이있을 수 있습니다.

Povray를 본 적이 있습니까? IMHO 광선 추적을 이해하는 것은 아주 좋은 출발점입니다 (http://www.povray.org/)

이것은 Raytracing의 일반적인 아이디어를 이해하고 시각화하는 데 유용 할 수있는 도구입니다. 광선 시뮬레이터

내가 가르치는 그래픽 코스를 위해 구축 한 시뮬레이터입니다. 3D 장면을 2D 이미지로 렌더링하는 대신 2D 장면을 1D 이미지로 렌더링하여 전체 알고리즘을 한 번에 시각화하여 장면의 매개 변수를 실시간으로 수정할 수 있습니다.

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