본문 바로가기

[ C/ C++ 프로그래밍 ]

[충돌처리] 구와 구 ㅇ 원리 두 원이 각각 ( x - h₁)² + ( y - k₁)² = r₁², ( x - h₂)² + ( y - k₂)² = r₂² 으로 정의 되고 ───────────── √ ( h₂- h₁) ² + ( k₂- k₁)² ≤ ( r₁+ r₂) 를 만족하면, 충돌. 제곱근함수(sqrt)는 많은 프로세서의 처리능력이 요구되는 함수이므로, ( h₂- h₁) ² + ( k₂- k₁)² ≤ ( r₁+ r₂)² 로 충돌함수를 최적화 할 수 있다. 두 구가 각각 ( x - h₁)² + ( y - k₁)² + ( z- l₁)² = r₁², ( x - h₂)² + ( y - k₂)² + ( z- l₂)² = r₂² 으로 정의 되고 ( h₂- h₁) ² + ( k₂- k₁)² + ( l₂- l₁)² ≤ ( r₁+ r₂)².. 더보기
퐁세이딩 ㅇ 원본 ㅇ 퐁세이딩 ㅇ 세이더 float4x4 matWorldViewProjection; float4x4 matWorldView; float4 vLightDir; float4 vColor; float3 vEyePos; texture diffuse; //sampler Texture0; sampler2D Texture0 = sampler_state { texture = (diffuse); minfilter = LINEAR; magfilter = LINEAR; mipfilter = LINEAR; addressu = wrap; }; struct VS_INPUT { float4 Position : POSITION0; float4 Normal : NORMAL; float2 Texcoord : TEXCOORD0; .. 더보기
VC++ 2008에서 쉐이더 코드를 C++ 코드처럼 도구->옵션->텍스트 편집기->파일 확장명 확장명에 fx쓰고 편집기를 Microsoft Visual C++선택하고 추가를 누른다. 더보기
Glow 효과 ㅇ 원본 ㅇ Glow 효과 ㅇ 세이더 float4x4 matWorldView; float4x4 matWorldViewIT; float4x4 matProjection; float3 LightDir; float4 diffuseColor; float4 ambientColor; float4 GlowColor; float4 GlowAmbient; float GlowThickness; texture base; sampler2D Texture0 = sampler_state { texture = (base); minfilter = LINEAR; magfilter = LINEAR; mipfilter = LINEAR; addressu = wrap; }; struct VS_INPUT { float4 Position : PO.. 더보기
Visual Studio .net 책갈피 단축키 Ctrl + K, Ctrl + K - 책갈피 설정/해제 Ctrl + K, Ctrl + N - 다음 책갈피 Ctrl + K, Ctrl + P - 이전 책갈피 Ctrl + K, Ctrl + L - 책갈피 지우기 [출처] Visual Studio .net 책갈피 단축키|작성자 지노윈 더보기
파일 불러 올때 상대 경로를 설정 방법 OPENFILENAME OFN; TCHAR lpstrFile[MAX_PATH]=""; memset(&OFN, 0, sizeof(OPENFILENAME)); OFN.lStructSize = sizeof(OPENFILENAME); OFN.hwndOwner=hWnd; OFN.Flags = OFN_NOCHANGEDIR; // 제일 마지막 경로를 저장하지 않는다. OFN.lpstrInitialDir = "DataFile\\Image\\Blinding"; // 시작될 상대 경로 OFN.lpstrFilter="Tag File(*.tga)\0*.tga\0Bitmap File(*.bmp)\0*.bmp\0"; // 불러올 파일 설정 더보기
LOD ◎ LOD ( Level of Detail ) - 가까운 물체는 자세히, 먼 물체는 희미하게 보이는 현실 원리를 컴퓨터 그래픽에 적용 - 지형 뿐만이 아닌 모든 오브젝트에 적용 가능 - 다양한 알고리즘이 존재 - 정적 LOD ( Static LOD), 동적 LOD(Dynamic LOD) - 지형처리 기법의 대부분은 동적 LOD를 사용 ==> 캐릭터 포현에도 동적 LOD가 많이 사용됨 ◎ 정적 LOD (Static LOD) - 기존의 LOD 표현방법 - 전처리기 과정에서 미리 각 물체마다 LOD 생성 - 런터임시, 거리에 따라 알맞은 LOD선택하여 가시화 :: 카메라에서 일정단계를 나누어 좋고 출력 - 실시간 LOD 생성 불필요 ㅇ 정점 : 하드웨어 연산 상대적으로 적음 - 전처리 과정에서 하드웨어를 실시.. 더보기
컬링 ㅇ 절두체의 정의 - 절두체 컬링이란? 전체 3차원 월드에서 카메라의 시야 범위에 포함된 것들만 랜덩링하는 기법 ==> 속도증가 기법 - 렌더링 파이프 라인에서 절두체 ==> 모양이 삼각뿔의 머리를 잘라 놓은 것 같다고 해서 절두체라고 한다. - 절두체를 이루는 6개의 평면 ㅇ 평면 방정식 - 무한 평면을 정의하는 도구 - ax + by + cz + d = 0 ==> a,b,c : 평면 방향을 나타내는 법선 벡터, d : 평면과 원점간의 거리 - 세개의 점(v0,v1,v2)로 부터 벡터v'와 벡터v'' 를 만들고, 이 두벡터를 외적연산하면 직교하는 벡터 N = (a,b,c) 가 나온다. - N = (a,b,c)가 평면 방정식의 벱선 벡터이다. - d 값은 v0, v1, v2중의 어느 하나의 값을 평면 방.. 더보기
쿼드 트리 Quadtrees by Jonathan Ferraris 원문 : http://www.gamedev.net/reference/articles/article1303.asp 번역 : conaman(conaman@spirit3d.net) 배경지식과 이론 : 쿼드트리는 무엇인가? 컨슈머 3D 그래픽 카드의 혁명으로 3D게임의 붐의 일어나기 시작했습니다. 이들 대부분은 FPS(first person shooters)장르를 택했고 거기에서 좋은 이유가 있습니다. 그 이유는 실외 환경들과 비교할 때 실내 환경이 훨씬 간단하기 때문입니다. 광대한 야외는 다음 단계로 가는 편리한 계단들이나 그리고 당신의 눈을 막는 문들이나 벽들이 없습니다. 신뢰할 만한 실외 환경이 바로 앞에 다가왔습니다. 포함되어 있는 순수 지오메트리는.. 더보기
[열혈강의 MFC 2008 정리] Part1 - Chapter 2 MFC CWnd Class ㅇ 소스 코드 출처 : 더보기