나눔코딩

ㅎㅎㅎnanumcoding.zip

코드 컬러링


평면이 방정식 DirectX


다이렉트 사용할 땐 D3DXPLANE 이란 게 제공되서 쉽게 했었는데 
OpenGL 를 쓸려고 하니 평면에 대한 제공이 없어서 직접 구현하려고 합니다. 

그런데 이게 제대로 된 건지 의문이라서 확인을 받고 싶습니다. 

1. 3개의 벡터를 가지고 평면을 정의하려면 ? ( D3DXPlaneFromPoints ) 

a. 3개의 벡터로부터 법선 벡터를 구한다. 
vU = v2 - v1 
vT = v3 - v1 
vNormal = Cross( vU, vT ) 
Normalize( vNormal ) 

b. 그리고 v1과 vNormal의 내적을 통해 거리 d를 구한다. 
fDist = Dot( v1, vNormal ) 

c. 평면의 식을 구축한다. 
plane.a = vNormal.x; 
plane.b = vNormal.y; 
plane.c = vNormal.z; 
plane.d = - fDist; 


2. 평면과 벡터의 내적 ? ( D3DXPlaneDot ) 

a. 평면의 법선 벡터를 구한다. 
vNormal.x = plane.a; 
vNormal.y = plane.b; 
vNormal.z = plane.c; 

b. 법선벡터와 벡터와 내적을 한다. 
Dot( vPoint, vNormal ) 


프러스텀 컬링 때문에 구현하는데 
2개의 함수를 구현하는 과정이 맞는지 알려주세요. 
틀린 부분은 지적해 주셨으면 합니다.

string wstring API

static void SetStringTOwstring(wstring &dest,const string &src)
{
     dest.resize(src.size());
     for ( unsigned int  i=0; i<src.size(); i++)
        dest[i] = static_cast<unsigned char>(src[i]);
}

static void wstring2string(string &dest,const wstring &src)
{
     dest.resize(src.size());
     for (unsigned int i=0; i<src.size(); i++)
         dest[i] = src[i] < 256 ? src[i] : ' ';
}

Visual Studio 2005 버그??

Ctrl + Tap 에서 아이콘이 네이트온아이콘으로 표시되네 ㅡㅡ;


1 2 3 4 5 6 7 8 9 10 다음



메모장