DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ¿­°ÅÇü D3DRENDERSTATETYPE   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
D3DRENDERSTATETYPE ¿­°ÅÇü
 
Microsoft DirectX 9.0

D3DRENDERSTATETYPE ¿­°ÅÇü


ÀåÄ¡ÀÇ ·»´õ¸µ ½ºÅ×ÀÌÆ®¸¦ Á¤ÀÇÇÑ´Ù.

±¸¹®

typedef enum _D3DRENDERSTATETYPE {
    D3DRS_ZENABLE = 7,
    D3DRS_FILLMODE = 8,
    D3DRS_SHADEMODE = 9,
    D3DRS_ZWRITEENABLE = 14,
    D3DRS_ALPHATESTENABLE = 15,
    D3DRS_LASTPIXEL = 16,
    D3DRS_SRCBLEND = 19,
    D3DRS_DESTBLEND = 20,
    D3DRS_CULLMODE = 22,
    D3DRS_ZFUNC = 23,
    D3DRS_ALPHAREF = 24,
    D3DRS_ALPHAFUNC = 25,
    D3DRS_DITHERENABLE = 26,
    D3DRS_ALPHABLENDENABLE = 27,
    D3DRS_FOGENABLE = 28,
    D3DRS_SPECULARENABLE = 29,
    D3DRS_FOGCOLOR = 34,
    D3DRS_FOGTABLEMODE = 35,
    D3DRS_FOGSTART = 36,
    D3DRS_FOGEND = 37,
    D3DRS_FOGDENSITY = 38,
    D3DRS_RANGEFOGENABLE = 48,
    D3DRS_STENCILENABLE = 52,
    D3DRS_STENCILFAIL = 53,
    D3DRS_STENCILZFAIL = 54,
    D3DRS_STENCILPASS = 55,
    D3DRS_STENCILFUNC = 56,
    D3DRS_STENCILREF = 57,
    D3DRS_STENCILMASK = 58,
    D3DRS_STENCILWRITEMASK = 59,
    D3DRS_TEXTUREFACTOR = 60,
    D3DRS_WRAP0 = 128,
    D3DRS_WRAP1 = 129,
    D3DRS_WRAP2 = 130,
    D3DRS_WRAP3 = 131,
    D3DRS_WRAP4 = 132,
    D3DRS_WRAP5 = 133,
    D3DRS_WRAP6 = 134,
    D3DRS_WRAP7 = 135,
    D3DRS_CLIPPING = 136,
    D3DRS_LIGHTING = 137,
    D3DRS_AMBIENT = 139,
    D3DRS_FOGVERTEXMODE = 140,
    D3DRS_COLORVERTEX = 141,
    D3DRS_LOCALVIEWER = 142,
    D3DRS_NORMALIZENORMALS = 143,
    D3DRS_DIFFUSEMATERIALSOURCE = 145,
    D3DRS_SPECULARMATERIALSOURCE = 146,
    D3DRS_AMBIENTMATERIALSOURCE = 147,
    D3DRS_EMISSIVEMATERIALSOURCE = 148,
    D3DRS_VERTEXBLEND = 151,
    D3DRS_CLIPPLANEENABLE = 152,
    D3DRS_POINTSIZE = 154,
    D3DRS_POINTSIZE_MIN = 155,
    D3DRS_POINTSPRITEENABLE = 156,
    D3DRS_POINTSCALEENABLE = 157,
    D3DRS_POINTSCALE_A = 158,
    D3DRS_POINTSCALE_B = 159,
    D3DRS_POINTSCALE_C = 160,
    D3DRS_MULTISAMPLEANTIALIAS = 161,
    D3DRS_MULTISAMPLEMASK = 162,
    D3DRS_PATCHEDGESTYLE = 163,
    D3DRS_DEBUGMONITORTOKEN = 165,
    D3DRS_POINTSIZE_MAX = 166,
    D3DRS_INDEXEDVERTEXBLENDENABLE = 167,
    D3DRS_COLORWRITEENABLE = 168,
    D3DRS_TWEENFACTOR = 170,
    D3DRS_BLENDOP = 171,
    D3DRS_POSITIONDEGREE = 172,
    D3DRS_NORMALDEGREE = 173,
    D3DRS_SCISSORTESTENABLE = 174,
    D3DRS_SLOPESCALEDEPTHBIAS = 175,
    D3DRS_ANTIALIASEDLINEENABLE = 176,
    D3DRS_MINTESSELLATIONLEVEL = 178,
    D3DRS_MAXTESSELLATIONLEVEL = 179,
    D3DRS_ADAPTIVETESS_X = 180,
    D3DRS_ADAPTIVETESS_Y = 181,
    D3DRS_ADAPTIVETESS_Z = 182,
    D3DRS_ADAPTIVETESS_W = 183,
    D3DRS_ENABLEADAPTIVETESSELATION = 184,
    D3DRS_TWOSIDEDSTENCILMODE = 185,
    D3DRS_CCW_STENCILFAIL = 186,
    D3DRS_CCW_STENCILZFAIL = 187,
    D3DRS_CCW_STENCILPASS = 188,
    D3DRS_CCW_STENCILFUNC = 189,
    D3DRS_COLORWRITEENABLE1 = 190,
    D3DRS_COLORWRITEENABLE2 = 191,
    D3DRS_COLORWRITEENABLE3 = 192,
    D3DRS_BLENDFACTOR = 193,
    D3DRS_SRGBWRITEENABLE = 194,
    D3DRS_DEPTHBIAS = 195,
    D3DRS_WRAP8 = 198,
    D3DRS_WRAP9 = 199,
    D3DRS_WRAP10 = 200,
    D3DRS_WRAP11 = 201,
    D3DRS_WRAP12 = 202,
    D3DRS_WRAP13 = 203,
    D3DRS_WRAP14 = 204,
    D3DRS_WRAP15 = 205,
    D3DRS_SEPARATEALPHABLENDENABLE = 206,
    D3DRS_SRCBLENDALPHA = 207,
    D3DRS_DESTBLENDALPHA = 208,
    D3DRS_BLENDOPALPHA = 209,
    D3DRS_FORCE_DWORD = 0x7fffffff
} D3DRENDERSTATETYPE;

Á¤¼ö

D3DRS_ZENABLE

D3DZBUFFERTYPE ¿­°ÅÇüÀÇ 1 °³ÀÇ ¸â¹ö·Î¼­ÀÇ ±íÀÌ ¹öÆÛ¸µ ½ºÅ×ÀÌÆ®. z ¹öÆÛ¸µÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é D3DZB_TRUE, w ¹öÆÛ¸µÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é D3DZB_USEW, ±íÀÌ ¹öÆÛ¸µÀ» ¹«È¿·Î ÇÏ·Á¸é D3DZB_FALSE ¸¦ °¢°¢ ¼³Á¤ÇÑ´Ù.

D3DPRESENT_PARAMETERS ±¸Á¶Ã¼ÀÇ EnableAutoDepthStencil ¸â¹ö¿¡ TRUE ¸¦ ¼³Á¤ÇØ ½ºÅÙ½ÇÀÌ ½º¿Ò üÀΰú ÇÔ²² »ý¼º µÇ°í ÀÖ´Â °æ¿ì, ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®ÀÇ µðÆúÆ®°ªÀº D3DZB_TRUE, ±×·¸Áö ¾ÊÀº °æ¿ì´Â D3DZB_FALSE ÀÌ´Ù.

D3DRS_FILLMODE

D3DFILLMODE ¿­°ÅÇüÀÇ 1 °³ ¶Ç´Â º¹¼öÀÇ ¸â¹ö. µðÆúÆ®°ªÀº D3DFILL_SOLID ÀÌ´Ù.

D3DRS_SHADEMODE

D3DSHADEMODE ¿­°ÅÇüÀÇ 1 °³ ¶Ç´Â º¹¼öÀÇ ¸â¹ö. µðÆúÆ®°ªÀº D3DSHADE_GOURAUD ÀÌ´Ù.

D3DRS_ZWRITEENABLE

¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÇÇÑ ±íÀÌ ¹öÆÛ¿¡ÀÇ ¾²±â¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é , TRUE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº TRUE ÀÌ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀº ÀÌ ¸â¹ö¸¦ ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î½á, ½Ã½ºÅÛÀÌ »õ·Î¿î ±íÀ̰ªÀ¸·Î ±íÀÌ ¹öÆÛ¸¦ °»½ÅÇÏ´Â °ÍÀ» ¸·À» ¼ö°¡ ÀÖ´Ù. FALSE ÀÇ °æ¿ì´Â, ·»´õ¸µ ½ºÅ×ÀÌÆ® D3DRS_ZFUNC (±íÀÌ ¹öÆÛ¸µÀ» Çϰí ÀÖÀ¸¸é °¡Á¤)¿¡ µû¶ó ±íÀÌ ºñ±³°¡ ½ÇÇàµÇÁö¸¸, ±íÀ̰ªÀº ¹öÆÛ¿¡ ±âÀÔÇØÁöÁö ¾Ê´Ù.

D3DRS_ALPHATESTENABLE

Çȼ¿¸¶´Ù ¾ËÆÄ Å×½ºÆ®¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é , TRUE ¸¦ ¼³Á¤ÇÑ´Ù. Å×½ºÆ®°¡ ¼º°øÇϸé Çȼ¿ÀÌ frame buffer¿¡ ÀÇÇØ 󸮵ȴÙ. ½ÇÆÐ Çϸé, ±× Çȼ¿ÀÇ ¸ðµç frame buffer 󸮴 ½ºÅµ µÈ´Ù.

D3DRS_ALPHAFUNC ·»´õ¸µ ½ºÅ×ÀÌÆ®¿¡ ÀÇÇØ Á¦°øµÇ´Â ºñ±³ ÇÔ¼ö¸¦ »ç¿ëÇØ, µé¾î ¿À´Â ¾ËÆÄ°ªÀ» ±âÁØ ¾ËÆÄ°ª°ú ºñ±³ÇØ Å×½ºÆ®¸¦ ½Ç½ÃÇÑ´Ù. ±âÁØ ¾ËÆÄ°ªÀº,D3DRS_ALPHAREF ÀÇ ¼³Á¤°ªÀ¸·Î Á¤ÇØÁø´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸¾ËÆÄ ½ÇÇè ½ºÅ×ÀÌÆ®¡¹¸¦ ÂüÁ¶ÇÒ°Í.

ÀÌ ÆÄ¶ó¹ÌÅÍÀÇ µðÆúÆ®°ªÀº FALSE ÀÌ´Ù.

D3DRS_LASTPIXEL

µðÆúÆ®°ªÀº TRUE À̸ç, ¼±À¸·Î ¸¶Áö¸· Çȼ¿ÀÇ µå·ÎÀ×(Drawing)¸¦ À¯È¿ÇÏ°Ô ÇÑ´Ù. ¸¶Áö¸· Çȼ¿À» µå·ÎÀ×(Drawing) ÇÏÁö ¾Ê°Ô ÇÏ·Á¸é , ÀÌ °ªÀ» FALSE ·Î ¼³Á¤ÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸¾Æ¿ìÆ®¶óÀÎ ¹× ÀüºÎ Ä¥ÇØ ½ºÅ×ÀÌÆ®¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_SRCBLEND

D3DBLEND ¿­°ÅÇüÀÇ ¸â¹öÁß ÇϳªÀÌ´Ù. µðÆúÆ®°ªÀº D3DBLEND_ONE ÀÌ´Ù.

D3DRS_DESTBLEND

D3DBLEND ¿­°ÅÇüÀÇ ¸â¹öÁß ÇϳªÀÌ´Ù. µðÆúÆ®°ªÀº D3DBLEND_ZERO ÀÌ´Ù.

D3DRS_CULLMODE

µÞ¸éÀÇ »ï°¢ÇüÀ» Äøµ(Culling) ÇÏ´Â °æ¿ì¿¡, ±×¹æ¹ýÀ» ÁöÁ¤ÇÑ´Ù. D3DCULL ¿­°ÅÇüÀÇ ¸â¹öÀÇ ¾î´ÀÂÊÀ̵çÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®°ªÀº D3DCULL_CCW ÀÌ´Ù.

D3DRS_ZFUNC

D3DCMPFUNC ¿­°ÅÇüÀÇ ¸â¹öÁß ÇϳªÀÌ´Ù. µðÆúÆ®°ªÀº D3DCMP_LESSEQUAL ÀÌ´Ù. ÀÌ ¸â¹ö´Â, ¾ÖÇø®ÄÉÀ̼ǿ¡Ä«¸Þ¶ó·ÎºÎÅÍÀÇ °Å¸®¸¦ ±âÁØÀ¸·Î ÇÏ´Â Çȼ¿ÀÇ ¼öÃ볪 ¹Þ¾Æ °ÅºÎ¸¦ Çã°¡ÇÑ´Ù.

Çȼ¿ÀÇ ±íÀ̰ªÀ» ±íÀÌ ¹öÆÛÀÇ °ª°ú ºñ±³ÇÑ´Ù. Çȼ¿ÀÇ ±íÀ̰ªÀÌ ºñ±³ ÇÔ¼ö·Î Çã°¡µÇ¾úÀ» °æ¿ì´Â, Çȼ¿ÀÌ ½áÁø´Ù.

±íÀ̰ªÀÌ ±íÀÌ ¹öÆÛ¿¡ ½á³Ö¾îÁö´Â °ÍÀº, ·»´õ¸µ ½ºÅ×ÀÌÆ®°¡ TRUE ÀÇ °æ¿ì »ÓÀÌ´Ù.

ÀÌ ±íÀÌ Å×½ºÆ®¿¡ ½ÇÆÐÇÏ´Â ÂÊÀÌ, ¼ÒÇÁÆ®¿þ¾î¿¡ ÀÇÇÑ ·¡½ºÅÍÈ­³ª ¸¹Àº Çϵå¿þ¾î °¡¼Ó±âÀÇ Ã³¸®´Â »¡¶óÁø´Ù. À̰ÍÀº, Çȼ¿ÀÇ ·»´õ¸µ 󸮸¦ ½Ç½ÃÇÏÁö ¾Ê´Â °æ¿ì¿¡, ÅØ½ºÃ³¸¦ ÇÊÅÍ Ã³¸®Çϰųª °ö¼ÀÇϰųª ÇÒ Çʿ䰡 ¾ø¾îÁö±â ¶§¹®¿¡ ÀÖ´Ù.

D3DRS_ALPHAREF

¾ËÆÄ Å×½ºÆ®°¡ À¯È¿ÇÏ°Ô ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡, Çȼ¿À» Å×½ºÆ®Çϱâ À§ÇÑ ±âÁØ ¾ËÆÄ°ªÀ» ÁöÁ¤ÇÏ´Â °ª. À̰ÍÀº,DWORD ·»´õ¸µ ½ºÅ×ÀÌÆ®°ªÀÇ ÇÏÀ§ 8 ºñÆ®¿¡ ÇØ´çÇÏ´Â 8 ºñÆ®°ªÀÌ´Ù. °ªÀº 0x00000000 ¿¡¼­ 0x000000FF ÀÇ ¹üÀ§³»ÀÌ´Ù. µðÆúÆ®°ªÀº 0 ÀÌ´Ù.

D3DRS_ALPHAFUNC

D3DCMPFUNC ¿­°ÅÇüÀÇ ¸â¹öÁß ÇϳªÀÌ´Ù. µðÆúÆ®°ªÀº, D3DCMP_ALWAYS ÀÌ´Ù. ÀÌ ¸â¹ö´Â, ¾ÖÇø®ÄÉÀ̼ǿ¡ ¾ËÆÄ°ªÀ» ±âÁØÀ¸·Î ÇÏ´Â Çȼ¿ÀÇ ¼öÃ볪 ¹Þ¾Æ °ÅºÎ¸¦ Çã°¡ÇÑ´Ù.

D3DRS_DITHERENABLE

µð´õ ¸µÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é , TRUE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù.

D3DRS_ALPHABLENDENABLE

¾ËÆÄ ºí·»µå¿¡ ÀÇÇÑ Åõ¸íÈ­¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é , TRUE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù.

¾ËÆÄ È¥ÇÕÀÇ Å¸ÀÔÀº, D3DRS_SRCBLEND ¿Í D3DRS_DESTBLEND ÀÇ ·»´õ¸µ ½ºÅ×ÀÌÆ®¿¡ ÀÇÇØ Á¤ÇØÁø´Ù.

D3DRS_FOGENABLE

Æ÷±×(¾È°³:fog) È¥ÇÕÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é , TRUE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù. Æ÷±×(¾È°³:fog) È¥ÇÕÀÇ »ç¿ë¹ýÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸Æ÷±×(¾È°³:fog)¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_SPECULARENABLE

½ºÆåÅ¥·¯ ÇÏÀ̶óÀÌÆ®¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é , TRUE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù.

½ºÆåÅ¥·¯ ÇÏÀ̶óÀÌÆ®´Â, ºûÀÌ ¸Â°í ÀÖ´Â °³Ã¼ÀÇ °¢ Á¤Á¡ÀÌ ±× °³Ã¼ÀÇ ¿øÁ¡¿¡ ÀÖ´Â°Í °°ÀÌ »êÃâµÈ´Ù. À̰Ϳ¡ ÀÇÇØ, °³Ã¼°¡ ¿øÁ¡ÀÇ ÁÖÀ§·Î ¸ðµ¨È­ µÇ¾î ±¤¿ø°ú °³Ã¼°£ÀÇ °Å¸®°¡ ºñ±³Àû Å« °æ¿ì¿¡ ÇÑÁ¤ÇØ, °á°ú¸¦ ¿¹ÃøÇÒ ¼ö°¡ ÀÖ´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì, °á°ú´Â ºÎÁ¤ÀÌ´Ù.

ÀÌ ¸â¹ö¿¡ TRUE ¸¦ ¼³Á¤ Çϸé, ÅØ½ºÃ³ cascade ÈÄ, ¾ËÆÄ È¥ÇÕÀü¿¡, º£À̽º Ä÷¯¿¡ ½ºÆåÅ¥·¯»öÀÌ Ãß°¡µÈ´Ù.

D3DRS_FOGCOLOR

D3DCOLOR ÇüÀÇ °ª. µðÆúÆ®°ªÀº 0 ÀÌ´Ù. Æ÷±×(¾È°³:fog) Ä÷¯ÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸Æ÷±×(¾È°³:fog)»ö¡¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_FOGTABLEMODE

Çȼ¿ Æ÷±×(¾È°³:fog)¿¡ »ç¿ëµÇ´Â Æ÷±×(¾È°³:fog)½Ä. D3DFOGMODE ¿­°ÅÇüÀÇ ¸â¹öÀÇ ¾î´ÀÂÊÀ̵çÀ» ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº D3DFOG_NONE ÀÌ´Ù. Çȼ¿ Æ÷±×(¾È°³:fog)ÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸Çȼ¿ Æ÷±×(¾È°³:fog)¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_FOGSTART

¼±Çü Æ÷±×(¾È°³:fog) ¸ðµå·Î, Çȼ¿ ¶Ç´Â Á¤Á¡ Æ÷±×(¾È°³:fog) ÀÌÆåÆ®°¡ ½ÃÀÛ ÇÏ´Â ±íÀÌ. µðÆúÆ®°ªÀº 0.0f ÀÌ´Ù. ±íÀÌ´Â, Á¤Á¡ Æ÷±×(¾È°³:fog)ÀÇ °æ¿ì´Â ¿ùµå °ø°£¿¡¼­, Çȼ¿ Æ÷±×(¾È°³:fog)ÀÇ °æ¿ì´Â ÀåÄ¡ °ø°£ [0.0, 1.0] ¶Ç´Â ¿ùµå °ø°£ÀÇ ¾î´ÀÂÊÀ̵çÀ¸·Î ÁöÁ¤ÇÑ´Ù. Çȼ¿ Æ÷±×(¾È°³:fog)¿¡¼­´Â, Æ÷±×(¾È°³:fog) °è»ê¿¡ z ¸¦ »ç¿ëÇÏ´Â °æ¿ì, ÀÌ·¯ÇÑ °ªÀº ÀåÄ¡ °ø°£¿¡ ÀÖ¾î, ½ÃÁ¡°úÀÇ »ó´ë Æ÷±×(¾È°³:fog) (w Æ÷±×(¾È°³:fog))¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â ¿ùµå °ø°£¿¡ ÀÖ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸Æ÷±×(¾È°³:fog) ÆÄ¶ó¹ÌÅÍ¡¹ ¹× ¡¸½ÃÁ¡À¸·ÎºÎÅÍÀÇ »ó´ë ±íÀÌ´ë Z º£À̽ºÀÇ ±íÀÌ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®ÀÇ °ªÀº ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_FOGSTART, *((DWORD*) (&fFogStart)));

D3DRS_FOGEND

¼±Çü Æ÷±×(¾È°³:fog) ¸ðµå·Î, Çȼ¿ ¶Ç´Â Á¤Á¡ Æ÷±×(¾È°³:fog) ÀÌÆåÆ®°¡ Á¾·áÇÏ´Â ±íÀÌ. µðÆúÆ®°ªÀº 1.0f ÀÌ´Ù. ±íÀÌ´Â, Á¤Á¡ Æ÷±×(¾È°³:fog)ÀÇ °æ¿ì´Â ¿ùµå °ø°£¿¡¼­, Çȼ¿ Æ÷±×(¾È°³:fog)ÀÇ °æ¿ì´Â ÀåÄ¡ °ø°£ [0.0, 1.0] ¶Ç´Â ¿ùµå °ø°£ÀÇ ¾î´ÀÂÊÀ̵çÀ¸·Î ÁöÁ¤ÇÑ´Ù. Çȼ¿ Æ÷±×(¾È°³:fog)¿¡¼­´Â, Æ÷±×(¾È°³:fog) °è»ê¿¡ z ¸¦ »ç¿ëÇÏ´Â °æ¿ì, ÀÌ·¯ÇÑ °ªÀº ÀåÄ¡ °ø°£¿¡ ÀÖ¾î, ½ÃÁ¡°úÀÇ »ó´ë Æ÷±×(¾È°³:fog) (w Æ÷±×(¾È°³:fog))¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â ¿ùµå °ø°£¿¡ ÀÖ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸Æ÷±×(¾È°³:fog) ÆÄ¶ó¹ÌÅÍ¡¹ ¹× ¡¸½ÃÁ¡À¸·ÎºÎÅÍÀÇ »ó´ë ±íÀÌ´ë Z º£À̽ºÀÇ ±íÀÌ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®ÀÇ °ªÀº ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_FOGEND, *((DWORD*) (&fFogEnd)));

D3DRS_FOGDENSITY

Áö¼ö Æ÷±×(¾È°³:fog) ¸ðµå (D3DFOG_EXP ¹× D3DFOG_EXP2)·Î »ç¿ëÇÏ´Â Çȼ¿ ¶Ç´Â Á¤Á¡ Æ÷±×(¾È°³:fog)ÀÇ Æ÷±×(¾È°³:fog) ¹Ðµµ. À¯È¿ÇÑ ¹ÐµµÀÇ °ªÀº 0.0 ¿¡¼­ 1.0 ÀÇ ¹üÀ§³»ÀÌ´Ù. µðÆúÆ®°ªÀº 1.0 ÀÌ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸Æ÷±×(¾È°³:fog) ÆÄ¶ó¹ÌÅÍ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®ÀÇ °ªÀº ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_FOGDENSITY, *((DWORD*) (&fFogDensity)));

D3DRS_RANGEFOGENABLE

¹üÀ§ º£À̽ºÀÇ Á¤Á¡ Æ÷±×(¾È°³:fog)¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é , TRUE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ·Î, ½Ã½ºÅÛÀº ±íÀÌ º£À̽ºÀÇ Æ÷±×(¾È°³:fog)¸¦ »ç¿ëÇÑ´Ù. ¹üÀ§ º£À̽ºÀÇ Æ÷±×(¾È°³:fog)¿¡¼­´Â, Àå¸é(scene)¿¡ À־ÀÇ °³Ã¼ÀÇ ±íÀÌ (z ÁÂÇ¥)´Â ¾Æ´Ï°í, ºä¾î·ÎºÎÅÍÀÇ °³Ã¼ÀÇ °Å¸®·Î Æ÷±×(¾È°³:fog) ÀÌÆåÆ®¸¦ °è»êÇÑ´Ù. ¹üÀ§ º£À̽ºÀÇ Æ÷±×(¾È°³:fog)¿¡¼­´Â, º¸ÅëÀÇ ¸ðµç Æ÷±×(¾È°³:fog) ¸Þ¼­µå°¡ ±â´ÉÇÏÁö¸¸, ±íÀÌ´Â ¾Æ´Ï°í ¹üÀ§¸¦ »ç¿ëÇØ °è»êÀ» ½Ç½ÃÇÏ´Â Á¡¸¸ÀÌ ´Ù¸£´Ù.

¹üÀ§´Â Æ÷±×(¾È°³:fog) °è»ê¿¡ »ç¿ëÇÏ´Â ÀûÀýÇÑ ¿ä¼ÒÀÌÁö¸¸, ¹üÀ§´Â °è»ê¿¡ ½Ã°£ÀÌ °É·Á, ±íÀÌ´Â º¸Åë °è»êÀÌ ³¡³­ »óÅÂÀ̹ǷÎ, ´ë½Å¿¡ ±íÀ̰¡ ³Ð°Ô »ç¿ëµÈ´Ù. ±íÀ̸¦ »ç¿ëÇØ Æ÷±×(¾È°³:fog)¸¦ °è»ê Çϸé, ÁÖº¯ °³Ã¼ÀÇ Æ÷±×(¾È°³:fog) ÀÌÆåÆ®°¡ ½ÃÁ¡ÀÇ À̵¿°ú ÇÔ²² º¯È­ ÇÏ¸é ¸»ÇÏ´Â ¹Ù¶÷Á÷ÇÏÁö ¾ÊÀº ¿µÇâÀÌ ³ª¿Â´Ù. ÀÌ °æ¿ì, ±íÀÌ´Â º¯È­ÇÏÁö¸¸ ¹üÀ§´Â ÀÏÁ¤ÇÑ ±îÁö ÀÖ´Ù.

ÇöÀç·Î¼­´Â, Çȼ¿ ´ÜÀ§ÀÇ ¹üÀ§ º£À̽ºÀÇ Æ÷±×(¾È°³:fog)¸¦ Áö¿ø ÇÏ´Â Çϵå¿þ¾î´Â Á¸ÀçÇÏÁö ¾Ê±â ¶§¹®¿¡, ¹üÀ§ º¸Á¤Àº Á¤Á¡ Æ÷±×(¾È°³:fog)¿¡¼­¸¸ ÇàÇØÁø´Ù.

´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸Á¤Á¡ Æ÷±×(¾È°³:fog)¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_STENCILENABLE

½ºÅÙ½Ç Ã³¸®¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é TRUE ¸¦ ¼³Á¤ÇØ, ½ºÅÙ½Ç Ã³¸®¸¦ ¹«È¿·Î ÇÏ·Á¸é FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù.

´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸½ºÅÙ½Ç ¹öÆÛ Å×Å©´Ð¡¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_STENCILFAIL

½ºÅÙ½Ç Å×½ºÆ®¿¡ ½ÇÆÐÇßÀ» ¶§¿¡ ½ÇÇàÇÏ´Â ½ºÅÙ½Ç Ã³¸®. À̰Ϳ¡´Â D3DSTENCILCAPS ÀÇ ¸î°³ÀÇ Á¤¼ö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®°ªÀº D3DSTENCILOP_KEEP ÀÌ´Ù.

´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸½ºÅÙ½Ç ¹öÆÛ Å×Å©´Ð¡¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_STENCILZFAIL

½ºÅÙ½Ç Å×½ºÆ®¿¡ ÆÐ½ºÇØ, ±íÀÌ Å×½ºÆ® (Z Å×½ºÆ®)¿¡ ½ÇÆÐÇßÀ» °æ¿ì¿¡ ½ÇÇàÇÏ´Â ½ºÅÙ½Ç Ã³¸®. À̰Ϳ¡´Â D3DSTENCILCAPS ÀÇ ¸î°³ÀÇ Á¤¼ö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®°ªÀº D3DSTENCILOP_KEEP ÀÌ´Ù.

D3DRS_STENCILPASS

½ºÅÙ½Ç Å×½ºÆ® ¹× ±íÀÌ (Z) Å×½ºÆ®ÀÇ ¾çÂÊ ¸ðµÎ¿¡ ÆÐ½ºÇßÀ» °æ¿ì¿¡ ½ÇÇàÇÏ´Â ½ºÅÙ½Ç Ã³¸®. À̰Ϳ¡´Â D3DSTENCILCAPS ÀÇ ¸î°³ÀÇ Á¤¼ö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®°ªÀº D3DSTENCILOP_KEEP ÀÌ´Ù.

D3DRS_STENCILFUNC

½ºÅÙ½Ç Å×½ºÆ®¸¦ À§ÇÑ ºñ±³ ÇÔ¼ö. À̰Ϳ¡´Â D3DCMPFUNC ¿­°ÅÇüÀÇ ¸â¹öÀÇ ¾î´ÀÂÊÀ̵çÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®°ªÀº, D3DCMP_ALWAYS ÀÌ´Ù.

ºñ±³ ÇÔ¼ö´Â, ½ºÅÙ½Ç ¹öÆÛÀÇ ¿ä¼Ò¸¦ ±âÁØÄ¡¿Í ºñ±³Çϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëµÈ´Ù. ÀÌ ºñ±³´Â, ±âÁØÄ¡ÀÇ ºñÆ®, ¹× ½ºÅÙ½Ç ¸¶½ºÅ© (D3DRS_STENCILMASK ·»´õ¸µ ½ºÅ×ÀÌÆ®¿¡ ÀÇÇØ ¼³Á¤)·Î ¼³Á¤µÈ ½ºÅÙ½Ç ¹öÆÛ ¿ä¼Ò¿¡¸¸ Àû¿ëµÈ´Ù. TRUE ÀÇ °æ¿ì´Â, ½ºÅÙ½Ç Å×½ºÆ®¿¡ ÆÐ½ºÇÑ´Ù.

D3DRS_STENCILREF

½ºÅÙ½Ç Å×½ºÆ®¸¦ À§ÇÑ int ±âÁØÄ¡. µðÆúÆ®°ªÀº 0 ÀÌ´Ù.

D3DRS_STENCILMASK

±âÁØÄ¡ ¹× °¢ ½ºÅÙ½Ç ¹öÆÛ ¿ä¼Ò¿¡ Àû¿ëÇØ, ½ºÅÙ½Ç Å×½ºÆ®¸¦ À§ÇÑ À¯È¿ ºñÆ®¸¦ °áÁ¤ÇÏ´Â ¸¶½ºÅ©. µðÆúÆ® ¸¶½ºÅ©´Â 0xFFFFFFFF ÀÌ´Ù.

D3DRS_STENCILWRITEMASK

½ºÅÙ½Ç ¹öÆÛ¿¡ ±âÀÔÇÏ´Â °ª¿¡ Àû¿ëÇÏ´Â ¾²±â ¸¶½ºÅ©. µðÆúÆ® ¸¶½ºÅ©´Â 0xFFFFFFFF ÀÌ´Ù.

D3DRS_TEXTUREFACTOR

D3DTA_TFACTOR ÅØ½ºÃ³ È¥ÇÕ Àμö ¶Ç´Â D3DTOP_BLENDFACTORALPHA ÅØ½ºÃ³ È¥ÇÕ Ã³¸®¿¡ ÀÇÇÑ ¸ÖƼ ÅØ½ºÃ³ È¥ÇÕÀ¸·Î »ç¿ëµÇ´Â »ö. °ü·ÃÇÏ´Â °ªÀº D3DCOLOR º¯¼öÀÌ´Ù. µðÆúÆ®°ªÀº ºÒÅõ¸íÀÇ Èò»ö (0xFFFFFFFF)ÀÌ´Ù.

D3DRS_WRAP0

º¹¼öÀÇ ÅØ½ºÃ³ ÁÂÇ¥ ¼¼Æ®¿¡ ´ëÇÑ ÅØ½ºÃ³ ·¦ÇÎ µ¿ÀÛ. ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®ÀÇ À¯È¿°ªÀ¸·Î D3DWRAPCOORD_0 (¶Ç´Â D3DWRAP_U), D3DWRAPCOORD_1 (¶Ç´Â D3DWRAP_V), D3DWRAPCOORD_2 (¶Ç´Â D3DWRAP_W), ¹× D3DWRAPCOORD_3 ÀÇ °¢ Ç÷¡±×¸¦ Á¶ÇÕÇÒ ¼ö°¡ ÀÖ´Ù. ÀÌ·¯ÇÑ °ªÀ» ¼³Á¤ Çϸé, ÁöÁ¤µÈ ÅØ½ºÃ³¿¡ ´ëÇØ¼­ 1, 2, 3, ¹× 4 Â÷¿ø ¹æÇâ (s, t, r, ¹× q ¹æÇâÀ¸·Î ºÒ¸®´Â °æ¿ìµµ ÀÖ´Ù)ÀÇ ·¦ÇÎÀÌ ½ÇÇàµÈ´Ù. ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®ÀÇ µðÆúÆ®°ªÀº 0 ÀÌ´Ù (Àü¹æÇâÀÇ ·¦ÇÎÀÌ ¹«È¿).

D3DRS_WRAP1

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP2

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP3

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP4

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP5

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP6

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP7

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_CLIPPING

Microsoft® Direct3D® ¿¡ ÀÇÇÑ ±âº»µµÇüÀÇ Å¬¸®ÇÎÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é TRUE, ¹«È¿·Î ÇÏ·Á¸é FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº TRUE ÀÌ´Ù.

D3DRS_LIGHTING

Direct3D ÀÇ Á¶¸íÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é TRUE, ¹«È¿·Î ÇÏ·Á¸é FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº TRUE ÀÌ´Ù. Á¤Á¡ ¹ý¼±À» Æ÷ÇÔÇÑ Á¤Á¡¸¸ ¿Ã¹Ù¸£°Ô ¶óÀÌÆ®°¡ ´î ¼ö ÀÖ¾î ¹ý¼±À» Æ÷ÇÔÇÏÁö ¾Ê´Â Á¤Á¡¿¡¼­´Â ¸ðµç Á¶¸í °è»êÀ¸·Î 0 ÀÇ ³»ÀûÀÌ »ç¿ëµÈ´Ù.

D3DRS_AMBIENT

¾Úºñ¾ðÆ® ¶óÀÌÆ®ÀÇ »ö. ÀÌ °ªÀº D3DCOLOR ÇüÀÌ´Ù. µðÆúÆ®°ªÀº 0 ÀÌ´Ù.

D3DRS_FOGVERTEXMODE

Á¤Á¡ Æ÷±×(¾È°³:fog)·Î »ç¿ëµÇ´Â Æ÷±×(¾È°³:fog)½Ä. D3DFOGMODE ¿­°ÅÇüÀÇ ¸â¹öÀÇ ¾î´ÀÂÊÀ̵çÀ» ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº D3DFOG_NONE ÀÌ´Ù.

D3DRS_COLORVERTEX

Á¤Á¡ ´ÜÀ§ÀÇ »öÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é TRUE, ¹«È¿·Î ÇÏ·Á¸é FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº TRUE ÀÌ´Ù. Á¤Á¡ ´ÜÀ§ÀÇ »öÀ» À¯È¿ÇÏ°Ô Çϸé, °¢ Á¤Á¡¿¡ Á¤ÀÇµÈ »öÀ» Á¶¸í °è»êÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.

´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ÀÌÇÏÀÇ ·»´õ¸µ ½ºÅ×ÀÌÆ®¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_LOCALVIEWER

Ä«¸Þ¶ó¿ÍÀÇ »ó´ë °¢µµ¿¡ ÀÇÁ¸ÇÑ ½ºÆåÅ¥·¯ ÇÏÀ̶óÀÌÆ®¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é TRUE ¸¦ ¼³Á¤ÇØ, Á¤½ºÆåÅ¥·¯ ÇÏÀ̶óÀÌÆ®¸¦ »ç¿ëÇÏ·Á¸é FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº TRUE ÀÌ´Ù. Á¤»ç¿µÀ» »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â FALSE ¸¦ ¼³Á¤ÇÏ´Â °Í.

D3DRS_NORMALIZENORMALS

Á¤Á¡ ¹ý¼±ÀÇ ÀÚµ¿ Á¤±ÔÈ­¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é TRUE, ¹«È¿·Î ÇÏ·Á¸é FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù. ÀÌ ±â´ÉÀ» À¯È¿ÇÏ°Ô Çϸé, Á¤Á¡ÀÌ Ä«¸Þ¶ó °ø°£¿¡ º¯È¯ µÈ ´ÙÀ½¿¡ Á¤Á¡ ¹ý¼±ÀÌ Á¤±ÔÈ­µÇÁö¸¸, °è»ê¿¡ ½Ã°£ÀÌ °É¸°´Ù.

D3DRS_DIFFUSEMATERIALSOURCE

Á¶¸í °è»ê¿¡ »ç¿ëµÇ´Â µðÇ»Áî»öÀÇ ¼Ò½º. À¯È¿ÇÑ °ªÀº,D3DMATERIALCOLORSOURCE ¿­°ÅÇüÀÇ ¸â¹öÀÌ´Ù. µðÆúÆ®°ªÀº D3DMCS_COLOR1 ÀÌ´Ù. ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®ÀÇ °ªÀÌ »ç¿ëµÇ´Â °ÍÀº, D3DRS_COLORVERTEX ·»´õ¸µ ½ºÅ×ÀÌÆ®°¡ TRUE ·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì »ÓÀÌ´Ù.

D3DRS_SPECULARMATERIALSOURCE

Á¶¸í °è»ê¿¡ »ç¿ëµÇ´Â ½ºÆåÅ¥·¯»öÀÇ ¼Ò½º. À¯È¿ÇÑ °ªÀº,D3DMATERIALCOLORSOURCE ¿­°ÅÇüÀÇ ¸â¹öÀÌ´Ù. µðÆúÆ®°ªÀº D3DMCS_COLOR2 ÀÌ´Ù.

D3DRS_AMBIENTMATERIALSOURCE

Á¶¸í °è»ê¿¡ »ç¿ëµÇ´Â ¾Úºñ¾ðÆ®»öÀÇ ¼Ò½º. À¯È¿ÇÑ °ªÀº,D3DMATERIALCOLORSOURCE ¿­°ÅÇüÀÇ ¸â¹öÀÌ´Ù. µðÆúÆ®°ªÀº D3DMCS_MATERIAL ÀÌ´Ù.

D3DRS_EMISSIVEMATERIALSOURCE

Á¶¸í °è»ê¿¡ »ç¿ëµÇ´Â ¿¡¹Ì¼Ç(emission)»öÀÇ ¼Ò½º. À¯È¿ÇÑ °ªÀº,D3DMATERIALCOLORSOURCE ¿­°ÅÇüÀÇ ¸â¹öÀÌ´Ù. µðÆúÆ®°ªÀº D3DMCS_MATERIAL ÀÌ´Ù.

D3DRS_VERTEXBLEND

Áö¿À¸ÞÆ®¸®°¡ ÀÖ´Â °æ¿ì, Áö¿À¸ÞÆ®¸® È¥ÇÕÀ» ½ÇÇàÇϱâ À§Çؼ­ »ç¿ëÇÏ´Â Çà·ÄÀÇ °³¼ö. À¯È¿ÇÑ °ªÀº,D3DVERTEXBLENDFLAGS ¿­°ÅÇüÀÇ ¸â¹öÀÌ´Ù. µðÆúÆ®°ªÀº D3DVBF_DISABLE ÀÌ´Ù.

D3DRS_CLIPPLANEENABLE

»ç¿ëÀÚ Á¤ÀÇÀÇ Å¬¸³¸éÀ» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÑ´Ù. À¯È¿ÇÑ °ªÀº, °¢ ºñÆ®ÀÇ ½ºÅ×ÀÌÅͽº (¼³Á¤ÀÇ À¯¹«)¿¡ ÀÇÇØ ´ëÀÀÇÏ´Â »ç¿ëÀÚ Á¤ÀÇ Å¬¸³¸éÀ» ¾×ƼºêÇÏ°Ô ÇÏ´Â ½ºÅ×ÀÌÆ®¸¦ ¹Ù²Ù´Â, ÀÓÀÇÀÇ DWORD ÀÌ´Ù. ÃÖÇÏÁ¤µµ ºñÆ® (ºñÆ® 0)´Â À妽º 0 ÀÇ ÃÖÃÊÀÇ Å¬¸³¸éÀ» Á¦¾îÇØ, ÈÄ¼Ó ºñÆ®´Â ±×°Íº¸´Ù »óÀ§ÀÇ À妽ºÀÇ Å¬¸³¸éÀ» ¾×ƼºêÇÏ°Ô ÇÏ´Â °ÍÀ» Á¦¾îÇÑ´Ù. ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, Àå¸é(scene)ÀÇ ·»´õ¸µÁß¿¡ ÀûÀýÇÑ Å¬¸³¸éÀÌ Àû¿ëµÈ´Ù. µðÆúÆ®°ªÀº 0 ÀÌ´Ù.

Ŭ¸³¸éÀ» °£´ÜÇÏ°Ô À¯È¿ÇÏ°Ô ÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ) D3DCLIPPLANEn ¸ÅÅ©·Î°¡ Á¤Àǵǰí ÀÖ´Ù.

D3DRS_POINTSIZE

°¢ Á¤Á¡¿¡ ´ëÇØ¼­ Æ÷ÀÎÆ® »çÀÌÁî°¡ ÁöÁ¤µÇÁö ¾ÊÀº °æ¿ì¿¡, Æ÷ÀÎÆ® »çÀÌÁî °è»êÀ¸·Î »ç¿ëÇÏ´Â »çÀÌÁ ÁöÁ¤ÇÏ´Â float °ª. Á¤Á¡ÀÌ Æ÷ÀÎÆ® »çÀÌÁ Æ÷ÇÔÇϰí ÀÖ´Â °æ¿ì, ÀÌ °ªÀº »ç¿ëµÇÁö ¾Ê´Â´Ù. ÀÌ °ªÀº, D3DRS_POINTSCALEENABLE °¡ FALSE ÀÇ °æ¿ì´Â ½ºÅ©¸° °ø°£ ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì´Â, ¿ùµå °ø°£ ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. µðÆúÆ®°ªÀº 1.0f ÀÌ´Ù. ÀÌ °ªÀÇ ¹üÀ§´Â, 0.0f ÀÌ»óÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_POINTSIZE, *((DWORD*) &PointSize));

D3DRS_POINTSIZE_MIN

Æ÷ÀÎÆ® ±âº»µµÇüÀÇ ÃÖ¼Ò »çÀÌÁ ÁöÁ¤ÇÏ´Â float °ª. ·»´õ¸µÀÇ »çÀÌ, Æ÷ÀÎÆ® ±âº»µµÇü´Â ÀÌ »çÀÌÁî¿¡ °íÁ¤µÈ´Ù. 1.0 º¸´Ù ÀÛÀº °ªÀ» ¼³Á¤ Çϸé, Æ÷ÀÎÆ®¿¡ Çȼ¿ÀÇ Áß½ÉÀÌ Æ÷ÇÔµÇÁö ¾Ê°í anti-aliasing°¡ ¹«È¿°¡ µÇ¾î ÀÖ´Â °æ¿ì´Â Æ÷ÀÎÆ®°¡ Ç¥½ÃµÇÁö ¾Ê°Ô µÇ¾î, anti-aliasing°¡ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´Â °æ¿ì´Â ³·Àº ÈÖµµ(Luminance)·Î ·»´õ¸µ µÈ´Ù. µðÆúÆ®°ªÀº 1.0f ÀÌ´Ù. ÀÌ °ªÀÇ ¹üÀ§´Â, 0.0f ÀÌ»óÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_POINTSIZE_MIN, *((DWORD*) &PointSizeMin));

D3DRS_POINTSPRITEENABLE

BOOL °ª. TRUE ¸¦ ¼³Á¤ Çϸé, ÅØ½ºÃ³ Àüü°¡ °¢ Æ÷ÀÎÆ®¿¡ ¸ÊÇÎ µÇµµ·Ï(µíÀÌ), Æ÷ÀÎÆ® ±âº»µµÇüÀÇ ÅØ½ºÃ³ ÁÂÇ¥°¡ ¼³Á¤µÈ´Ù. FALSE ¸¦ ¼³Á¤ Çϸé, Á¤Á¡ÀÇ ÅØ½ºÃ³ ÁÂÇ¥°¡ Æ÷ÀÎÆ® Àüü¿¡ ´ëÇØ¼­ »ç¿ëµÈ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù. D3DRS_POINTSCALEENABLE ¿¡ FALSE (µðÆúÆ®°ª)¸¦ ¼³Á¤ÇØ, D3DRS_POINTSIZE ¿¡ 1.0 (µðÆúÆ®°ª)À» ¼³Á¤ÇÏ´Â °ÍÀ¸·Î, Microsoft DirectX® 7.0 ½ºÅ¸ÀÏÀÇ 1 Çȼ¿ÀÇ Æ÷ÀÎÆ®¸¦ ½ÇÇöÇÒ ¼ö ÀÖ´Ù.

D3DRS_POINTSCALEENABLE

Æ÷ÀÎÆ® ±âº»µµÇü¿¡ ´ëÇÑ »çÀÌÁîÀÇ °è»êÀ» Á¦¾îÇÏ´Â BOOL °ª. TRUE ¸¦ ¼³Á¤ Çϸé, Æ÷ÀÎÆ® »çÀÌÁ Ä«¸Þ¶ó °ø°£ÀÇ °ªÀ¸·Î ÇØ¼®ÇØ, °Å¸® ÇÔ¼ö ¹× ÀýµÎü¿¡ ÀÇÇØ ºäÆ÷Æ®ÀÇ y ÃàÀÇ ½ºÄÉÀÏ¿¡ ¸ÂÃß¾î Á¶Á¤ÇØ, ÃÖÁ¾ÀûÀÎ ½ºÅ©¸° °ø°£ÀÇ Æ÷ÀÎÆ® »çÀÌÁ °è»êÇÑ´Ù. FALSE ¸¦ ¼³Á¤ Çϸé, Æ÷ÀÎÆ® »çÀÌÁî´Â ½ºÅ©¸° °ø°£ÀÇ °ªÀ̶ó°í ÇØ¼®µÇ¾î, ±×´ë·Î »ç¿ëµÈ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù.

D3DRS_POINTSCALE_A

Æ÷ÀÎÆ® ±âº»µµÇü¿¡ ´ëÇÑ °Å¸® º£À̽ºÀÇ »çÀÌÁîÀÇ °¨¼è¸¦ Á¦¾îÇÏ´Â float °ª. D3DRS_POINTSCALEENABLE °¡ TRUE ÀÇ °æ¿ì¿¡¸¸ À¯È¿ÇÏ´Ù. µðÆúÆ®°ªÀº 1.0f ÀÌ´Ù. ÀÌ °ªÀÇ ¹üÀ§´Â, 0.0f ÀÌ»óÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_POINTSCALE_A, *((DWORD*) &PointScaleA));

D3DRS_POINTSCALE_B

Æ÷ÀÎÆ® ±âº»µµÇü¿¡ ´ëÇÑ °Å¸® º£À̽ºÀÇ »çÀÌÁîÀÇ °¨¼è¸¦ Á¦¾îÇÏ´Â float °ª. D3DRS_POINTSCALEENABLE °¡ TRUE ÀÇ °æ¿ì¿¡¸¸ À¯È¿ÇÏ´Ù. µðÆúÆ®°ªÀº 0.0f ÀÌ´Ù. ÀÌ °ªÀÇ ¹üÀ§´Â, 0.0f ÀÌ»óÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_POINTSCALE_B, *((DWORD*) &PointScaleB));

D3DRS_POINTSCALE_C

Æ÷ÀÎÆ® ±âº»µµÇü¿¡ ´ëÇÑ °Å¸® º£À̽ºÀÇ »çÀÌÁîÀÇ °¨¼è¸¦ Á¦¾îÇÏ´Â float °ª. D3DRS_POINTSCALEENABLE °¡ TRUE ÀÇ °æ¿ì¿¡¸¸ À¯È¿ÇÏ´Ù. µðÆúÆ®°ªÀº 0.0f ÀÌ´Ù. ÀÌ °ªÀÇ ¹üÀ§´Â, 0.0f ÀÌ»óÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_POINTSCALE_C, *((DWORD*) &PointScaleC));

D3DRS_MULTISAMPLEANTIALIAS

¸ÖƼ »ùÇà ·»´õ¸µÀÇ Å¸°Ù ¹öÆÛ¸¦ »ç¿ëÇÒ ¶§ÀÇ, °¢°¢ÀÇ »ùÇÃÀÇ °è»ê¹æ¹ýÀ» °áÁ¤ÇÏ´Â BOOL °ª. TRUE ¸¦ ¼³Á¤ Çϸé, º¹¼ö »ùÇÃÀÇ °¢°¢ ºÙ¾î ´Ù¸¥ »ùÇøµ À§Ä¡¿¡¼­ »ùÇøµ ÇÏ´Â °ÍÀ¸·Î Ç® ½Å anti-aliasing¸¦ ½ÇÇàÇϵµ·Ï(µíÀÌ), º¹¼öÀÇ »ùÇÃÀÌ °è»êµÈ´Ù. FALSE ÀÇ °æ¿ì´Â, º¹¼öÀÇ »ùÇÃÀº ¸ðµÎ °°Àº »ùÇøµ°ª (Çȼ¿ÀÇ Áß½ÉÀ¸·Î »ùÇøµ µÈ °ª)À¸·Î ±â¼úµÇ¾î, ¸ÖƼ »ùÇà ¹öÆÛ¿¡ ´ëÇÑ ºñanti-aliasing ·»´õ¸µÀÌ °¡´ÉÇÏ°Ô µÈ´Ù. ½Ì±Û »ùÇà ¹öÆÛ¿¡ÀÇ ·»´õ¸µ½Ã, ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®´Â ÀÌÆåÆ®¸¦ °¡ÁöÁö ¾Ê´Â´Ù. µðÆúÆ®°ªÀº TRUE ÀÌ´Ù.

D3DRS_MULTISAMPLEMASK

ÃÖÇÏÁ¤µµ ºñÆ® (LSB)¸¦ ¼±µÎ·Î ÇÏ´Â ÀÌ ¸¶½ºÅ©ÀÇ °¢ ºñÆ®´Â, ¸ÖƼ »ùÇà ·»´õ¸µ Ÿ°ÙÀÇ 1 °³ÀÇ »ùÇÿ¡ ´ëÇÑ º¯°æÀ» Á¦¾îÇÑ´Ù. µû¶ó¼­, 8 »ùÇÃÀÇ ·»´õ¸µ Ÿ°ÙÀÇ °æ¿ì´Â, 8 °³ÀÇ »ùÇÃÀÇ °¢°¢ ´ëÇÏ´Â 8 °³ÀÇ ¾²±â Çã°¡ Á¤º¸°¡, ÇÏÀ§ ¹ÙÀÌÆ®¿¡ ÀúÀå µÇ°í ÀÖ´Ù. ½Ì±Û »ùÇà ¹öÆÛ¿¡ÀÇ ·»´õ¸µ½Ã, ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®´Â ÀÌÆåÆ®¸¦ °¡ÁöÁö ¾Ê´Â´Ù. µðÆúÆ®°ªÀº 0xFFFFFFFF ÀÌ´Ù.

ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®¸¦ »ç¿ëÇÏ¸é ¸ÖÆ¼ »ùÇà ¹öÆÛ¸¦ ÃàÀû ¹öÆÛ·Î¼­ »ç¿ëÇØ, °¢ ÆÐ½º°¡ »ùÇÃÀÇ ¼­ºê ¼¼Æ®¸¦ °»½ÅÇÏ´Â °Í °°Àº Áö¿À¸ÞÆ®¸®ÀÇ ¸ÖƼ ÆÐ½º ·»´õ¸µÀ» ½Ç½ÃÇÒ ¼ö°¡ ÀÖ´Ù.

ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®´Â,D3DCAPS9 ±¸Á¶Ã¼ÀÇ D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE ¸â¹ö°¡ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´Â °æ¿ì´Â Áö¿ø µÇÁö ¾Ê´Â´Ù.

¸ÖƼ »ùÇüö°¡ n, À¯È¿ »ùÇüö°¡ k ÀÎ °æ¿ì, À̹ÌÁö´Â k/n ÀÇ ÈÖµµ(Luminance)·Î ·»´õ¸µ µÈ´Ù. °¢ Çȼ¿ÀÇ °¢ ¼ººÐ RGB ´Â,k/n ¸¦ °è¼ö¿¡ °®´Â´Ù.

D3DRS_PATCHEDGESTYLE

ÆÐÄ¡ ¿§Áö°¡ ºÎµ¿ ¼Ò¼öÁ¡¼ö(½Ç¼ö) ½ºÅ¸ÀÏÀÇ Å×¼³·¹À̼ÇÀ» »ç¿ëÇÒÁö ¾î¶³Áö¸¦ ¼³Á¤ÇÑ´Ù. ¼³Á¤ °¡´ÉÇÑ °ªÀº,D3DPATCHEDGESTYLE ¿­°ÅÇüÀ¸·Î Á¤ÀǵȴÙ. µðÆúÆ®°ªÀº D3DPATCHEDGE_DISCRETE ÀÌ´Ù.

D3DRS_DEBUGMONITORTOKEN

¸ð´ÏÅ͸¦ µð¹ö±× ÇÏ´Â °æ¿ì¿¡¸¸ ¼³Á¤ÇÑ´Ù. ¼³Á¤ °¡´ÉÇÑ °ªÀº,D3DDEBUGMONITORTOKENS ¿­°ÅÇüÀ¸·Î Á¤ÀǵȴÙ. D3DRS_DEBUGMONITORTOKEN °¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, ÀÌ È£ÃâÀº µð¹ö±× ¸ð´ÏÅÍ¿¡ÀÇ ÅäÅ«ÀÇ ¼ö¼ö·Î¼­ 󸮵Ǵ °Í¿¡ ÁÖÀÇ ÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, D3DDMT_ENABLE ¶Ç´Â D3DDMT_DISABLE À» D3DRS_DEBUGMONITORTOKEN ¿¡ °Ç³×ÁØ ÈÄ, ´Ù¸¥ ÅäÅ«ÀÇ °ªÀÌ °Ç³×¹Þ¾ÒÀ» °æ¿ì, µð¹ö±× ¸ð´ÏÅÍÀÇ ½ºÅ×ÀÌÆ® (À¯È¿ ¶Ç´Â ¹«È¿)´Â º¯È­ÇÏÁö ¾Ê´Â´Ù.

ÀÌ ½ºÅ×ÀÌÆ®´Â, µð¹ö±× ºôµå¿¡¼­¸¸ À¯¿ëÇÏ´Ù. µð¹ö±× ¸ð´ÏÅÍÀÇ µðÆúÆ®´Â D3DDMT_ENABLE ÀÌ´Ù.

D3DRS_POINTSIZE_MAX

Æ÷ÀÎÆ® ½ºÇÁ¶óÀÌÆ®°¡ Á¦ÇѵǴ ÃÖ´ë »çÀÌÁ ÁöÁ¤ÇÏ´Â float °ª. °ªÀº,D3DCAPS9 ÀÇ MaxPointSize ¸â¹ö ÀÌÇÏ·Î,D3DRS_POINTSIZE_MIN ÀÌ»óÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù. µðÆúÆ®°ªÀº 64.0f ÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_PONTSIZE_MAX, *((DWORD*) &PointSizeMax));

D3DRS_INDEXEDVERTEXBLENDENABLE

À妽º ÷ºÎÀÇ Á¤Á¡ È¥ÇÕÀ» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÏ´Â BOOL °ª. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù. TRUE ¸¦ ¼³Á¤ Çϸé, À妽º ÷ºÎ Á¤Á¡ È¥ÇÕÀÌ À¯È¿ÇÏ°Ô µÈ´Ù. FALSE ¸¦ ¼³Á¤ Çϸé, À妽º ÷ºÎ Á¤Á¡ È¥ÇÕÀº ¹«È¿°¡ µÈ´Ù. ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®°¡ À¯È¿ÇÑ °æ¿ì´Â, Á¤Á¡ ¸¶´Ù ÆÑ µÈ DWORD ·Î Çà·Ä À妽º¸¦ °Ç³×ÁÖÁö ¾ÊÀ¸¸é ¾È µÈ´Ù. ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®¸¦ ¹«È¿·Î ÇØ, D3DRS_VERTEXBLEND ½ºÅ×ÀÌÆ®¸¦ »ç¿ëÇØ Á¤Á¡ È¥ÇÕÀ» À¯È¿ÇÏ°Ô ÇÏ´Â °ÍÀº, ¸ðµç Á¤Á¡¿¡ ´ëÇØ Çà·Ä À妽º 0, 1, 2, 3 À» ÁöÁ¤ÇÏ´Â °Í°ú °°´Ù.

D3DRS_COLORWRITEENABLE

·»´õ¸µ Ÿ°ÙÀÇ Ä÷¯ ¹öÆÛ¿¡ ´ëÇÑ Ã¤³Î¸¶´Ù ¾²±â¸¦ À¯È¿ÇÏ°Ô ÇÏ´Â UINT °ª. ºñÆ®¸¦ ¼³Á¤ Çϸé, 3D ·»´õ¸µÀÇ »çÀÌ¿¡ Ä÷¯ ä³ÎÀÌ °»½ÅµÈ´Ù. ºñÆ®¸¦ Ŭ¸®¾î Çϸé, Ä÷¯ ä³ÎÀº °»½ÅµÇÁö ¾Ê´Â´Ù. ÀÌ ±â´ÉÀº, ÀåÄ¡¿¡ ´ëÇÑ D3DCAPS9 ±¸Á¶Ã¼ÀÇ PrimitiveMiscCaps ¸â¹ö·Î D3DPMISCCAPS_COLORWRITEENABLE ´É·Â ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®´Â, Ŭ¸®¾î 󸮿¡´Â ¿µÇâÀ» ÁÖÁö ¾Ê´Â´Ù. µðÆúÆ®°ªÀº 0x0000000F ÀÌ´Ù.

ÀÌ ·»´õ¸µ ½ºÅ×ÀÌÆ®¿¡ ´ëÇÑ À¯È¿ÇÑ °ªÀº, D3DCOLORWRITEENABLE_ALPHA, D3DCOLORWRITEENABLE_BLUE, D3DCOLORWRITEENABLE_GREEN, ¹× D3DCOLORWRITEENABLE_RED ÀÇ °¢ Ç÷¡±×ÀÇ ÀÓÀÇÀÇ Æí¼ºÀÌ´Ù.

D3DRS_TWEENFACTOR

Æ®ÀÎ °è¼ö¸¦ Á¦¾îÇÏ´Â float °ª. µðÆúÆ®°ªÀº 0.0f ÀÌ´Ù. IDirect3DDevice9::SetRenderState ¸Þ¼­µå´Â DWORD °ªÀ» »ç¿ëÇϱâ (À§ÇØ)¶§¹®¿¡, ´ÙÀ½ Äڵ忡 ³ªÅ¸³ªµíÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â °ªÀ» ÀúÀå ÇÑ º¯¼ö¸¦ ij½ºÆ® ÇØ¾ß ÇÑ´Ù.

pDevice9->SetRenderState(D3DRS_TWEENFACTOR, *((DWORD*) &TweenFactor));

D3DRS_BLENDOP

¾ËÆÄ È¥ÇÕ ·»´õ¸µ ½ºÅ×ÀÌÆ®ÀÇ D3DRS_ALPHABLENDENABLE °¡ TRUE ·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡ Àû¿ëÇÏ´Â »ê¼ú ¿¬»êÀÇ ¼±Åÿ¡ »ç¿ëµÇ´Â °ª. À¯È¿ÇÑ °ªÀº,D3DBLENDOP ¿­°ÅÇüÀ¸·Î Á¤ÀǵȴÙ. µðÆúÆ®°ªÀº D3DBLENDOP_ADD ÀÌ´Ù.

D3DPMISCCAPS_BLENDOP ÀåÄ¡ ´É·ÂÀÌ Áö¿øµÇÁö ¾ÊÀº °æ¿ì´Â, D3DBLENDOP_ADD °¡ ½ÇÇàµÈ´Ù.

D3DRS_POSITIONDEGREE

N ÆÐÄ¡ À§Ä¡ º¸°£ Â÷¼ö. ÀÌ °ª¿¡´Â D3DDEGREE_CUBIC (µðÆúÆ®) ¶Ç´Â D3DDEGREE_LINEAR ¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸D3DDEGREETYPE ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_NORMALDEGREE

N ÆÐÄ¡ ¹ý¼± º¸°£ Â÷¼ö. ÀÌ °ª¿¡´Â D3DDEGREE_LINEAR (µðÆúÆ®) ¶Ç´Â D3DDEGREE_QUADRATIC ¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸D3DDEGREETYPE ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_SCISSORTESTENABLE

½ÃÀú Å×½ºÆ®¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é TRUE, ¹«È¿·Î ÇÏ·Á¸é FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù.

D3DRS_SLOPESCALEDEPTHBIAS

z È­ÀÌÆÃÀ» ÁÙÀ̱â À§Çؼ­(¶§¹®¿¡), µ¿ÀÏ Æò¸é»óÀÇ ¿ø½ÃÀûÀ¸·Î ¾ó¸¶³ª ¹ÙÀ̾¸¦ Àû¿ëÇұ °áÁ¤Çϴµ¥ »ç¿ëÇÑ´Ù. µðÆúÆ®°ªÀº 0 ÀÌ´Ù.

bias = (max * D3DRS_SLOPESCALEDEPTHBIAS ) + D3DRS_DEPTHBIAS

¿©±â¼­, max ´Â ·»´õ¸µ ÇÏ´Â »ï°¢ÇüÀÇ ÃÖ´ë ±íÀÌ ±¸¹è.

D3DRS_ANTIALIASEDLINEENABLE

¼±ÀÇ anti-aliasing¸¦ À¯È¿ÇÏ°Ô ÇÏ´Â °æ¿ì´Â TRUE, ¹«È¿·Î ÇÏ´Â °æ¿ì´Â FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù.

¸ÖƼ »ùÇà ·»´õ¸µ Ÿ°ÙÀ» ·»´õ¸µ ÇÏ´Â °æ¿ì, D3DRS_ANTIALIASEDLINEENABLE ´Â ¹«½ÃµÇ¾î ¸ðµç ¼±ÀÌ ±òÂß±òÂßÇÏ°Ô ·»´õ¸µ µÈ´Ù. ¸ÖƼ »ùÇà ·»´õ¸µ Ÿ°ÙÀ¸·Î ¶óÀÎÀÇ anti-aliasing¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é ,ID3DXLine ¸¦ »ç¿ëÇÑ´Ù.

D3DRS_MINTESSELLATIONLEVEL

Å×¼³·¹À̼ÇÀÇ ÃÖ¼Ò ·¹º§. µðÆúÆ®°ªÀº 1.0f ÀÌ´Ù. ¡¸Å×¼³·¹À̼ǡ¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_MAXTESSELLATIONLEVEL

Å×¼³·¹À̼ÇÀÇ ÃÖ´ë ·¹º§. µðÆúÆ®°ªÀº 1.0f ÀÌ´Ù. ¡¸Å×¼³·¹À̼ǡ¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_ADAPTIVETESS_X

ÀûÀÀÇü Å×¼³·¹À̼ÇÀÇ ¾ç (x Ãà¹æÇâ). µðÆúÆ®°ªÀº 0.0f ÀÌ´Ù. ¡¸Å×¼³·¹À̼ǡ¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_ADAPTIVETESS_Y

ÀûÀÀÇü Å×¼³·¹À̼ÇÀÇ ¾ç (y Ãà¹æÇâ). µðÆúÆ®°ªÀº 0.0f ÀÌ´Ù. ¡¸Å×¼³·¹À̼ǡ¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_ADAPTIVETESS_Z

ÀûÀÀÇü Å×¼³·¹À̼ÇÀÇ ¾ç (z Ãà¹æÇâ). µðÆúÆ®°ªÀº 1.0f ÀÌ´Ù. ¡¸Å×¼³·¹À̼ǡ¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_ADAPTIVETESS_W

ÀûÀÀÇü Å×¼³·¹À̼ÇÀÇ ¾ç (w Ãà¹æÇâ). µðÆúÆ®°ªÀº 0.0f ÀÌ´Ù. ¡¸Å×¼³·¹À̼ǡ¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_ENABLEADAPTIVETESSELATION

ÀûÀÀÇü Å×¼³·¹À̼ÇÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é TRUE, ¹«È¿·Î ÇÏ·Á¸é FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù. ¡¸Å×¼³·¹À̼ǡ¹À» ÂüÁ¶ÇÒ°Í.

D3DRS_TWOSIDEDSTENCILMODE

2 ¸éÀÇ ½ºÅÙ½ÇÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é TRUE, ¹«È¿·Î ÇÏ·Á¸é FALSE ¸¦ ¼³Á¤ÇÑ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù. ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â, 2 ¸éÀÇ ½ºÅÙ½Ç ¸ðµå¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é D3DRS_CULLMODE ¸¦ D3DCULL_NONE ·Î ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù. »ï°¢ÇüÀÇ ¿ÍÀεò±× ¼ø¼­°¡ ½Ã°èȸÀüÀÎ °æ¿ì´Â, D3DRS_STENCIL* ÀÇ Á¶ÀÛÀÌ »ç¿ëµÈ´Ù. ¿ÍÀεò±× ¼ø¼­°¡ ¹Ý½Ã°è ÁÖÀ§ÀÎ °æ¿ì´Â, D3DRS_CCW_STENCIL* ÀÇ Á¶ÀÛÀÌ »ç¿ëµÈ´Ù.

2 ¸éÀÇ ½ºÅÙ½ÇÀÌ Áö¿ø µÇ°í ÀÖ´ÂÁö¸¦ È®ÀÎÇÏ·Á¸é , D3DSTENCILCAPS_TWOSIDED ÀÇ D3DCAPS9 ÀÇ StencilCaps ¸â¹ö¸¦ Á¶»çÇÑ´Ù. ¡¸D3DSTENCILCAPS ¡¹µµ ÂüÁ¶ÇÒ°Í.

D3DRS_CCW_STENCILFAIL

¹Ý½Ã°èȸÀüÀÇ ½ºÅÙ½Ç Å×½ºÆ®¿¡ ½ÇÆÐÇßÀ» ¶§¿¡ ½ÇÇàÇÏ´Â ½ºÅÙ½Ç Ã³¸®. µðÆúÆ®°ªÀº 0x00000001 ÀÌ´Ù.

D3DRS_CCW_STENCILZFAIL

¹Ý½Ã°èȸÀüÀÇ ½ºÅÙ½Ç Å×½ºÆ®¿¡ ÆÐ½ºÇØ, Z Å×½ºÆ®¿¡ ½ÇÆÐÇßÀ» °æ¿ì¿¡ ½ÇÇàÇÏ´Â ½ºÅÙ½Ç Ã³¸®. µðÆúÆ®°ªÀº 0x00000001 ÀÌ´Ù.

D3DRS_CCW_STENCILPASS

¹Ý½Ã°èȸÀüÀÇ ½ºÅÙ½Ç Å×½ºÆ® ¹× Z Å×½ºÆ®ÀÇ ¾çÂÊ ¸ðµÎ¿¡ ÆÐ½ºÇßÀ» °æ¿ì¿¡ ½ÇÇàÇÏ´Â ½ºÅÙ½Ç Ã³¸®. µðÆúÆ®°ªÀº 0x00000001 ÀÌ´Ù.

D3DRS_CCW_STENCILFUNC

ºñ±³ ÇÔ¼ö. ¹Ý½Ã°èȸÀüÀÇ ½ºÅÙ½Ç Å×½ºÆ®¿¡ ÆÐ½ºÇÏ´Â °ÍÀº, ((ref & mask) ½ºÅÙ½Ç ÇÔ¼ö (stencil & mask))°¡ TRUE ÀÇ °æ¿ìÀÌ´Ù. µðÆúÆ®°ªÀº 0x00000008 ÀÌ´Ù.

D3DRS_COLORWRITEENABLE1

ÀåÄ¡¿¡ ´ëÇÑ Ãß°¡ÀÇ ColorWriteEnable ÀÇ °ª. ¡¸D3DRS_COLORWRITEENABLE ¡¹¸¦ ÂüÁ¶ÇÒ°Í. ÀÌ ±â´ÉÀº, ÀåÄ¡¿¡ ´ëÇÑ D3DCAPS9 ±¸Á¶Ã¼ÀÇ PrimitiveMiscCaps ¸â¹ö·Î D3DPMISCCAPS_INDEPENDENTWRITEMASKS ´É·Â ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®°ªÀº 0x0000000f ÀÌ´Ù.

D3DRS_COLORWRITEENABLE2

ÀåÄ¡¿¡ ´ëÇÑ Ãß°¡ÀÇ ColorWriteEnable ÀÇ °ª. ¡¸D3DRS_COLORWRITEENABLE ¡¹¸¦ ÂüÁ¶ÇÒ°Í. ÀÌ ±â´ÉÀº, ÀåÄ¡¿¡ ´ëÇÑ D3DCAPS9 ±¸Á¶Ã¼ÀÇ PrimitiveMiscCaps ¸â¹ö·Î D3DPMISCCAPS_INDEPENDENTWRITEMASKS ´É·Â ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®°ªÀº 0x0000000f ÀÌ´Ù.

D3DRS_COLORWRITEENABLE3

ÀåÄ¡¿¡ ´ëÇÑ Ãß°¡ÀÇ ColorWriteEnable ÀÇ °ª. ¡¸D3DRS_COLORWRITEENABLE ¡¹¸¦ ÂüÁ¶ÇÒ°Í. ÀÌ ±â´ÉÀº, ÀåÄ¡¿¡ ´ëÇÑ D3DCAPS9 ±¸Á¶Ã¼ÀÇ PrimitiveMiscCaps ¸â¹ö·Î D3DPMISCCAPS_INDEPENDENTWRITEMASKS ´É·Â ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®°ªÀº 0x0000000f ÀÌ´Ù.

D3DRS_BLENDFACTOR

¾ËÆÄ È¥ÇÕ Ã³¸®µ¿¾È¿¡ Á¤¼ö È¥ÇÕ °è¼ö¿¡ »ç¿ëÇÏ´Â D3DCOLOR . ÀÌ ±â´ÉÀº,D3DCAPS9 ÀÇ SrcBlendCaps ¸â¹ö, ¶Ç´Â D3DCAPS9 ÀÇ DestBlendCaps ¸â¹ö·Î D3DPBLENDCAPS_BLENDFACTOR ´É·Â Ç÷¡±×°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ¡¸D3DRENDERSTATETYPE¡¹¸¦ ÂüÁ¶ÇÒ°Í. µðÆúÆ®°ªÀº 0xffffffff ÀÌ´Ù.

D3DRS_SRGBWRITEENABLE

·»´õ¸µ Ÿ°Ù¿¡ÀÇ ¾²±â·Î, sRGB ¿¡ÀÇ °¨¸¶ º¸Á¤À» À¯È¿ÇÏ°Ô ÇÑ´Ù. Æ÷¸Ë¿¡¼­´Â,D3DUSAGE_SRGBWRITE ¸¦ °ø°³ÇÒ Çʿ䰡 ÀÖ´Ù. µðÆúÆ®°ªÀº 0 ÀÌ´Ù.

D3DRS_DEPTHBIAS

±íÀ̰ªÀÇ ºñ±³¿¡ »ç¿ëÇÏ´Â ºÎµ¿ ¼Ò¼öÁ¡°ª. ¡¸±íÀÌ ¹ÙÀ̾¡¹¸¦ ÂüÁ¶ÇÒ°Í. µðÆúÆ®°ªÀº 0 ÀÌ´Ù.

D3DRS_WRAP8

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP9

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP10

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP11

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP12

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP13

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP14

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_WRAP15

¡¸D3DRS_WRAP0 ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_SEPARATEALPHABLENDENABLE

TRUE ¸¦ ¼³Á¤ Çϸé, ¾ËÆÄ ä³Î¿¡ ´ëÇÑ °³º°ÀÇ È¥ÇÕ ¸ðµå°¡ À¯È¿ÇÏ°Ô µÈ´Ù. µðÆúÆ®°ªÀº FALSE ÀÌ´Ù.

FALSE ¸¦ ¼³Á¤ Çϸé, ¾ËÆÄ¿¡ Àû¿ëÇÏ´Â ·»´õ¸µ Ÿ°ÙÀÇ È¥ÇÕ °è¼ö¿Í È¥ÇÕ Ã³¸®´Â, °­Á¦ÀûÀ¸·Î, »ö¿¡ ´ëÇØ¼­ Á¤ÀÇÇÑ °Í °Í°ú °°Àº °ÍÀÌ µÈ´Ù. D3DPMISCCAPS_SEPARATEALPHABLEND ´É·ÂÀ» ¼³Á¤ÇÏÁö ¾Ê´Â 󸮿¡¼­´Â, ÀÌ ¸ðµå°¡ ½ÇÁúÀûÀ¸·Î FALSE ¿¡ °íÁ¤µÈ´Ù. ¡¸D3DPMISCCAPS ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

°³º°ÀÇ ¾ËÆÄ È¥ÇÕÀÇ Å¸ÀÔÀº, D3DRS_SRCBLENDALPHA ¿Í D3DRS_DESTBLENDALPHA ÀÇ ·»´õ¸µ ½ºÅ×ÀÌÆ®¿¡ ÀÇÇØ Á¤ÇØÁø´Ù.

D3DRS_SRCBLENDALPHA

D3DBLEND ¿­°ÅÇüÀÇ ¸â¹öÁß ÇϳªÀÌ´Ù. D3DRS_SEPARATEALPHAENABLE °¡ TRUE °¡ ¾Æ´Ñ °æ¿ì, ÀÌ °ªÀº ¹«½ÃµÈ´Ù. µðÆúÆ®°ªÀº D3DBLEND_ONE ÀÌ´Ù.

D3DRS_DESTBLENDALPHA

D3DBLEND ¿­°ÅÇüÀÇ ¸â¹öÁß ÇϳªÀÌ´Ù. D3DRS_SEPARATEALPHAENABLE °¡ TRUE °¡ ¾Æ´Ñ °æ¿ì, ÀÌ °ªÀº ¹«½ÃµÈ´Ù. µðÆúÆ®°ªÀº D3DBLEND_ZERO ÀÌ´Ù.

D3DRS_BLENDOPALPHA

·»´õ¸µ ½ºÅ×ÀÌÆ®ÀÇ D3DRS_ALPHABLENDENABLE °¡ TRUE ·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡, °³º°ÀÇ ¾ËÆÄ È¥ÇÕ¿¡ Àû¿ëÇÏ´Â »ê¼ú ¿¬»êÀÇ ¼±Åÿ¡ »ç¿ëÇÏ´Â °ª.

À¯È¿ÇÑ °ªÀº,D3DBLENDOP ¿­°ÅÇüÀ¸·Î Á¤ÀǵȴÙ. µðÆúÆ®°ªÀº D3DBLENDOP_ADD ÀÌ´Ù.

D3DPMISCCAPS_BLENDOP ÀåÄ¡ ´É·ÂÀÌ Áö¿øµÇÁö ¾ÊÀº °æ¿ì´Â, D3DBLENDOP_ADD °¡ ½ÇÇàµÈ´Ù. ¡¸D3DPMISCCAPS ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

D3DRS_FORCE_DWORD

ÀÌ ¿­°ÅÇüÀ» °­Á¦ÀûÀ¸·Î 32 ºñÆ® »çÀÌÁî¿¡ ÄÄÆÄÀÏ ÇÑ´Ù. ÀÌ °ªÀº »ç¿ëµÇÁö ¾Ê¾Ò´Ù.

ÁÖÀÇ

Direct3D ´Â, ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ÀÇ ÆíÀǸ¦ °í·ÁÇØ, (D3DRS_WRAP n ½ºÅ×ÀÌÆ®°ªÀÇ 1 °³¸¦ ¸í½ÃÀûÀ¸·Î »ç¿ëÇÏ´Â ´ë½Å¿¡) Á¤¼ö D3DRENDERSTATE_WRAPBIAS ¸¦ Á¤ÀÇÇØ, ÅØ½ºÃ³ ÁÂÇ¥ ¼¼Æ®ÀÇ Á¦·Î·ÎºÎÅÍ ½ÃÀ۵Ǵ Á¤¼ö°ª¿¡ ±Ù°ÅÇØ, ÅØ½ºÃ³ ·¦ÇÎÀ» À¯È¿ÇÏ°Ô Çϰųª ¹«È¿·Î Çϰųª ÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ D3DRENDERSTATE_WRAPBIAS °ªÀ» ÅØ½ºÃ³ ÁÂÇ¥ ¼¼Æ®ÀÇ Á¦·Î·ÎºÎÅÍ ½ÃÀ۵Ǵ À妽º¿¡ µ¡¼À ÇØ, ±× À妽º¿¡ ´ëÀÀÇÏ´Â D3DRS_WRAP n °ªÀ» °è»êÇÑ´Ù.

// Enable U/V wrapping for textures that use the texture 
//   coordinate set at the index within the dwIndex variable.

HRESULT hr = pd3dDevice->SetRenderState(
    dwIndex + D3DRENDERSTATE_WRAPBIAS,  
    D3DWRAPCOORD_0 | D3DWRAPCOORD_1);
 
// If dwIndex is 3, the value that results from 
//   the addition equals D3DRS_WRAP3 (131).
		

¿­°ÅÇüÀÇ Á¤º¸

Çì´õd3d9types.h
ÃÖÀúÇÑÀÇ operating system Windows 98

ÂüÁ¶

IDirect3DDevice9::GetRenderState ,IDirect3DDevice9::SetRenderState


© 2002 Microsoft Corporation. All rights reserved.
¡èTOP