본문 바로가기

texture3

Texture 출력하기 전역 변수 선언 LPDIRECT3DTEXTURE9g_pTex = NULL; CUSTOMVERTEX 정의 struct CUSTOMVERTEX { FLOAT x, y, z;// 좌표 FLOAT tu, tv; // 텍스쳐 좌표 }; #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ | D3DFVF_TEX1) Texture 로드 D3DXCreateTextureFromFile(g_pd3dDevice, L"hwa.png", &g_pTex); Vertex 좌표 설정 CUSTOMVERTEX vertices[] = { // Vertex Buffer를 모두 정의 { -0.6f, 0.5f, 0.0f, 0.0f, 0.0f}, { 0.4f, 0.5f, 0.0f, 1.0f, 0.0f}, { -0.6f, -0.. 2014. 9. 22.
DirectX 내부에서의 텍스쳐 합성 DX 내부에서의 텍스쳐 합성 (신형 Shader 방식) 원리 신형 Shader 방식의 텍스쳐 색상 결정 로직에서는 색상을 결정하는 방법이 5가지있다. 첫번째는 Diffuse Color. 즉, 조명과 라이팅 연산이 되어서 나온 색상을 설정해주는 방법이다. 두번째는 Texture Color. 텍스쳐 자체의 색상을 정해주는 방법이다. 세번째는 --- 다음에 정리 네번째는 Constant라고, 텍스쳐에 강제로 색상을 할당해주는 방법이다. 다섯번째는 Factor라는 이 역시 텍스쳐에 강제로 색상을 할당해주는 방법이다. 텍스쳐 합성시에 Current와 Temp라는 두군데의 레지스트리에 색상을 저장해놓을 수 있다. 기본적으로 Current에 자동 저장되며, 두 이미지를 합성할려고 할 경우, Temp에 하나를 저장해놓.. 2013. 12. 11.
software rendering 텍스쳐 샘플러 큰 원본 텍스쳐를 확대하는 경우 해상도가 엄청나게 높지 않은이상 픽셀이 깨져보이기 마련이다. 해결하는 방법으로는 레티나 디스플레이처럼 특정 거리 내에서는 인간의 눈으로 화소를 구분하지 못할 정도로 화소를 높이는 방법이 있겠으나 아무래도 비싼 비용이 소모된다. 또 다른 방법으로는 밉맵을 이용하는 방법이 있다. 밉맵은 큰 원본 텍스쳐와 그 외에 작은 해상도의 텍스쳐를 미리 준비하고, 확대될 경우 미리 만들어져있는 해상도의 텍스쳐와 바꿔서 출력하는 기술이다. 렌더링에 사용되는 픽셀 자체의 수가 줄어들기 때문에 실시간 렌더링에 부하가 적게 들고, 렌더링 과정에서 일어나는 손실도 줄일 수 있다. 이때 밉맵에는 안티앨리언싱 효과도 함께 들어가있다. 이는 인접한 픽셀이 맞닥뜨릴때, 이를 보간을 통하여 자연스러운 색 .. 2013. 12. 11.