miniRT
42Cursus RayTracing Subject
레이트레이싱을 활용하여 다양한 도형을 시각화하는 프로그램입니다.
MAC OS 환경에서 구동됩니다. prerequisite
ex) ./miniRT ./scene/test.rt Usage
프로그램은 첫번째 인자로 장면.rt 파일을 받습니다.
make 명령어를 입력하면 빌드가 완료되며 실행파일인 miniRT가 생성됩니다.
.rt에는 창과 렌더링 된 이미지의 size가 포함됩니다.
miniRT 실행파일은 아무 양의 정수인 size로 렌더링 할 수 있습니다.
RT file format
- 각 타입은 1개 이상의 \n(뉴라인)으로 구분할 수 있습니다.
- 각 정보 타입은 하나 이상의 ‘ ‘(공백)으로 분리 할 수 있습니다.
- 대문자로 정의 된 요소는 장면에서 한 번만 선언 할 수 있습니다.
- 각 요소의 첫 번째 정보는 type identifier(1 ~ 2 개의 문자로 구성됨)와 그에 따르는 각 개체에 대한 모든 구체적인 정보가 순서에 맞게 적혀있습니다.
아래는 유형 식별자(R,A,c,l,sp,pl,sq,cy,tr)와 그에 따라 각 함수에서 파싱되어야 할 요소들 입니다.
-
R 해상도
x
y -
A 주변광
밝기 [0.0 ~ 1.0]
색 R,G,B [0 ~ 255] -
c 카메라
시각 view point x,y,z
3d normalized orientation vector [-1 ~ 1] x,y,z
화각 FOV [0 ~ 180] -
l 스포트라이트
좌표 x,y,z
밝기 [0.0 ~ 1.0]
색 R,G,B [0 ~ 255] -
sp 구
구의 중심점 좌표 x,y,z
지름
색 R,G,B [0 ~ 255] -
pl 평면
좌표 x,y,z
3d normalized orientation vector [-1 ~ 1] x,y,z
색 R,G,B [0 ~ 255] -
sq 사각형
사각형의 중심점 좌표 x,y,z
3d normalized orientation vector [-1 ~ 1] x,y,z
변의 길이
색 R,G,B [0 ~ 255] -
cy 원기둥
좌표 x,y,z
3d normalized orientation vector [-1 ~ 1] x,y,z
원기둥 지름
원기둥 높이
색 R,G,B [0 ~ 255] -
tr 삼각형
꼭지점 1의 좌표 x,y,z
꼭지점 2의 좌표 x,y,z
꼭지점 3의 좌표 x,y,z
색 R,G,B [0 ~ 255]