[OpenGL Move]
#include <math.h>
// open GL VECTOR Normalize
VECTOR* Normalize( VECTOR *pOut, const VECTOR *pV )
{
//REAL32 len = pV->x * pV->x + pV->y * pV->y + pV->z * pV->z;
float len = pV->x * pV->x + pV->y * pV->y + pV->z * pV->z;
// open GL VECTOR Normalize
VECTOR* Normalize( VECTOR *pOut, const VECTOR *pV )
{
//REAL32 len = pV->x * pV->x + pV->y * pV->y + pV->z * pV->z;
float len = pV->x * pV->x + pV->y * pV->y + pV->z * pV->z;
if( len > 0.000001f )
{
len = Math::Sqrt( len );
pOut->x = pV->x / len;
pOut->y = pV->y / len;
pOut->z = pV->z / len;
}
else
{
pOut->x = 0.f;
pOut->y = 0.f;
pOut->z = 0.f;
}
return ( VEC3D* )pOut;
}
// open GL VECTOR 길이 구하기
float Lenght( const VEC3D *pV )
{
return Math::Sqrt( ( pV->x * pV->x ) + ( pV->y * pV->y ) + ( pV->z * pV->z ) );
}
- openGL 이동. DirectX랑 차이점이라면, Callback으로 환경을 설정하고, Push()로 값을 넣고 Pop()으로 닫아
종료하는 형태가 인상적이다.
- DirectX와 달리 VECTOR 가 바뀐 값은 보관하고 있지 않는다. 직접 데이터 담을 구조체를 만들어 데이터를 보관하고
있어야 한다. 다시 돌아오면 openGL의 값은 0으로 초기화.
- openGL은 말 그대로 3D를 지원하는 util 일뿐. DirectX 처럼 vertex 지원은 아주 미미.
- 하지만 DirectX보다 Render 쪽은 더 깔끔한 편.
- openGL은 말 그대로 3D를 지원하는 util 일뿐. DirectX 처럼 vertex 지원은 아주 미미.
- 하지만 DirectX보다 Render 쪽은 더 깔끔한 편.
'[ Programing ] > OpenGL' 카테고리의 다른 글
전체 화면 설정 및 기타 설정 (0) | 2010.04.19 |
---|---|
[OpenGL + SDL] 전체 화면 스크린 샷 찍어 비트맵으로 저장. (0) | 2010.03.16 |