2010년 11월 04일
가변인수 va_start()
# by | 2010/11/04 14:58 | Study HDD | 트랙백 | 덧글(0)
// RTT때 사용
// 케릭터의 정면을 보게한 다음 회전버튼 클릭시 회전을 시키는 방식
D3DXMATRIX matRotY;
D3DXVECTOR3 vDir;
D3DXMatrixRotationY( &matRotY, D3DXToRadian(m_fAngle) ); // Y축을 중심으로 회전
D3DXVec3TransformCoord( &vDir, &m_FrontDir, &matRotY ); // m_FrontDir: 케릭터의 정면 방향
D3DXVec3Normalize( &vDir, &vDir );
// View Matrix 생성
D3DXVECTOR3 vAt = m_vHeroPos; vAt.y += 1.0f; // 카메라가 케릭터 중심을 보게 Offset값을 줌 +1
D3DXVECTOR3 vEye = vAt + (vDir * 4.0f);
D3DXVECTOR3 vUp = D3DXVECTOR3( 0.0f, 1.0f, 0.0f );
D3DXMatrixLookAtLH( &m_ViewMat, &vEye, &vAt, &vUp );
# by | 2010/07/13 11:58 | Study HDD | 트랙백 | 덧글(0)

# by | 2010/05/18 11:03 | Study HDD | 트랙백 | 덧글(0)
[출처] DDS 포맷의 DXT1 ~ 5에 대한 이해|작성자 불가사리
1. DDS의 정의
DDS는 Direct Draw Surface의 약자로 nVidia에서 개발한 포맷 방식입니다.
DirectX 기반의 텍스쳐(Texture) 맵을 나타내기 위해 사용되는 이미지 형식인데 (DXT는 DirectX Texture의 줄임말.)
타 형식에 비해 손실대비 압축률이 높고 DX와 완벽하게 호환되기 때문에 대부분의 게임에서 사용된다고 합니다.
2. DDS의 포맷 방식과 특징
먼저 DXTn이 아닌 방식(8.8.8.8, 16,16f과 같은)에 대해서 조사한 결과
DXTn과 달리 비손실압축이기 때문에 어떠한 방식으로 저장하더라도 데이터는 일정한 용량을 가지게 됩니다.
따라서 데이터당 bit 수가 높아질수록 용량도 비례하여 높아지므로 비효율적이라는 결론을 도출하였습니다.
(Ex : 8.8.8.8의 경우 알파에 8bit, R과 G와 B에 각각 8bit의 데이터 정보를 가집니다. -> 용량 커짐)
대부분의 용량압축이 필요한 경우 DXTn 외에는 사용되지 않는다고 합니다.
(1) DXT1 No Alpha
알파채널이 없는 이미지에 사용.
RGB는 4비트로 표현됩니다.
(2) DXT1 1bit Alpha
1비트의 정보만을 나타내는 알파채널을 가지고,
1비트의 정보를 뺀 3비트로 RGB채널을 표현하므로 (1)에 비해 퀄리티가 떨어지게 됩니다.
(3) DXT3 Explicit Alpha
알파채널이 있는 이미지에 사용. Alpha와 RGB가 각각 4bit로 표현됩니다.
(4) DXT5 Interpolated Alpha
알파채널이 그라데이션 스타일일 경우의 이미지에 사용.
RGB는 4비트로 Alpha가 8비트로 표현된다고 합니다.
때문에 DXT3보다 알파채널이 훨씬 부드럽게 표현되므로 퀄리티가 가장 높아집니다.
참고 사이트 : http://wiki.beyondunreal.com/Legacy:DXT
[출처] DDS, DXT, LOD의 이해 (하우게임스쿨) |작성자 그린라임
# by | 2010/05/13 10:45 | Study HDD | 트랙백 | 덧글(0)
◀ 이전 페이지 다음 페이지 ▶