인프런 커뮤니티 질문&답변

mobill123님의 프로필 이미지
mobill123

작성한 질문수

[게임 프로그래머 도약반] DirectX11 입문

1주차 복습

vertex shader, rasterize 질문입니다

작성

·

295

0

vertex shader를 처리할때

_vertexBuffer에 들어있는 꼭짓점을 받아서

좌표를 변환하는 과정으로 이해했습니다.

 

ia과정에서 나오는 결과물이 mesh라고 하셨는데

이부분에서 약간 혼동이 있는 것 같습니다.

 

제가 생각한 바로는, IA과정 에서는

아직 mesh가 그려지진 않았고, 각 점들과 layout, 그 점들로 무엇을 그릴지에 대한 정보가 있는 상태입니다(삼각형).

 

vertexshader에서 좌표계 처리를 하고

rasterize과정에서야 점들끼리 잇고 보간을 합니다.

(렌더링 범위 지정)

 

이후 PS과정에서 shaderResource와 uv값을 이용해서

실제 색을 칠하는 과정 (수치적으로)을 거친 후에 output merge과정에서 indexBuffer를 참조하여 backBuffer에 실제 렌더하는 과정을 거친후에 고속 복사를 하여 렌더링을 완료하게됩니다.

 

해당 렌더링 프로세스를 제가 잘못이해한 것인지 궁금합니다.

(결과적으로 IA작업에서, 꼭짓점 뿐만 아니라 꼭짓점 사이의 EDGE에 대한 정보도 이미 전부 가공된 채로 VS에 넘어가는것이었나에 대해 궁금합니다.. mesh는 꼭짓점 사이의 edge도 그려져 있지 않나요?)

 

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

네 이해하신게 맞습니다.

IA 과정에서 나오는 결과물이 mesh라는 것은
말 그대로 그 mesh의 정보 (모형)가 기입되어 있다는 것이지
아직 완성된 결과물을 본다는 말이 아닙니다.

SetIA~시리즈 함수로 설정하는 부분들을 보면
결국 IndexBuffer, VertexBuffer (추후 InstancingBuffer도)를 비롯해
Topology 정보를 건내주는데 이는 메쉬를 표현하는 정보라는 의미입니다.

mobill123님의 프로필 이미지
mobill123

작성한 질문수

질문하기