2011년 11월 29일 화요일

[포프의 쉐이더 입문강좌] 01. 쉐이더란 무엇이죠? Part 1

새 블로그로 옮겼습니다

댓글 25개:

  1. 잘봤어용.. 수고 하셨어용

    답글삭제
  2. 포프님, 감사드립니다.

    답글삭제
  3. 그래픽을 공부하고 있으면서도 Vertex와 Pixel을 같은 개념으로 생각하게되네요. -_-;
    그러니깐, Vetrex는 폴리곤을 구성하는 각 꼭지점이고, Pixel은 이 Vertex로 만들어지는 폴리곤을 구성하는 점인건가요?
    Vetrex Shader가 폴리곤을 구성해서 지오메트리를 만들어내면, Pixel Shader가 각 Vertex의 RGB값으로 인터폴레이션을 거쳐 색을 표현. 맞나요?

    답글삭제
  4. @Cootang2님.. "Vetrex는 폴리곤을 구성하는 각 꼭지점이고, Pixel은 이 Vertex로 만들어지는 폴리곤을 구성하는 점인건가요?" -> 이건 맞아요.. 그냥 화면에 보이는 점 하나하나를 픽셀로 생각하세요.. 바탕화면 해상도가 1920 x 1080이라면 가로로 1920의 픽셀이 세로로 1080 개의 픽셀이 있다.. 이렇게요.. 삼각형을 화면에 그릴때 그 삼각형이 화면에서 차지하는 영역에 색을 그려줘야 하니까 각 픽셀별로 색을 입혀준다~ 정도.

    "Pixel Shader가 각 Vertex의 RGB값으로 인터폴레이션을 거쳐 색을 표현. 맞나요?" -> 이건 맞을 수도 아닐 수도 있어요. 요즘은 아닌 경우가 더 많아요... 버텍스에서 색을 가져와서 보간(인터폴레이션)해서 혼합하면 맞지만.. 버텍스 색에 전혀 상관없이 제맘대로 픽셀쉐이더에서 색을 찍어낼 수도 있거든요.. 요즘은 버텍스 자체의 색을 이용하지 않는 경우가 더 많아요.

    답글삭제
  5. 쉐이더 강좌를 보시는 분들께 한말씀 드리겠습니다. 이 강좌를 처음 감수를 맡게 되었을때 저는 쉐이더 프로그래밍을 전혀 할 줄 몰랐습니다. 물론 용책이나 해골책을 보고 따라해보긴 했는데 결국 수박 겉핡기라 왜 그렇게 되는지 이해도 못하고 했습니다. 그런데 이 책을 감수 하면서 렌더몽키라는 것도 알게 되고 정말 간단하게 쉐이더를 짜는 법을 알게 되었습니다. 중수 이상 되시는분들은 이글을 대충 스윽스윽 넘기면서 읽으시면 되지만 정말 처음 쉐이더를 접하시는분들께서는 정독하시고 꼭 실습을 해보시기 바랍니다. 제가 이런저런 쉐이더책을 봤는데 ( ShaderX, 일본사람이쓴 쉐이더책 등 ) 이 강좌만큼 이해를 쉽게 하진 못합니다. 이 강좌를 모두 마친 후 저 두책을 보게 되면 이해가 훨씬 빠를 것 입니다. 정말 좋은 강좌입니다. 많이많이 봐주세요. ( 이 책을 보면서 렌더링 파이프라인에 대해 잘 이해하시면 버텍스쉐이더나 픽셀쉐이더는 얼마든지 이해할 수 있다고 봅니다. )
    처음 접하시는분들께 전하는 말이 었습니다. 꼭 실습까지 해보세요.

    답글삭제
  6. 빨리 다음편 보여줘요 현기증 날 것 같단 말예요

    답글삭제
  7. 너무 좋은 글입니다!!! 그런데 감질감질...감질나요...총 몇주동안 연재되나요??

    답글삭제
  8. @ozlael 두주에 한번씩보시면 현기증 덜나요~ 매주 꾸준히 올리기위해 초보에게 적당한 분량으로 자르고 있다는~ 양해부탁

    @animaNyong 총 11강이니 한 20주 걸릴까요? 한학기 수업분량이라고 생각하셔도 ^^

    답글삭제
  9. 오옷.. 기다리고있었습니다. 열심히 따라가겠습니다.
    강의형식이면.. 과제같은 같이 시도해볼만한 꺼리도 있는건가요?! ㅎㅎ

    답글삭제
  10. @zany 과제떠윈 없고.... 무조건 따라서 해야하는 실습은 있어요....

    답글삭제
  11. 실습은 뭘로 하나요? DX 혹은 OpenGL? OpenGL은 조금 공부해봐서 따라갈수 있겠는데, DX는 아는게 하나도 없네요. -_-

    답글삭제
  12. @coontang2 렌더몽키와 DX요. 뭐 아는게 하나도 없어도 크게 문제 없으실거에요.. DX전혀 모르시던 이경배님도 쉽게 따라하셨으니....

    답글삭제
  13. 렌더 몽키란게 무료판인가요? 회사에서 쓰면 안되는건가요?

    답글삭제
  14. 넵 무료입니다. 회사에서 쓰셔도 됩니다... 책에서 해적질 하라고 할 순 없죠 ^^

    답글삭제
  15. 5년차 인데도 불구하고 쉐이더 작업해 본적이 없어 해골책 수준밖에 안됬었는데 포프님 글 보고 공부좀 해야되겠네요.
    좋은 글 감사합니다.

    답글삭제
  16. @익명: 몇년차이고 상관없이 뭐 쉐이더 만질일 없으면 모르는게당연한거죠.. 저도 그래픽 쪽만 해와서 다른쪽을 전혀 몰라요. AI라던가 이런거 나오면 그냥 GG입니다..

    즐겁게 보시고 언제라도 feedback환영입니다!

    답글삭제
  17. 와~ 오늘 구매했습니다. 잘볼께요~^^

    답글삭제
    답글
    1. 오우 감사합니다. 보시다 궁금한거 있으면 언제든 질문주세요.. ^_^/

      삭제
  18. 하.... 공부하고 있는데, 픽셀 쉐이더가 얼마나 호출되는지에 대한 개념이 없어서 해메는 중에
    하나 재대로 깨닫고 갑니다.!! 감사해요~

    답글삭제
    답글
    1. 도움이 되었다니 다행입니다! 제 책도 사세요~ 쪼옥~ (응? ㅋㅋㅋ)

      삭제
  19. 책 구입했는데요 책에 나온 주소나 amd rendermonkey toolsuit 가서도 렌더몽키다운로드 주소도 없더라구요;; 게다가 렌더몽키는 좀 나온지 매우 오래되어서 그냥 비주얼 스튜디오로 코딩을 하고싶은데 렌더몽키에 쓴 코드랑 fx파일을 비교하니 다르게 나오더라고요 어떻게 하면 되죠? 어디가면 튜토리얼을 볼수 있을까요?

    답글삭제
    답글
    1. 렌더몽키 다운로드는 여기서 받으시면 됩니다. (제가 미리 백업해둠...)

      https://1drv.ms/u/s!ArnTIqazDXx0gxnQZ0-FlSCioNnE

      삭제
    2. 작성자가 댓글을 삭제했습니다.

      삭제
  20. https://1drv.ms/u/s!ArnTIqazDXx0gxnQZ0-FlSCioNnE

    가서 해도 안되네요ㅠㅠ 책사서 지금 셰이더 개념 배웠고 슬슬 코드 짜보려고 하는 데

    답글삭제
  21. 포프님 안녕하세요 최근 HLSL 께작대면서 아주 기본적인 것부터 막힌 초보입니다.
    HLSL 코드에 아래와 같은 코드를 입력했는데,

    Texture2D srcTex : register(t0);

    이 코드는 도대체 언제 호출되는건지요?

    VS 나 PS 는 각각 HLSL파일을 바이너리화 할 때 진입점을 잡아주고, 그 진입점에서부터 코드를 실행하니 어려울게 없는데, 위 코드는 도대체 다이렉트X 코드 상에서 어느 부분에서 호출되는건지 모르겠습니다.

    답글삭제