외부 라이브러리 없이 순수 C++ 약 500줄로 소프트웨어 렌더러를 만들며 3D 렌더링을 단계별로 배우는 강좌입니다.
RayTracing/raytracing.github.io
C++로 레이 트레이서를 처음부터 만드는 과정을 알려 주는 무료 온라인 도서 시리즈로, 각 단계의 전체 소스 코드도 제공합니다.
- 스타
- 10,719
- 포크
- 1,016
- 열린 이슈
- 81
- 마지막 커밋
- 3개월 전
어떤 프로젝트인가요?
Ray Tracing in One Weekend는 레이 트레이서를 단계별로 작성하는 방법을 안내하는 3권짜리 시리즈입니다. 첫 번째 책에서는 핵심 파이프라인을 다루고 작동하는 렌더러를 완성하며, 두 번째 책인 The Next Week에서는 더 고급 렌더링 기능을 추가하고, 세 번째 책인 The Rest of Your Life에서는 기반이 되는 기법을 더 깊이 살펴봅니다.
저장소에는 책이 HTML 페이지로 제공되어 웹에서 무료로 읽을 수 있으며, 인쇄용 PDF도 있습니다. 각 책의 최종 소스 코드와 본문에 사용된 이미지 및 그림도 포함되어 있어, 독자는 자신의 구현을 참고 구현과 비교할 수 있습니다. 코드는 최적의 성능보다 폭넓은 가독성을 우선하는 의도적으로 단순한 스타일의 C++11로 작성되었습니다. CMake로 빌드하며 이미지는 PPM 형식으로 출력합니다.
소스 코드는 독립적인 튜토리얼이라기보다 학습 결과를 점검하는 보조 자료로 제공됩니다. 또한 다른 언어와 운영체제로 시리즈를 구현한 커뮤니티 프로젝트 목록도 안내합니다.
핵심 기능
- 01기초부터 고급 주제까지 다루는 무료 온라인 레이 트레이싱 도서
- 02각 책의 최종 단계에 대한 완전한 참고용 소스 코드
- 03인쇄할 수 있는 HTML 및 PDF 형식
- 04Windows, Linux, macOS에서 CMake로 빌드 가능
- 05PPM 형식으로 이미지 출력
활용 사례
- 직접 레이 트레이서를 구현하며 작동 원리 배우기
- 자신의 렌더러를 검증된 참고 구현과 비교하기
- 직접 구현해 보며 물리 기반 렌더링 개념 익히기
빠른 시작
- 1
GitHub에서 저장소를 클론합니다
- 2
프로젝트 루트에서 CMake로 빌드를 구성합니다
cmake -B build - 3
모든 타깃을 빌드합니다
cmake --build build - 4
프로그램을 실행하고 이미지를 PPM 파일로 저장합니다
build\Debug\inOneWeekend > image.ppm
사용 전 알아둘 점
- 이 저장소는 자신의 작업물과 비교하기 위한 참고용 소스 코드를 제공하며, 독립 실행형 애플리케이션은 제공하지 않습니다.
토픽
자주 묻는 질문
- raytracing.github.io은(는) 무엇인가요?
- C++로 레이 트레이서를 처음부터 만드는 과정을 알려 주는 무료 온라인 도서 시리즈로, 각 단계의 전체 소스 코드도 제공합니다. Ray Tracing in One Weekend는 레이 트레이서를 단계별로 작성하는 방법을 안내하는 3권짜리 시리즈입니다. 첫 번째 책에서는 핵심 파이프라인을 다루고 작동하는 렌더러를 완성하며, 두 번째 책인 The Next Week에서는 더 고급 렌더링 기능을 추가하고, 세 번째 책인 The Rest of Your Life에서는 기반이 되는 기법을 더 깊이 살펴봅니다.
- raytracing.github.io은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- raytracing.github.io은(는) CC0-1.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- raytracing.github.io은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. raytracing.github.io의 마지막 커밋은 2026년 8월 10일입니다.
- raytracing.github.io은(는) 어디에 사용할 수 있나요?
- 직접 레이 트레이서를 구현하며 작동 원리 배우기 자신의 렌더러를 검증된 참고 구현과 비교하기 직접 구현해 보며 물리 기반 렌더링 개념 익히기
- raytracing.github.io는 어떻게 설치하나요?
- GitHub에서 저장소를 클론합니다 프로젝트 루트에서 CMake로 빌드를 구성합니다: cmake -B build 모든 타깃을 빌드합니다: cmake --build build 프로그램을 실행하고 이미지를 PPM 파일로 저장합니다: build\Debug\inOneWeekend > image.ppm
- raytracing.github.io은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/RayTracing/raytracing.github.io
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
mmp/pbrt-v4는 《Physically Based Rendering》 4판에 수록된 C++ 기반 물리 기반 레이 트레이서입니다.
Blender는 모델링, 리깅, 애니메이션, 시뮬레이션, 렌더링, 합성, 모션 트래킹, 동영상 편집을 지원하는 무료 오픈소스 3D 제작 도구 모음입니다.
실행 가능한 코드와 삽화를 제공하는 무료 오픈소스 자료구조·알고리즘 교재로, 12개 이상의 프로그래밍 언어를 지원합니다.
Vim에서 가장 유용한 기능에 초점을 맞춰 Vim과 Vimscript를 가르치는 무료 오픈소스 책입니다.
타입 시스템, 설정, 언어 기능을 다루는 무료 오픈소스 TypeScript 요약 가이드로, 온라인과 EPUB으로 제공됩니다.