Parser - miniRT-jiphyeonjeon/MiniRT GitHub Wiki
- ์ธ์๊ฐ - ํ์ฅ์๋ช
.rt ์ฒดํฌ
./minirt cjang.rt (o)
./minirt test1.rt test2.rt (x)
./minirt (x)
./minirt cjang (x)
- open - fd ์ฒดํฌ
./minirt cjang.rt (o)
./minirt cjam.rt (x)
- gnl - openํ ๊ฒฐ๊ณผ๊ฐ์ธ fd๊ฐ์ ์ด์ฉํ์ฌ get_next_line์ผ๋ก read๋ฅผ ์ด์ฉํ์ฌ ํ ์ค์ฉ ์ฝ์
- split - ๊ฐํ๋ฌธ์๋ฅผ ์ ์ธํ white space๋ฅผ ๊ธฐ์ค์ผ๋ก splitํ๋ค.
- ๋ํ ํ์ - splitํ ๋ฌธ์์ด์ ๋งจ ์์ ๊ฐ์ด ํด๋นํ๋ ๋ํ์ ๋ฌธ์์ด์ธ์ง ์๋์ง ์ฒดํฌ
- ์ ๋ณด ๊ฐ์ - ๋ํ ํ์ ๊ณผ ๋ค์ด์์ผ ํ ์ ๋ณด ๊ฐ์๊ฐ ์ ํจํ์ง ์ฒดํฌ
A 0.2 255,255,255 (o)
C -2,2,1 -1,1,1 90 (o)
L 0,20,0 0.6 255,255,255 (o)
sp 0,-100.5,-1 200 204,204,0 (o)
cy 1,-0.5,-1 0,1,0 1 1 204,153,51 (o)
pl 0,0,-5 0,0,1 30,127,30 (o)
# ๋ํ ํ์
0.2 255,255,255 (x)
PL 0,0,-5 0,0,1 30,127,30 (x)
B -2,2,1 -1,1,1 90 (x)
# ์ ๋ณด ๊ฐ์
pl 0,0,-5 0,0,1 1 1 30,127,30 (x)
pl 1,2,3 (x)
pl 1, 2, 3 0, 0, 1 30,127,30 (x)
pl 1 , 2 , 3 0,0,1 30,127,30 (x)
- vector(x,y,z)๊ฐ - ์ผํ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ฑ. ์ด ๋, split์ด ์๋๋ผ strsep์ ์ด์ฉํ์ฌ ์ผํ๋ฅผ ๊ตฌ๋ถํ๋ค.
pl 0,0,-5 0,0,1 30,127,30 (o)
pl 0a,0,-5 0,0,1 30,127,30 (x)
pl 0a,0,-5 0,0,1 30,,127,30 (x)
pl 0a,0,-5 0,0,1 30,127,30, (x)
pl 0,0,-5 0,0 bb,127,30 (x)
sp 0,-100.5,-1 2. 204,204,0 (o)
sp 0,-100.5,-1 2.. 204,204,0 (x)
- ๊ฐ ๋ฒ์ - ๊ณผ์ ์ ๋์์๋ ๊ธฐ์ค๊ฐ ์ด๋ด์ธ์ง ์ฒดํฌ
๋ค๋ง, FOV์์๋ 180 ๋ฏธ๋ง์ผ๋ก ์ฒ๋ฆฌํ์๋ค. 180๋๊ฐ ๋ ๊ฒฝ์ฐ ํ๋ฉด์ ์์ญ๊ณผ ํ๊ฐ์ด ์๋ก ํํํ๊ธฐ ๋๋ฌธ์ ์ด๋ก ์ ํ๋ฉด์ด ๊ทธ๋ ค์ง์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
# [x,y,z point] [normalized vector] [ratio] [diameter] [height] [FOV] [RGB]
A [0-1] [0-255],[0-255],[0-255] (o)
C [none],[none],[none] [-1~1],[-1~1],[-1~1] [0-180) (o)
L [none],[none],[none] [0-1] [0-255],[0-255],[0-255] (o)
sp [none],[none],[none] [0-] [0-255],[0-255],[0-255] (o)
cy [none],[none],[none] [-1~1],[-1~1],[-1~1] [0-] [0-] [0-255],[0-255],[0-255] (o)
pl [none],[none],[none] [-1~1],[-1~1],[-1~1] [0-255],[0-255],[0-255] (o)
# ์ด์ธ๋ x
- ๊ฐ - ํ์ํ ๊ฐ์ ๋ง๊ฒ ์ ์
[normalized vector] ๋ฒกํฐ์ ๊ธธ์ด๋ฅผ 1๋ก ์ฌ์ค์ .
[diameter] diameter / 2
[RGB] [0-255],[0-255],[0-255] -> [0-1],[0-1],[0-1]
open์์ ์คํ์ด ๋์ง๋ง, get_next_line ๋ด๋ถ์ readํจ์์์ ์ฝ์ง ๋ชปํ๋ค. ์ด ๋ถ๋ถ์์ ์์ธ์ฒ๋ฆฌ๋ฅผ ํ์ฌ ์๋ชป ์ฝ์์์ ์๋ฌ๋ก ์ถ๋ ฅํ๋ค.