Loading...

D3D에서 이용가능한 텍스처 메모리의 의미

출처 : http://blog.naver.com/lifeisforu/80022419898 현재 필자의 그래픽카드의 스펙은 다음과 같다. 칩종류 : Geforce 6200 DAC 종류 : Integrated RAMDAC 메모리 크기 : 256 MB 어댑터 문자열 : Geforace 6200 BIOS 정보 : Version 5.44.A2.10.00 이제 IDirect3DDevice::GetAvailableTextureMem 메서드를 호출하면 그 결과는 다음과 같다. 509607936 Direct3D API 도움말에는 IDirect3DDevice::GetAvailableTextureMem 에 대해서 다음과 같이 기술하고 있다. 인용: 반환값은 가장 가까운 MB 근처의 값이다. 이것은 비디오 메모리가 추정하는 ..

IDirect3DDevice9::GetAvailableTextureMem

사용 가능한 텍스처 메모리의 양의 추정값을 돌려준다. 구문 UINT GetAvailableTextureMem(VOID); 반환값 이 함수는, 사용 가능한 텍스처 메모리의 추정값을 돌려준다. 주의 돌려받는 값은, 가장 가까운 MB 에 말 수 있다. 이러한 처리를 하는 것은, 특정의 리소스에 의한 비디오 메모리의 소비에 영향을 주는 alignment나 다른 문제에 의해, 비디오 메모리의 추정값을 정확하게 요구할 수가 없기 때문이다. 애플리케이션에서는, 이 값을 사용해, 이용할 수 있는 메모리의 대범한 양을 추정해, 할당하려고 하는밉맵의 레벨수와 같은 리소스에 관한 거시적인 결정을 내릴 수 있지만, 다른 리소스를 할당하는데 충분한 메모리가 남아 있는지 등 작은 스케일의 결정에 사용할 수 없다.

메모리 정보 가져오기

메모리 정보 가져오기 메모리를 자주 사용하는 프로그램의 경우, out of memory를 일으키지 않도록 하기위해, 메모리를 체크해야합니다. 꼭 이럴 경우가 아니더라도, 기본적으로, 메모리의 이용은 어플리케이션의 부피가 커질수록 문제가 되겠죠. 여기서 API함수를 이용하여, 메모리의 상태를 얻어오는 방법을 알아보겠습니다. 먼저 사용될 API함수와 그 구조를 알아봅시다. void WINAPI GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer); MEMORYSTATUS는 아래와 같은 구조를 갖게 됩니다. DWORD dwLength 32 고정 DWORD dwMemoryLoad 사용할 수 있는 메모리 비율 DWORD dwTotalPhys 물리적 메모리양 DWORD dwAvailPhys..

2010. 6. 1. 07:21

깊이와 스텐실

후하후하..이번에 삽질좀 했군.ㅜㅜ. 기억하기. 깊이테스트든 스텐실 테스트든 결국 그리기의 여부를 판단하는 연산. 스텐실버퍼와 깊이버퍼는 물리적으로 하나의 버퍼를 나누어 사용한다. // 깊이스텐실 텍스처를 생성함. D3D10_TEXTURE2D_DESC descDepth; descDepth.Width = scd->BufferDesc.Width; descDepth.Height = scd->BufferDesc.Height; descDepth.MipLevels = 1; descDepth.ArraySize = 1; descDepth.Format = DXGI_FORMAT_D24_UNORM_S8_UINT; //스텐실도 포함. descDepth.SampleDesc.Count = 1; descDepth.SampleDes..

비디오 메모리, 시스템 메모리 체크하는법

출처 : http://gpgstudy.com/forum/viewtopic.php?t=2744 대충 이렇네요.. 코드: view source print? #include ... m_MaxAllocMem = m_pDevice->GetAvailableTextureMem(); ///// LPDIRECTDRAW7 lpDD = NULL; DDSCAPS2 ddsCaps2; DWORD dwTotal; DWORD dwFree; HRESULT hr; hr = DirectDrawCreateEx(NULL, (VOID**)&lpDD, IID_IDirectDraw7, NULL ); if (FAILED(hr)) return FALSE; // Initialize the structure. ZeroMemory(&ddsCaps2, si..

D3D10_SHADER Constants

D3D10_SHADER Constants HLSL compile options. #define Description D3D10_SHADER_AVOID_FLOW_CONTROL Tell compiler to not allow flow-control (when possible). D3D10_SHADER_DEBUG Insert debug file/line/type/symbol information. D3D10_SHADER_ENABLE_STRICTNESS By default, the HLSL compiler disables strictness on deprecated syntax. Specifying this flag enables strictness which may not allow for legacy syn..

D3D10_BLEND_OP Enumeration

D3D10_BLEND_OP Enumeration RGB or alpha blending operation. Syntax Copy typedef enum D3D10_BLEND_OP { D3D10_BLEND_OP_ADD = 1, D3D10_BLEND_OP_SUBTRACT = 2, D3D10_BLEND_OP_REV_SUBTRACT = 3, D3D10_BLEND_OP_MIN = 4, D3D10_BLEND_OP_MAX = 5 } D3D10_BLEND_OP; Constants D3D10_BLEND_OP_ADD Add source 1 and source 2. D3D10_BLEND_OP_SUBTRACT Subtract source 1 from source 2. D3D10_BLEND_OP_REV_SUBTRACT Subt..

D3D10_BLEND Enumeration

Blend options. A blend option identifies the data source and an optional pre-blend operation. Syntax Copy typedef enum D3D10_BLEND { D3D10_BLEND_ZERO = 1, D3D10_BLEND_ONE = 2, D3D10_BLEND_SRC_COLOR = 3, D3D10_BLEND_INV_SRC_COLOR = 4, D3D10_BLEND_SRC_ALPHA = 5, D3D10_BLEND_INV_SRC_ALPHA = 6, D3D10_BLEND_DEST_ALPHA = 7, D3D10_BLEND_INV_DEST_ALPHA = 8, D3D10_BLEND_DEST_COLOR = 9, D3D10_BLEND_INV_DE..