강좌를 보기 전에...
Cygwin 설치방법
REYES
Shader 강좌 1
Shader 강좌 2
Shader 강좌 3
Shader 강좌 4
Shader 강좌 5
Shader 강좌 6
Shader 강좌 7
Shader 강좌 8
안녕하세요. 김대현입니다.

오늘부터 렌더맨 쉐이더에 관해 얘기해 볼까 합니다.

그전에 효과적인 진행을 위해 리눅스 명령으로 튜토리얼을 셋팅할 예정입니다.

cygwin이라는 프로그램을 통해 거의 완벽하게 윈도우즈 상에 리눅스 콘솔 환경을 만드실 수 있습니다.

윈도우즈 명령프롬프트로 할 수 있는 영역이 극히 제한적이고 불편합니다.

cygwin을 통해 윈도우즈의 부족한 콘솔을 보충하고, 멀티 부트를 하지 않고도 리눅스를 공부해 볼 수 있습니다.

자~ 그럼 우선 윈도우즈에서 리눅스 명령을 사용하기 위해서 cygwin을 설치해 봅시다.

1. http://www.cygwin.com/ 에서 setup.exe를 받습니다.

2. 거의 디폴트 상태로 next들 눌러 설치합니다.

3. cygwin.bat 화일에 대한 링크가 바탕에 생겼을 겁니다.

4. 실행하면 콘솔이 뜹니다.

5. c:\cygwin에 설치되었다고 가정하고 시작하겠습니다.

6. 탬색기에서 "c:\cgywin\home\사용자이름" 폴더로 이동합니다.

7. 노트패드등으로 코드를 작성하고 이 폴더에 저장한다음 cygwin 콘솔 상에서 명령을 실행할 예정입니다.

8. 우선 간단한 rib 파일 하나를 수동으로 만들어 볼까요 ?

test.rib ( 소스 1 )
-------------------------------------------------------------------

Display "XXXX.tiff" "file" "rgb"
Format 320 240 1
Projection "perspective" "fov" [45]

LightSource "spotlight" 2 "from" [-1 1 0] "to" [0 0 3] "intensity" [3]

Translate 0 0 3


WorldBegin
        Color [1 0 0]
        Surface "XXXX"
        Sphere 1 -1 1 360
WorldEnd

-------------------------------------------------------------------




9. 위와 같은 내용으로 만드신 다음 test.rib란 이름으로 저장합니다.

10. 다음은 간단히 한 큐에 모든 과정을 진행하기 위해 Makefile을 만들겠습니다.

11. 무엇이 쓰이는 것인지 모르시더라도 우선 작성해 주세요.

Makefile ( 소스 2 )
-------------------------------------------------------------------

RENDER=prman
SLCOMPILER=shader
SLEXT=slo

SHADERNAME=first

${SHADERNAME}.tiff : ${SHADERNAME}.${SLEXT} test.rib
cat test.rib | sed s/XXXX/${SHADERNAME}/g | ${RENDER}

${SHADERNAME}.${SLEXT} : ${SHADERNAME}.sl
${SLCOMPILER} ${SHADERNAME}.sl

clean :
rm -f ${SHADERNAME}.tiff ${SHADERNAME}.${SLEXT}

-------------------------------------------------------------------


12. Makefile이란 이름으로 위 내용을 만들어 저장합니다.

13. 이젠 간단한 쉐이더 코드 하나를 만들어서 우선 여기까지 한 내용을 테스트해 보죠.

first.sl ( 소스 3 )
-------------------------------------------------------------------

surface first()
{
        Oi = Os;
        Ci = Cs * Oi;
}


-------------------------------------------------------------------

14. 이젠 콘솔에서 make 라고 치고 엔터를 누릅니다.

15. 그럼 다음과 비슷한 결과가 나올겁니다.

-------------------------------------------------------------------
$ make
shader first.sl
first: compiled.
cat test.rib | sed s/XXXX/first/g | prman
-------------------------------------------------------------------


16. ls 명령으로 화일 목록을 확인해 보시거나 탐색기에 보시면 first.tiff와 first.slo가 생성된 것을 보실 수 있을 겁니다.

Pasted Graphic


17. 와우~ 무슨 내용인지는 모르겠지만 우리가 이미지를 만들어 냈습니다.

18. 이젠 Makefile 내에 SHADERNAME=first에서 새로운 쉐이더 파일을 다시 작성하고, 바뀐 쉐이더 이름으로 SHADERNAME을 변경하고 make 명령을 내리시면 새로운 쉐이더가 적용된 이미지를 얻으실 수 있을 겁니다.

19. 오늘은 여기까지입니다. 내일은 쉐이더를 왜 작성해야 하는지 생각해 보죠.


예제 소스 : shader_1.zip