ÀÌÀå¿¡¼­ ´ÙÀÌ·º½º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     È¨À¸·Î     À妽º·Î