그래픽을 공부하고 있으면서도 Vertex와 Pixel을 같은 개념으로 생각하게되네요. -_-; 그러니깐, Vetrex는 폴리곤을 구성하는 각 꼭지점이고, Pixel은 이 Vertex로 만들어지는 폴리곤을 구성하는 점인건가요? Vetrex Shader가 폴리곤을 구성해서 지오메트리를 만들어내면, Pixel Shader가 각 Vertex의 RGB값으로 인터폴레이션을 거쳐 색을 표현. 맞나요?
@Cootang2님.. "Vetrex는 폴리곤을 구성하는 각 꼭지점이고, Pixel은 이 Vertex로 만들어지는 폴리곤을 구성하는 점인건가요?" -> 이건 맞아요.. 그냥 화면에 보이는 점 하나하나를 픽셀로 생각하세요.. 바탕화면 해상도가 1920 x 1080이라면 가로로 1920의 픽셀이 세로로 1080 개의 픽셀이 있다.. 이렇게요.. 삼각형을 화면에 그릴때 그 삼각형이 화면에서 차지하는 영역에 색을 그려줘야 하니까 각 픽셀별로 색을 입혀준다~ 정도.
"Pixel Shader가 각 Vertex의 RGB값으로 인터폴레이션을 거쳐 색을 표현. 맞나요?" -> 이건 맞을 수도 아닐 수도 있어요. 요즘은 아닌 경우가 더 많아요... 버텍스에서 색을 가져와서 보간(인터폴레이션)해서 혼합하면 맞지만.. 버텍스 색에 전혀 상관없이 제맘대로 픽셀쉐이더에서 색을 찍어낼 수도 있거든요.. 요즘은 버텍스 자체의 색을 이용하지 않는 경우가 더 많아요.
쉐이더 강좌를 보시는 분들께 한말씀 드리겠습니다. 이 강좌를 처음 감수를 맡게 되었을때 저는 쉐이더 프로그래밍을 전혀 할 줄 몰랐습니다. 물론 용책이나 해골책을 보고 따라해보긴 했는데 결국 수박 겉핡기라 왜 그렇게 되는지 이해도 못하고 했습니다. 그런데 이 책을 감수 하면서 렌더몽키라는 것도 알게 되고 정말 간단하게 쉐이더를 짜는 법을 알게 되었습니다. 중수 이상 되시는분들은 이글을 대충 스윽스윽 넘기면서 읽으시면 되지만 정말 처음 쉐이더를 접하시는분들께서는 정독하시고 꼭 실습을 해보시기 바랍니다. 제가 이런저런 쉐이더책을 봤는데 ( ShaderX, 일본사람이쓴 쉐이더책 등 ) 이 강좌만큼 이해를 쉽게 하진 못합니다. 이 강좌를 모두 마친 후 저 두책을 보게 되면 이해가 훨씬 빠를 것 입니다. 정말 좋은 강좌입니다. 많이많이 봐주세요. ( 이 책을 보면서 렌더링 파이프라인에 대해 잘 이해하시면 버텍스쉐이더나 픽셀쉐이더는 얼마든지 이해할 수 있다고 봅니다. ) 처음 접하시는분들께 전하는 말이 었습니다. 꼭 실습까지 해보세요.
책 구입했는데요 책에 나온 주소나 amd rendermonkey toolsuit 가서도 렌더몽키다운로드 주소도 없더라구요;; 게다가 렌더몽키는 좀 나온지 매우 오래되어서 그냥 비주얼 스튜디오로 코딩을 하고싶은데 렌더몽키에 쓴 코드랑 fx파일을 비교하니 다르게 나오더라고요 어떻게 하면 되죠? 어디가면 튜토리얼을 볼수 있을까요?
잘봤어용.. 수고 하셨어용
답글삭제포프님, 감사드립니다.
답글삭제그래픽을 공부하고 있으면서도 Vertex와 Pixel을 같은 개념으로 생각하게되네요. -_-;
답글삭제그러니깐, Vetrex는 폴리곤을 구성하는 각 꼭지점이고, Pixel은 이 Vertex로 만들어지는 폴리곤을 구성하는 점인건가요?
Vetrex Shader가 폴리곤을 구성해서 지오메트리를 만들어내면, Pixel Shader가 각 Vertex의 RGB값으로 인터폴레이션을 거쳐 색을 표현. 맞나요?
@Cootang2님.. "Vetrex는 폴리곤을 구성하는 각 꼭지점이고, Pixel은 이 Vertex로 만들어지는 폴리곤을 구성하는 점인건가요?" -> 이건 맞아요.. 그냥 화면에 보이는 점 하나하나를 픽셀로 생각하세요.. 바탕화면 해상도가 1920 x 1080이라면 가로로 1920의 픽셀이 세로로 1080 개의 픽셀이 있다.. 이렇게요.. 삼각형을 화면에 그릴때 그 삼각형이 화면에서 차지하는 영역에 색을 그려줘야 하니까 각 픽셀별로 색을 입혀준다~ 정도.
답글삭제"Pixel Shader가 각 Vertex의 RGB값으로 인터폴레이션을 거쳐 색을 표현. 맞나요?" -> 이건 맞을 수도 아닐 수도 있어요. 요즘은 아닌 경우가 더 많아요... 버텍스에서 색을 가져와서 보간(인터폴레이션)해서 혼합하면 맞지만.. 버텍스 색에 전혀 상관없이 제맘대로 픽셀쉐이더에서 색을 찍어낼 수도 있거든요.. 요즘은 버텍스 자체의 색을 이용하지 않는 경우가 더 많아요.
쉐이더 강좌를 보시는 분들께 한말씀 드리겠습니다. 이 강좌를 처음 감수를 맡게 되었을때 저는 쉐이더 프로그래밍을 전혀 할 줄 몰랐습니다. 물론 용책이나 해골책을 보고 따라해보긴 했는데 결국 수박 겉핡기라 왜 그렇게 되는지 이해도 못하고 했습니다. 그런데 이 책을 감수 하면서 렌더몽키라는 것도 알게 되고 정말 간단하게 쉐이더를 짜는 법을 알게 되었습니다. 중수 이상 되시는분들은 이글을 대충 스윽스윽 넘기면서 읽으시면 되지만 정말 처음 쉐이더를 접하시는분들께서는 정독하시고 꼭 실습을 해보시기 바랍니다. 제가 이런저런 쉐이더책을 봤는데 ( ShaderX, 일본사람이쓴 쉐이더책 등 ) 이 강좌만큼 이해를 쉽게 하진 못합니다. 이 강좌를 모두 마친 후 저 두책을 보게 되면 이해가 훨씬 빠를 것 입니다. 정말 좋은 강좌입니다. 많이많이 봐주세요. ( 이 책을 보면서 렌더링 파이프라인에 대해 잘 이해하시면 버텍스쉐이더나 픽셀쉐이더는 얼마든지 이해할 수 있다고 봅니다. )
답글삭제처음 접하시는분들께 전하는 말이 었습니다. 꼭 실습까지 해보세요.
빨리 다음편 보여줘요 현기증 날 것 같단 말예요
답글삭제너무 좋은 글입니다!!! 그런데 감질감질...감질나요...총 몇주동안 연재되나요??
답글삭제@ozlael 두주에 한번씩보시면 현기증 덜나요~ 매주 꾸준히 올리기위해 초보에게 적당한 분량으로 자르고 있다는~ 양해부탁
답글삭제@animaNyong 총 11강이니 한 20주 걸릴까요? 한학기 수업분량이라고 생각하셔도 ^^
오옷.. 기다리고있었습니다. 열심히 따라가겠습니다.
답글삭제강의형식이면.. 과제같은 같이 시도해볼만한 꺼리도 있는건가요?! ㅎㅎ
@zany 과제떠윈 없고.... 무조건 따라서 해야하는 실습은 있어요....
답글삭제실습은 뭘로 하나요? DX 혹은 OpenGL? OpenGL은 조금 공부해봐서 따라갈수 있겠는데, DX는 아는게 하나도 없네요. -_-
답글삭제@coontang2 렌더몽키와 DX요. 뭐 아는게 하나도 없어도 크게 문제 없으실거에요.. DX전혀 모르시던 이경배님도 쉽게 따라하셨으니....
답글삭제렌더 몽키란게 무료판인가요? 회사에서 쓰면 안되는건가요?
답글삭제넵 무료입니다. 회사에서 쓰셔도 됩니다... 책에서 해적질 하라고 할 순 없죠 ^^
답글삭제5년차 인데도 불구하고 쉐이더 작업해 본적이 없어 해골책 수준밖에 안됬었는데 포프님 글 보고 공부좀 해야되겠네요.
답글삭제좋은 글 감사합니다.
@익명: 몇년차이고 상관없이 뭐 쉐이더 만질일 없으면 모르는게당연한거죠.. 저도 그래픽 쪽만 해와서 다른쪽을 전혀 몰라요. AI라던가 이런거 나오면 그냥 GG입니다..
답글삭제즐겁게 보시고 언제라도 feedback환영입니다!
와~ 오늘 구매했습니다. 잘볼께요~^^
답글삭제오우 감사합니다. 보시다 궁금한거 있으면 언제든 질문주세요.. ^_^/
삭제하.... 공부하고 있는데, 픽셀 쉐이더가 얼마나 호출되는지에 대한 개념이 없어서 해메는 중에
답글삭제하나 재대로 깨닫고 갑니다.!! 감사해요~
도움이 되었다니 다행입니다! 제 책도 사세요~ 쪼옥~ (응? ㅋㅋㅋ)
삭제책 구입했는데요 책에 나온 주소나 amd rendermonkey toolsuit 가서도 렌더몽키다운로드 주소도 없더라구요;; 게다가 렌더몽키는 좀 나온지 매우 오래되어서 그냥 비주얼 스튜디오로 코딩을 하고싶은데 렌더몽키에 쓴 코드랑 fx파일을 비교하니 다르게 나오더라고요 어떻게 하면 되죠? 어디가면 튜토리얼을 볼수 있을까요?
답글삭제렌더몽키 다운로드는 여기서 받으시면 됩니다. (제가 미리 백업해둠...)
삭제https://1drv.ms/u/s!ArnTIqazDXx0gxnQZ0-FlSCioNnE
작성자가 댓글을 삭제했습니다.
삭제https://1drv.ms/u/s!ArnTIqazDXx0gxnQZ0-FlSCioNnE
답글삭제가서 해도 안되네요ㅠㅠ 책사서 지금 셰이더 개념 배웠고 슬슬 코드 짜보려고 하는 데
포프님 안녕하세요 최근 HLSL 께작대면서 아주 기본적인 것부터 막힌 초보입니다.
답글삭제HLSL 코드에 아래와 같은 코드를 입력했는데,
Texture2D srcTex : register(t0);
이 코드는 도대체 언제 호출되는건지요?
VS 나 PS 는 각각 HLSL파일을 바이너리화 할 때 진입점을 잡아주고, 그 진입점에서부터 코드를 실행하니 어려울게 없는데, 위 코드는 도대체 다이렉트X 코드 상에서 어느 부분에서 호출되는건지 모르겠습니다.