DirectX - 알파 블랜딩, 알파 테스팅, Z버퍼
알파 블랜딩이랑 버택스(or인덱스)로 만든 하나의 이상의 페이스(플랜등..)에 입힌 텍스쳐에 특정 부분을 투명하게 하기 위한 기능이다. 하지만 알파 블랜딩을 사용할 때 주의점이 존재 하는데, 알파블랜딩을 사용할 때 주는 옵션중에, D3DRS_SRCBLEND, D3DRS_DESTBLEND가 있다. 각각 디폴트 값은, D3DBLEND_ONE, D3DBLEND_ZERO 인데, 사용할 예제에서는 m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); m_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); 처럼 설정해 주었다. (추가적인 각 추가적인 각 열거체에 대한 설명은 DX도움말..
2010. 6. 29.
DirectX-정점(vertex_삼각형 띄우기)
먼저 정점을 띄우기 위해서는 정점을 보관할 정점 버퍼가 필요 합니다. 정점 버퍼에 FVF(사용자 정의 정점 형식)를 사용하여 생성할 수 있습니다. 최초 생성한 정점 버퍼는 쓰레기 값이 들어가 있기 때문에, Lock함수를 사용하여 값을 넣을 수 있는 포인터를 가져 옵니다. 그 후 미리 지정해 놓은 정점 정보를 정점 버퍼에 저장합니다. HRESULT InitVB() { // 삼각형을 렌더링 하기 위해 3개의 정점 선언 CUSTOMVERTEX verticse[] = { { 150.0f,50.0f,0.5f,1.0f, 0xffff0000, }, { 250.0f,250.0f,0.5f,1.0f, 0xff00ff00, }, { 50.0f,250.0f,0.5f,1.0f, 0xff00ffff, }, }; // 점정 버퍼를..
2010. 5. 19.