/miniRT

42Cursus RayTracing Subject

Primary LanguageC

miniRT

42Cursus RayTracing Subject

레이트레이싱을 활용하여 다양한 도형을 시각화하는 프로그램입니다.

prerequisite

MAC OS 환경에서 구동됩니다.

Usage

ex) ./miniRT ./scene/test.rt

프로그램은 첫번째 인자로 장면.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]

Display Example image