Skip to content
yoshin edited this page Dec 18, 2025 · 2 revisions

miniRT Wiki

miniRT는 C 언어로 구현된 레이 트레이싱(Ray Tracing) 렌더러입니다.

📚 문서 목차

기본 정보

  1. 프로그램 개요 - 프로젝트 소개, 지원 기능, 실행 방법
  2. 프로그램 흐름 - 전체 실행 흐름과 각 단계 설명

핵심 알고리즘

  1. 레이 트레이싱 알고리즘 - 레이 트레이싱 기본 개념 및 교차 검사
  2. 조명 그림자 시스템 - Phong 조명 모델, Soft Shadows

구현 세부사항

  1. 씬 파일 파싱 - .rt 파일 형식 및 파싱 프로세스
  2. 벡터 수학 - 벡터 연산, 내적, 외적, 정규화

🎯 빠른 시작

빌드 및 실행

# 빌드
make

# 실행
./miniRT scenes/test_simple.rt

# 정리
make fclean
make re

씬 파일 예제

A 0.2 255,255,255
C 0,0,20 0,0,-1 70
L -10,10,10 0.7 255,255,255
sp 0,0,0 5 255,0,0
pl 0,-5,0 0,1,0 200,200,200

🔍 주요 개념

레이 방정식

P(t) = O + t * D
  • O: 시작점 (origin)
  • D: 방향 (direction)
  • t: 거리 파라미터

Phong 조명 모델

I = Ia + Id + Is
  • Ia: Ambient (주변광)
  • Id: Diffuse (난반사)
  • Is: Specular (정반사)

📊 지원 기능

기하학적 객체

  • ✅ 구 (Sphere)
  • ✅ 평면 (Plane)
  • ✅ 원기둥 (Cylinder)

조명

  • ✅ Ambient Light (주변광)
  • ✅ Point Light (점광원)
  • ✅ Phong Lighting Model
  • ✅ Soft Shadows

카메라

  • ✅ 위치, 방향, FOV 설정
  • ✅ 원근 투영

🔗 관련 링크

📝 학습 가이드

초보자를 위한 학습 순서

  1. 프로그램 개요 → 전체 그림 파악
  2. 벡터 수학 → 기초 수학 개념
  3. 씬 파일 파싱 → 입력 데이터 이해
  4. 레이 트레이싱 알고리즘 → 핵심 로직
  5. 조명 그림자 시스템 → 시각적 품질
  6. 프로그램 흐름 → 전체 통합

문제 해결 가이드

렌더링 문제

레이 트레이싱 알고리즘, 프로그램 흐름

조명 문제

조명 그림자 시스템, 벡터 수학

파일 읽기 문제

씬 파일 파싱

그림자 문제

조명 그림자 시스템


최근 업데이트: 2025-12-18 | 버전: 1.2.0