IT/3D 27

[펌] [DX]인덱스버퍼(1)

어느순간 막혀버린 인덱스 버퍼, 나름의 정리를 하겠습니다. 인덱스 버퍼에 관한 자료는 인터넷 검색으로도 거의 전무한 상태이군요. 인덱스 버퍼란 정점의 인덱스를 보관하기 위한 전용 버퍼를 말한다. 메모리 소모량이 적고 캐시를 이용해 높은 효율을 낼 수 있다. 캐시를 통한 최적화는 인덱스 버퍼를 사용할 때만 가능한 것으로 통상 출력 속도가 두 배 정도 빨라진다. 인덱스 버퍼는 DirectX 8.0에서 새롭게 등장한 것으로서, 인덱스된 렌더링에 사용할 인덱스를 저장합니다. 인덱스 버퍼는 복사 작업을 제거(하거나 최소한 줄이기 위해) 제공된 것으로서, DirectX 7.0에 비해 성능 상의 향상을 가져 왔습니다. 인덱스 버퍼는 16비트나 32비트로 할당됩니다. 최대 인덱스 값에 해당하는 제한 값이 있는데, 2*..

IT/3D 2005.08.06

[펌] 3D 기본 용어 설명 1

* 버텍스 (Vertex) 버텍스는 일반적으로 점을 말합니다.. 즉, (x, y, z) 의 형식으로 나타내어지는 공간상의 한정점인 데, 벡터와 표현방식은 비슷하지만 틀린 개념이므로 유의하셔야 합니다. * 벡터 (Vector)벡터는 주로 물리나 수학에서 나오는데, 특히 물리에서는 힘의 크기와 방향을 나타내기 위해사용 합니다.. 즉, 벡터는 크기와 방향을 한번에 나타내는 것이죠.. 위의 그림을 보면 3개의 벡터가 나와 있습니다.. 여기서 벡터의 길이, 즉 그림에서 화살표의길이 가 벡터의 크기를 나타냅니다.. 벡터의 방향은 물론 화살표의 방향이죠.. 그런데 이 3개의 벡터들은 벡터의 크기(= 화살표의 길이)가 모두 같고, 방향도 모두 같습니다.. 따라서3개 벡터 모두 같은 벡터라고 볼 수 있는 것이죠.. 즉,..

IT/3D 2005.08.06

[펌] 3D 기본 용어 설명 2

* 행렬 (Matrix) 공간상에 몇 개의 점들이 있다고 합시다.. 우리는 그 삼차원상의 점(x, y, z)를 가지고 이거저거 하지만 실제로 모니터 화면에는 (x, y)형태로 나타내야 합니다..(모니터 화면은 공간이아니라 평면이므로..)그럼 어떤 과정을 거쳐서 삼차원의 점이 이차원으로 변형될까요..( 위 그림은 DirectX Documentation에서 짤라온 그림입니다..)위 그림에서 보듯이 렌더링 되어야 할 점들 (Vertices) 들은 우선 World행렬 이라는 것과곱해집니다.. 그리고서 다시 View행렬과 곱해지고..마지막으로 Projection행렬과 곱해집니다.. 그 다음의 Clipping 과 Viewport Scailing 은..안보이는 거 짤르고 또 얻어진 2차원 좌표를 현재 화면에 맞게 재..

IT/3D 2005.08.06

그래픽관련 용어 정리

Alpha-Blending: 최초 픽셀의 색상을 최종 픽셀의 기존 값에 의거하여 알파채널을 부가하는 방식으로 혼합하는 기법이다. 알파 값이라 불리는 Blending 요소에 픽셀마다 정의하고 이를 %값으로 환산하여 색상 변환을 측정하는 방식으로 Blending 과정이 이루어진다. Alpha-Blending의 구현은 일반적으로 그래픽스 파이프라인의 레스터화 단계에서 이루어진다. 또한 어떠한 물체의 렌더링 과정에서 픽셀이 표현 가능한 능력의 한 부분으로서 보이지 않는 부분이나 특정한 부분의 가치를 부여하는 것이다. 일반적인 한 예로 컵 안의 물을 표현하는 과정이나, 호수의 출렁이는 물결에서 이러한 효과를 보여준다. 폭발, 유리와 물은 게임 개발자가 알파-혼합을 사용하는 좋은 예이다.Anti-aliasing: ..

IT/3D 2005.08.06

3차원 변환에 대한 개념

자료 출처 :http://cafe.naver.com/jzsdn.cafe아무래도 3D를 시작하는 프로그래머에게 가장 이해가 잘 가지 않는 부분이 변환에 대한 것이 아닐까 한다. 무슨 변환을 그리 많이 하는지...왜 이런 변환을 많이 하는지 어떤 변환을 해야 하는 지 차근차근 정리를 해볼까 한다. 나조차도 자꾸 몇개월 지나면 다시 까먹고 해서 정리를 해놔야 될 필요성에 적어 본다.어떤 물체를 하나 3D 공간상에 띄우는 건 사실 그리 어렵지 않을 것이다. 다이렉트3D SDK에 보더라도 많은 샘플이 있으니 말이다.자. 이렇게 별다르게 한것 없이 3D 공간에 어떤 A물체가 띄워 있다면 그건 이 A는 로컬좌표계에 있는 것이다. 즉, 그 A가 중심이 되는 공간에 있다는 것이다. 이때 또 다른 B물체를 띄워 보자. 그..

IT/3D 2005.07.22

신기한 벡터의 내적과 외적

이글은 하이텔 게임개발자 동호회(gma)의 이태경(수퍼유저)님의 글입니다. --------------------------------------------------------------------------------------------------------------- 벡터의 내적과 외적, 법선벡터를 알자.먼저 벡터의 내적과 외적을 알기전에 벡터에 대해 조금만 얘기하겠습니다. 당연히 수학적인 부분이지만 초등학생도 알수 있도록 쉽게....1. 벡터 2차원 좌표상에 점을 표시할때 일반적으로 x,y 두개의 좌표를 가지고 화면의 점을 그린다. 이때 수학적으로 점이란 눈에 안보이는 것이지만 점을 구성하는 좌표 성분으로 P(x,y)라고 지정한다. 벡터란 원점을 기준으로한 점이라고 생각하면 쉽게 설명할 수 있을..

IT/3D 2005.07.22

Direct3D 9.0 튜토리얼 분석 1 디바이스 생성

//----------------------------------------------------------------------------- // File: CreateDevice.cpp // // Desc: D3D 디바이스를 생성하고, 이를 사용해서 화면을 지우는 방법에 대해서 // 공부하게 된다. // //----------------------------------------------------------------------------- // Direct3D9를 사용하기 위한 헤더 #include //----------------------------------------------------------------------------- // 전역 변수 //--------------------..

IT/3D 2005.07.12