본문 바로가기

코딩10

[셰이더 프로그래밍] 02. 진짜 쉬운 빨강쉐이더 렌더몽키에서 빨강색 공을 그리는 셰이더를 작성하고 그 결과를 .fx파일로 엑스포트 한 뒤 이걸 DirectX 프레임워크에 그대로 가져다가 사용할 것이다. struct VS_INPUT { float4 mPosition : POSITION; }; struct VS_OUTPUT { float4 mPosition : POSITION; }; float4x4 gWorldMatrix; float4x4 gViewMaatrix; float4x4 gProjectionMatrix; VS_OUTPUT vs_main(VS_INPUT Input) { VS_OUTPUT Output; Output.mPosition = mul(Input.mPosition, gWorldMatrix); Output.mPosition = mul(Outpu.. 2023. 5. 31.
[셰이더 프로그래밍] 01. 셰이더가 무엇인가 셰이더의 정의 셰이더는 화면에 출력할 픽셀의 위치와 색상을 계산하는 함수이다. 3D 파이프라인을 간단히 설명하자면 [정점 셰이더] -> [레스터라이저] -> [픽셀 셰이더] -> [화면] 으로 되어있다. 정점 셰이더가 입력 값으로 받는 것은 3D모델 자체이다. 정점 셰이더가 수행하는 가장 중요한 일은 물체를 구성하는 정점들의 위치를 실제 화면 좌표로 변환하는 것 정점 셰이더는 3D 물체를 구성하는 정점의 수 만큼 실행된다. - 화면을 구성하는 최소 단위는 픽셀이다 레스터라이저는 정점 셰이더가 출력하는 그 정점의 위치를 차례대로 모아 도형을 만든 뒤 그 안에 들어간 픽셀들을 찾아내어 그려준다. 레스터라이저 과정은 얘가 찾아내는 픽셀 수 만큼 호출된다. - 픽셀 셰이더의 주된 일은 화면에 출력할 최종 색을 .. 2023. 5. 30.