Color

Shader/HLSH Shader 공부 2014. 5. 15. 21:42

교제는 셰이더 프로그래밍 입문 / 저자 : 포프킴

(렌더몽키 사용)

 

<Vertex Shader>

 

struct VS_INPUT // 입력받을 구조체
{
    float4 mPosition : POSITION; // POSITION 는 테그 같은 것
};

struct VS_OUTPUT // 출력받을 구조체
{
    float4 mPosition : POSITION;
};

// 랜더 몽키에서 행열의 값은 미리 선언 해둔다
float4x4 gWorldMatrix;
float4x4 gViewMatrix;
float4x4 gProjectionMatrix;

// vs_main 함수 이름
// VS_OUTPUT 반환 형태
// vs_main 함수의 인자는 VS_INPUT형태의 Input
VS_OUTPUT vs_main(VS_INPUT Input)
{
    // 반환할 구조체 선언
    VS_OUTPUT Output;
    
    // 들어온 Input 값에 gWorldMatrix곱해 월드 위치로 이동
    Output.mPosition = mul(Input.mPosition, gWorldMatrix);
    
    // 월드 위치에서 뷰 위치로 이동
    Output.mPosition = mul(Output.mPosition, gViewMatrix);
    
    // 프로젝션 위치로 이동 (투시도법 적용 같은것)
    Output.mPosition = mul(Output.mPosition, gProjectionMatrix);
    
    return Output;
}

 

 

<Pixel Shader>

 

// ps_main 은 함수 이름
// 매개변수를 받지 않음
// 반환형은 float4
// 100%로 환선한 color값으로 처리
float4 ps_main() : COLOR
{
    float4 color = float4(1.0f, 0.0f, 0.0f, 1.0f); // R, G, B, A
    return color;
}

'Shader > HLSH Shader 공부' 카테고리의 다른 글

Lighting - Specular  (0) 2014.05.28
Lighting  (0) 2014.05.22
TextureMapping  (0) 2014.05.22
Posted by Hwanggoon
,