셰이더 프로그래밍 입문-1
오늘부터 짬짬히 hlsl 셰이더 공부를 시작한다. 이미 예전에 포프님의 블로그를 통해 일부 공부했었지만.. 책이 나왔으니 다시 제대로 공부해보장.....물론 내 나름의 정리이니까 이포스팅을 보는 다른분들은 도움이 안될거임..ㅎㅎ;;
"같이 공부하실분은 책을 사거나 블로그로 가보세요~"
교재는 "셰이더 프로그램밍 입문"........
1. 공부 준비하기
별다른 준비는 필요업고 걍 AMD사의 랜더몽키를 설치하면된다.....
2.진짜 쉬운 빨강 셰이더
1)정점셰이더 코드
struct VS_INPUT{
float4 mPosition : POSITION;
};
//구조체에는 ; 붙는다
struct VS_OUTPUT{
float4 mPosition : POSITION;
};
//구조체에는 ; 붙는다
float4x4 gWorldMatrix;
//월드행열
float4x4 gViewMatrix;
//뷰 행열
float4x4 gProjectionMatrix;
//투영행열
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, gProjectionMatrix );
//뷰 공간을 투영공간으로 연산
return Output;
}
**팁**
정점 셰이더 함수의 의미
VS_OUTPUT vs_main(VS_INPUT Input)
함수의 이름은 vs_main 이다.
함수의 인수는 VS_INPUT 데이터형의 input 이다.
함수의 반환값은 VS_OUTPUT 데이터형이다.
2)픽셀셰이더 코드
float4 ps_main() : COLOR{
return float4 (1.0f,0.0f,0.0f,1.0f);
}
//반한되는 r,g,b,a의 값
**팁**
픽셀셰이더 함수의 의미
float4 ps_main() : COLOR
함수의이름은 ps_main 이다.
매계변수를 받지 않는다.
반환형은 float4 이다.
반환값을 백 버퍼의 컬러값으로 처리한다.
.
.
.
.
.
.
올만에 다시하니 오타가 또 나오네...예전에 처음 할때보다는 99% 좋아지긴 했지만 짱난다.....
다음은 텍스쳐 맵핑....
'Unity공부 > HLSL Shader 공부' 카테고리의 다른 글
셰이더 프로그래밍 입문-6 (0) | 2012.11.21 |
---|---|
셰이더 프로그래밍 입문-5 (0) | 2012.11.19 |
셰이더 프로그래밍 입문-4 (0) | 2012.11.16 |
셰이더 프로그래밍 입문-3 (2) | 2012.11.14 |
셰이더 프로그래밍 입문-2 (0) | 2012.11.13 |