728x90

D3DXCompileShader() -> HLSL로 작성한 셰이더 코드를 컴파일하거나 실패에 대한 문법 에러를 검사하는 함수.

 

D3DXCompileShaderFromFile() -> 파일에서 작성한 HLSL일때 사용하는 함수.

 

D3DXDeclaratorFromFVF() -> FVF를 사용한 정점 선언값을 채워 넣는 함수.

CreateVertexDeclaration() -> 정점 선언값으로 정점들 선언 정보 (LPDIRECT3DVERTEXDECLARATION9)을 생성하는 함수.

 

FVF(Flexible Vertex Format) -> 유연한 정점 포멧, 사용할 정점의 다양한 정보들을 사용자가 필요한 부분만 골라서 정의하여 유연하게 쓸 수 있는 방법

정점에는 많은 정보를 필요로 하지만 매번 모든 정보가 필요한 것이 아니기 때문에 사용자가 사용할 용도에 따라서 원하는 정보만 포함하여 정점을 구성하므로 용량 효율이 증가. 

 

CreateVertexShader(), CreatePixelShader() -> 컴파일 한 결과를 메모리에 적재하기 위해 정점 셰이더 또는 픽셀 셰이더 객체를 생성한다.

 

SetRenderState() -> 랜더링 상태를 설정한다.

 

SetVertexShader(), SetPixelShader() -> 정점셰이더 또는 픽셀 셰이더 사용을 명시함으로써 프로그램 가능한 파이프라인 사용을 알린다. null값을 넣으면 객체 사용을 해제 하고 고정 파이프라인으로 돌아 온다.

 

SetVertexDeclaration() -> 정점들 선언 정보를 디바이스에 설정한다. null값을 넣으면 해제.

 

DrawPrimitive() -> 정점들을 이용하여 그린다.

 

D3DXMatrixIdentity() -> 단위 형랠로 초기화 해줌.

 

D3DXCreateTextureFromFile() -> 외부로 부터 이미지를 읽을때 사용, 이미지의 크기가 2의 제곱승 이여야 한다.

 

SetSamplerState() -> 기본적으로 텍스처는 스크린의 삼각형에 입혀질때, 텍스처 삼각형이 스크린 삼각형 보다 작다면 텍스처 크기를 확대하고, 크다면 텍스터 크기를 축소하여 크기를 마춘다 이 경우 왜곡이 발생할수도 있는데 이 왜곡을 줄이기위해서 이 함수를 사용하여 필터링을 한다.

(1. 첫번째 인자는 텍스쳐 스테이지.

 2. 두번째 인자는 어떤 필터인지.

 3. 세번째 인자는 필터링 방식을 지칭한다.

 

 2. 필터 종류

 D3DSAMP_MINFILTER - 확대 필터

 D3DSAMP_MAGFILTER - 축소 필터

 D3DSAMP_MIPFILTER - 밉맵 레벨간 사용하는 텍스처 필터

 

 3.필터링 방식

D3DTEXF_POINT - 근접점 샘플링, 디폴트 방식이며 품질이 가장 떨어진다, 계산이 빠르다. 텍스처와   primitive 이미지의 크기가 비슷할때 가장 효과적, 크기가 다르면 확/축소 과정으로 인해 흐림,뭉침,alliasing 등의 현상 발생.

 

D3DTEXF_LINEAR - 선형 필터링, 보통 사용하는 필터링, 비교적 높은 품질, 실행속도 빠름.

 

D3DTEXF_ANISOTROPIC - 비등방성필터링, 가장 높은 품질의 결과물이 나오지만, 실행 속도가 느리다.)

 

 

728x90
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침