본문 바로가기

셰이더 (Shader)/셰이더 프로그래밍 입문 - Pope Kim (완)12

[HLSL] 챕터3 - 텍스쳐매핑 // 텍스쳐 매핑이란? 텍스쳐를 입히는 것을 텍스쳐매핑이라고 부른다. (texture mapping) // UV란? 3D 물체 구성요소는 삼각형이다. 삼각형 위 이미지를 입히려면 어떻게 해야하는가? 정점을 픽셀에 대응시켜준다. 값을 0~1 사이의 백분율로 표현한다. 이를 UV라고 부른다. 이렇게 다른 두 점을 대응 시키는 것을 매핑이라고 한다. 정점셰이더 float4x4 gWorldMatrix; float4x4 gViewMatrix; float4x4 gProjectionMatrix; struct VS_INPUT { float4 mPosition : POSITION; float2 mTexCoord : TEXCOORD0; }; struct VS_OUTPUT { float4 mPosition : POSITIO.. 2023. 3. 18.
[HLSL] 챕터2 - 진짜 쉬운 빨강셰이더 정점 셰이더 float4x4 gWorldMatrix; float4x4 gViewMatrix; float4x4 gProjectionMatrix; struct VS_INPUT { float4 mPosition : POSITION; }; struct VS_OUTPUT { float4 mPosition : POSITION; }; VS_OUTPUT vs_main(VS_INPUT Input) { VS_OUTPUT Output; Output.mPosition = mul(Input.mPosition, gWorldMatrix); Output.mPosition = mul(Output.mPosition, gViewMatrix); Output.mPosition = mul(Output.mPosition, gProjectionM.. 2023. 3. 18.
[HLSL] 챕터1 - 셰이더란? // 셰이더란? 셰이더란 화면에 출력할 픽셀의 위치와 색상을 계산하는 함수이다. 쉽게 말해 픽셀들의 최종 색상 값 구하기이다. // 폴리곤이란? 삼각형의 집합이다. //정점셰이더의 가장 중요한 임무 정점들의 위치를 화면 좌표로 변환한다. 모든 정점을 하나씩 공간변환한다. (space transformation) // 3D 파이프라인의 존재이유 3차원 공간 물체를 모니터에 2차원으로 보여주기 위함이다. / 간략화한 파이프라인 정점 셰이더 -> 래스터라이저 -> 픽셀셰이더 -> 화면 // 래스터라이저란? 삼각형 안에 픽셀이 몇개나 들어가는가? 이를 계산하는 것이 래스터라이저이다. 픽셀셰이더 함수는 몇번이나 호출되는가? 래스터라이저가 찾아내는 픽셀수 만큼이다. // 셰이더 프로그래밍이란? 정점셰이더와 픽셀셰이.. 2023. 3. 18.