ÀÌÀå¿¡¼ ´ÙÀÌ·º½ºXÀÇ °¡Àå ±âº»ÀûÀÎ Ãʱâȸ¦ ´Ù·ê °ÍÀÌ´Ù.
´ÙÀÌ·ºÆ® X¶óÀ̺귯¸®¸¦ ¸µÅ©¿Í ÇÔ²² Çì´õ¸¦ Æ÷ÇÔ ½ÃÄÑ¾ß ÇÑ´Ù.
"#pragma comment (lib" ¹®À» »ç¿ëÇÔÀ¸·Î½á "d3d8.lib" ¶óÀ̺귯¸®¸¦ ¸µÅ© ½Ãų¼ö ÀÖ´Ù.
#include
#pragma comment (lib, "d3d8.lib")
´ÙÀÌ·ºÆ® XÀÇ ÇÔ¼ö¸¦ »ç¿ë Çϱâ À§Çؼ´Â ÀÎÅÍÆäÀ̽º¿Í µð¹ÙÀ̽º¸¦ ¼±¾ðÇÑ´Ù.
LPDIRECT3D8 p_d3d = NULL; // our main d3d8 interface
LPDIRECT3DDEVICE8 p_d3d_Device = NULL; // our d3d8 device
AppInit()ÇÔ¼ö¿¡¼ Ãʱâȸ¦ À§Çؼ ´ÙÀ½ ¶óÀÎÀ» »ðÀÔ ÇÒ°ÍÀÌ´Ù.
p_d3d = Direct3DCreate8 (D3D_SDK_VERSION);
D3DDISPLAYMODE d3ddm;
p_d3d->GetAdapterDisplayMode (D3DADAPTER_DEFAULT, &d3ddm);
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory (&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = true;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = d3ddm.Format;
p_d3d->CreateDevice (D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &p_d3d_Device);
- ´ëºÎºÐÀÇ ¸ÞÀÎ ·çƾ¿¡¼ D3D8 ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé¾î¾ß ÇÑ´Ù.
- ±×¶§ ¿ì¸®´Â ÇöÀç ½ºÅ©¸°(D3DDISPLAYMODE)ÀÇ ÇØ»óµµ¿Í °¢Á¾ Á¤º¸¸¦ ±×´ë·Î À¯ÁöÇÒ°ÍÀÌ´Ù.
D3D µð¹ÙÀ̽º¸¦ ¸¸µé±â Àü¿¡ µÎ¹ø° ¹öÆÛ¸¦ surface¸¦ ¾ËÇÊ¿ä°¡ ÀÖ´Ù.
D3D µð¹ÙÀ̽º¸¦ ¸¸µé¶§ D3DDEVTYPE_HAL¸¦ ÀÌ¿ëÇϱâ À§Çؼ´Â ù ¹ø° ÆĶó¹ÌÅÍ¿¡
D3DADAPTER_DEFAULT¸¦ ³Ñ°ÜÁà¾ß ÇÑ´Ù.
D3D µð¹ÙÀ̽º¸¦ ¸¸µé°Ô µÇ¸é RenderScreen ()¿¡¼ ¿øÇÏ´Â ÀÛ¾÷À» ÇÒ¼ö ÀÖ´Ù. ´ÙÀ½ÀÇ Äڵ带 º¸ÀÚ.
static int c=0;
p_d3d_Device->Clear (0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB (0, 0, c++), 1.0f, 0);
p_d3d_Device->BeginScene ();
p_d3d_Device->EndScene ();
p_d3d_Device->Present (NULL, NULL, NULL, NULL);
Clear ÇÔ¼ö¿¡¼ c++ °ªÀ» Á¶Á¤ÇÔÀ¸·Î½á ºí·¢¿¡¼ ºí·ç·Î ȸéÀÇ »ö±òÀ» ¹Ù²Ü¼ö ÀÖ´Ù.
Present ÇÔ¼ö¸¦ È£Ãâ ÇÔÀ¸·Î½á ´ÙÀ½ÀÇ Back Buffer·Î À̵¿ ½ÃŲ´Ù.
ÇÁ·Î±×·¥À» Á¾·á ÇÒ¶§´Â ½Ã½ºÅÛ¿¡¼ ºô·Á¿Â ¸®¼Ò½º¸¦ µ¹·ÁÁÙ ÇÊ¿ä°¡ ÀÖ´Ù.
Áï µð¹ÙÀ̽º¸¦ ÇØÁ¦ ½ÃÄÑ¾ß ÇÑ´Ù...
void DestroyDirect3D8 (void)
{
_RELEASE_ (p_d3d_Device);
_RELEASE_ (p_d3d);
};
¼Ò½ºº¸±â
DOWNLOAD
ȨÀ¸·Î
À妽º·Î
|