그래픽쪽은 디렉팅만 하고 있으니 … 올릴게 없다.
이제 곧 학원이나 다시 다녀야지.
그리고 회사에서는 언제나 쉐이더 공부 .
이번에는 맥스의 쉐이더 공부 쌩기초를 들어갔다.
float4x4 WorldViewProj : WORLDVIEWPROJ;
// 4*4 메트릭스 생성. 월드와 뷰와 프로젝션을 곱해서 생성한다.
void VS(
in float4 iPos : POSITION,
out float4 oPos : POSITION)
{
oPos = mul( iPos, WorldViewProj );
}
// 버텍스 쉐이더 설정을 한다.
// 들어가는 것은 일단 포지션이 들어간다. 포지션은 xyzw 라서 float4.
// 들어갔으면 나와야지. 역시 포지션이 나온다. float4
// 이제 들어갈게 나왔다면, 어떻게 나왔냐를 결정해 준다.
// 방법은 행렬곱하기. 아웃 포지션은, = 인풋에다가 월드뷰 프로젝션을 행렬곱하기 해준다.
void PS(
out float4 oColor : COLOR)
{
oColor = float4(0, 0, 0, 1);
}
//픽셀 쉐이더 설정이다.
rgba의 아웃 칼라를 정해준다. oColor는 변수이므로 맘대로. COLOR라는 설정을 : 뒤에 써야 칼라인줄 안다.
oColor의 계산 공식은 현재 어디서 받아오는 것도 없이, 강제로 정해줬다.
oColor 는 float4의 0,0,0,1 로 강제로 넣어줬으니, 이것은 검정색의 색으로 나올 뿐이다.
technique JPCorp1
{
pass P0
{
VertexShader = compile vs_1_1 VS();
PixelShader = compile ps_1_1 PS();
}
}
//테크닉 쓰고 이름 만들어 준다.
//pass 하고 이름은 아무거나 (p0)
//버텍스 쉐이더와 픽셀 쉐이더 버전을 써 준다. 이것이 기본.
//그럼 나오는 그림은 아래와 같다.