DirectX Graphics 레퍼런스 이펙트 레퍼런스 이펙트 포맷 스테이트   [목차열람] [주소복사] [슬롯비우기]
스테이트
 
Microsoft DirectX 9.0

스테이트


이펙트 스테이트는, 정점 처리나 픽셀 처리의 준비작업으로서 파이프라인 스테이트의 초기화에 사용된다.

effect state [ [index] ] = expression

여기서

이펙트 스테이트는 다음의 카테고리로 분류된다.

조명 스테이트

이펙트를 적용 할 때의 퍼포먼스를 최대한으로 높이려면 , 이펙트 파일로, 라이트 또는 머트리얼의 모든 성분을 지정한다. Microsoft® Direct3D® 는 개별적으로 조명 스테이트를 설정할 수 없기 때문에, 선언에 실패한 스테이트에는 디폴트값이 설정된다.

조명 스테이트
LightAmbient[n]float4D3DLIGHT9Ambient 멤버를 참조할것.
LightAttenuation0[n]floatD3DLIGHT9Attenuation0 멤버를 참조할것.
LightAttenuation1[n]floatD3DLIGHT9Attenuation1 멤버를 참조할것.
LightAttenuation2[n]floatD3DLIGHT9Attenuation2 멤버를 참조할것.
LightDiffuse[n]float4D3DLIGHT9Diffuse 멤버를 참조할것.
LightDirection[n]float3D3DLIGHT9Direction 멤버를 참조할것.
LightEnable[n]boolTrue 또는 False. IDirect3DDevice9::LightEnablebEnable 인수를 참조할것.
LightFalloff[n]floatD3DCOLORVALUE . D3DLIGHT9Falloff 멤버를 참조할것.
LightPhi[n]floatD3DLIGHT9Phi 멤버를 참조할것.
LightPosition[n]float3D3DLIGHT9Position 멤버를 참조할것.
LightRange[n]floatD3DLIGHT9Range 멤버를 참조할것.
LightSpecular[n]float4D3DLIGHT9Specular 멤버를 참조할것.
LightTheta[n]floatD3DLIGHT9Theta 멤버를 참조할것.
LightType[n]dwordD3DLIGHT_ 접두어가 붙지 않는, 최대 n 개의 D3DLIGHTTYPE 값의 배열과 같은 값.

머트리얼 스테이트

Direct3D 는 개별적으로 머트리얼 스테이트를 설정할 수 없기 때문에, 선언에 실패한 스테이트에는 디폴트값이 설정된다.

머트리얼 스테이트
MaterialAmbientfloat4Ambient 와 같은 값.
MaterialDiffusefloat4Diffuse 와 같은 값.
MaterialEmissivefloat4Emissive 와 같은 값.
MaterialPowerfloatPower 와 같은 값.
MaterialSpecularfloat4Specular 와 같은 값.

렌더링 스테이트

렌더링 스테이트에는 다음의 것이 있다.

정점 파이프라인 렌더링 스테이트

이펙트 파일의 렌더링 스테이트는, 고정 기능 파이프라인 스테이트와 이름이 비슷하지만, 프레픽스가 붙지 않는 것이 있다.

렌더링 스테이트
Ambientfloat4D3DRS_AMBIENT 와 같은 값.
AmbientMaterialSourcedwordD3DMCS_ 프레픽스가 붙지 않는,D3DMATERIALCOLORSOURCE 와 같은 값. 「D3DRS_AMBIENTMATERIALSOURCE 」를 참조할것.
ClippingboolTrue 또는 False. D3DRS_CLIPPING 와 같은 값.
ClipPlaneEnabledwordD3DCLIPPLANE0 ~ D3DCLIPPLANE5 매크로의 비트의 편성. 「D3DCLIPPLANEn 」 및 「D3DRS_CLIPPLANEENABLE 」를 참조할것.
ColorVertexboolTrue 또는 False. D3DRS_COLORVERTEX 와 같은 값.
CullModedwordD3DCULL_ 프레픽스가 붙지 않는,D3DCULL 와 같은 값.
DiffuseMaterialSourcedwordD3DMCS_ 프레픽스가 붙지 않는,D3DMATERIALCOLORSOURCE 와 같은 값. 「D3DRS_DIFFUSEMATERIALSOURCE 」를 참조할것.
EmissiveMaterialSourcedwordD3DMCS_ 프레픽스가 붙지 않는,D3DMATERIALCOLORSOURCE 과 같은 값. 「D3DRS_EMISSIVEMATERIALSOURCE 」를 참조할것.
FogColordwordD3DCOLOR 와 같은 값. 「D3DRS_FOGCOLOR 」를 참조할것.
FogDensityfloatD3DRS_FOGDENSITY 와 같은 값.
FogEnableboolTrue 또는 False. D3DRS_FOGENABLE 와 같은 값.
FogEndfloatD3DRS_FOGEND 와 같은 값.
FogStartfloatD3DRS_FOGSTART 와 같은 값.
FogTableModedwordD3DFOGMODE 과 같은 값. 「D3DRENDERSTATETYPE 」의 「D3DRS_FOGTABLEMODE」를 참조할것.
FogVertexModedwordD3DFOG_ 프레픽스가 붙지 않는,D3DFOGMODE 와 같은 값.
IndexedVertexBlendEnableboolTrue 또는 False. D3DRS_INDEXEDVERTEXBLENDENABLE 와 같은 값.
LightingboolTrue 또는 False. D3DRS_LIGHTING 와 같은 값.
LocalViewerboolTrue 또는 False. D3DRS_LOCALVIEWER 와 같은 값.
MultiSampleAntialiasboolD3DRS_MULTISAMPLEANTIALIAS 와 같은 값.
MultiSampleMaskdwordD3DRS_MULTISAMPLEMASK 와 같은 값.
NormalizeNormalsboolTrue 또는 False. D3DRS_NORMALIZENORMALS 와 같은 값.
PatchSegmentsfloat IDirect3DDevice9::SetNPatchMode 의 nSegments 와 같은 값.
PointScale_AfloatD3DRS_POINTSCALE_A 와 같은 값.
PointScale_BfloatD3DRS_POINTSCALE_B 와 같은 값.
PointScale_CfloatD3DRS_POINTSCALE_C 와 같은 값.
PointScaleEnableboolD3DRS_POINTSCALEENABLE 와 같은 값.
PointSizefloatD3DRS_POINTSIZE 과 같은 값.
PointSize_MinfloatD3DRS_POINTSIZE_MIN 와 같은 값.
PointSize_MaxfloatD3DRS_ 프레픽스가 붙지 않는,D3DRS_POINTSIZE_MAX 와 같은 값.
PointSpriteEnableboolTrue 또는 False. D3DRS_POINTSPRITEENABLE 와 같은 값.
RangeFogEnableboolTrue 또는 False. D3DRS_RANGEFOGENABLE 와 같은 값.
SpecularEnableboolTrue 또는 False. D3DRS_SPECULARENABLE 와 같은 값.
SpecularMaterialSourcedwordD3DMCS_ 프레픽스가 붙지 않는,D3DMATERIALCOLORSOURCE 와 같은 값. 「D3DRS_SPECULARMATERIALSOURCE 」를 참조할것.
TweenFactorfloatD3DRS_TWEENFACTOR 와 같은 값.
VertexBlenddwordD3DVBF_ 프레픽스가 붙지 않는,D3DVERTEXBLENDFLAGS 와 같은 값. 「D3DRS_VERTEXBLEND 」를 참조할것.

픽셀 파이프라인 렌더링 스테이트

이펙트 파일의 렌더링 스테이트는, 고정 기능 파이프라인 스테이트와 이름이 비슷하지만, 프레픽스가 붙지 않는 것이 있다.

렌더링 스테이트
AlphaBlendEnableboolTrue 또는 False. D3DRENDERSTATETYPE 의 D3DRS_ALPHABLENDENABLE 와 같은 값.
AlphaFuncdwordD3DCMP_ 프레픽스가 붙지 않는,D3DCMPFUNC 와 같은 값. 「D3DRS_ALPHAFUNC 」를 참조할것.
AlphaRefdwordD3DRS_ALPHAREF 와 같은 값.
AlphaTestEnabledwordTrue 또는 False. 「D3DRS_ALPHATESTENABLE 」를 참조할것.
BlendOpdwordD3DBLENDOP_ 프레픽스가 붙지 않는,D3DBLENDOP 와 같은 값.
ColorWriteEnabledwordRED|GREEN|BLUE|ALPHA 의 비트의 편성. 「D3DRS_COLORWRITEENABLE 」를 참조할것.
DepthBiasintD3DRS_DEPTHBIAS 와 같은 값.
DestBlenddwordD3DBLEND_ 프레픽스가 붙지 않는,D3DBLEND 와 같은 값.
DitherEnableboolTrue 또는 False. D3DRS_DITHERENABLE 와 같은 값.
FillModedwordD3DFILL_ 프레픽스가 붙지 않는,D3DFILLMODE 와 같은 값.
LastPixeldwordTrue 또는 False. 「D3DRS_LASTPIXEL 」를 참조할것.
ShadeModedwordD3DSHADE_ 프레픽스가 붙지 않는,D3DSHADEMODE 와 같은 값.
SrcBlenddwordD3DBLEND_ 프레픽스가 붙지 않는,D3DBLEND 와 같은 값.
StencilEnableboolTrue 또는 False. D3DRS_STENCILENABLE 와 같은 값.
StencilFaildwordD3DSTENCILCAP_ 프레픽스가 붙지 않는,D3DSTENCILCAPS 와 같은 값. 「D3DRS_STENCILFAIL 」를 참조할것.
StencilFuncdwordD3DCMP_ 프레픽스가 붙지 않는,D3DCMPFUNC 와 같은 값. 「D3DRS_STENCILFUNC 」를 참조할것.
StencilMaskdwordD3DRS_STENCILMASK 와 같은 값.
StencilPassdwordD3DSTENCILCAP_ 프레픽스가 붙지 않는,D3DSTENCILCAPS 와 같은 값. 「D3DRS_STENCILPASS 」를 참조할것.
StencilRefintD3DRS_STENCILREF 와 같은 값.
StencilWriteMaskdwordD3DRS_STENCILWRITEMASK 와 같은 값.
StencilZFaildwordD3DSTENCILCAP_ 프레픽스가 붙지 않는,D3DSTENCILCAPS 와 같은 값. 「D3DRS_STENCILZFAIL 」를 참조할것.
TextureFactordwordD3DCOLOR 와 같은 값. D3DRS_TEXTUREFACTOR 와 같은 값.
Wrap0dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRENDERSTATETYPE 의 D3DRS_WRAP0 와 같은 값.
Wrap1dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP1 와 같은 값.
Wrap2dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP2 와 같은 값.
Wrap3dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP3 와 같은 값.
Wrap4dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP4 와 같은 값.
Wrap5dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP5 와 같은 값.
Wrap6dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP6 와 같은 값.
Wrap7dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP7 와 같은 값.
Wrap8dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRENDERSTATETYPE 의 D3DRS_WRAP0 와 같은 값.
Wrap9dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP1 와 같은 값.
Wrap10dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP2 와 같은 값.
Wrap11dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP3 와 같은 값.
Wrap12dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP4 와 같은 값.
Wrap13dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP5 와 같은 값.
Wrap14dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP6 와 같은 값.
Wrap15dwordD3DDRS_ 프레픽스가 붙지 않는,D3DRS_WRAP7 와 같은 값.
ZEnabledwordD3DZB_ 프레픽스가 붙지 않는,D3DZBUFFERTYPE 와 같은 값.
ZFuncdwordD3DCMP_ 프레픽스가 붙지 않는,D3DCMPFUNC 와 같은 값. 「D3DRS_ZFUNC 」를 참조할것.
ZWriteEnableboolTrue 또는 False. 「D3DRS_ZWRITEENABLE 」를 참조할것.

샘플러 스테이트

스테이트
SamplersamplerNULL, 또는 샘플러 스테이트 블록.

샘플러 스테이지 스테이트

샘플러 스테이트
AddressU[16]dwordD3DTEXF_ 프레픽스가 붙지 않는,D3DTEXTUREFILTERTYPE 와 같은 값. 「D3DSAMP_ADDRESSU 」를 참조할것.
AddressV[16]dwordD3DTEXF_ 프레픽스가 붙지 않는,D3DTEXTUREFILTERTYPE 와 같은 값. 「D3DSAMP_ADDRESSV 」를 참조할것.
AddressW[16]dwordD3DTEXF_ 프레픽스가 붙지 않는,D3DTEXTUREFILTERTYPE 와 같은 값. 「D3DSAMP_ADDRESSW 」를 참조할것.
BorderColor[16]float4D3DCOLORVALUE . D3DTEXF_ 프레픽스가 붙지 않는,D3DTEXTUREFILTERTYPE 와 같은 값. 「D3DSAMP_BORDERCOLOR 」를 참조할것.
MagFilter[16]dwordD3DTEXF_ 프레픽스가 붙지 않는,D3DTEXTUREFILTERTYPE 와 같은 값. 「D3DSAMP_MAGFILTER 」를 참조할것.
MaxAnisotropy[16]dwordD3DSAMP_ 프레픽스가 붙지 않는,D3DSAMP_MAXANISOTROPY 와 같은 값.
MaxMipLevel[16]intD3DSAMP_ 프레픽스가 붙지 않는,D3DSAMP_MAXMIPLEVEL 와 같은 값.
MinFilter[16]dwordD3DSAMP_ 프레픽스가 붙지 않는,D3DSAMP_MINFILTER 와 같은 값.
MipFilter[16]dwordD3DSAMP_ 프레픽스가 붙지 않는,D3DSAMP_MIPFILTER 와 같은 값.
MipMapLodBias[16]floatD3DSAMP_ 프레픽스가 붙지 않는,D3DSAMP_MIPMAPLODBIAS 와 같은 값.
SRGBTexturefloatD3DSAMP_ 프레픽스가 붙지 않는,D3DSAMP_SRGBTEXTURE 와 같은 값.

셰이더 스테이트

셰이더 스테이트에는 다음의 것이 있다.

픽셀 셰이더 스테이트

스테이트
PixelShaderpixelshaderNULL, 어셈블리 블록, 컴파일 타겟, 또는 픽셀 셰이더 파라미터.

정점 셰이더 스테이트

스테이트
VertexShadervertexshaderNULL, 어셈블리 블록, 컴파일 타겟, 또는 픽셀 셰이더 파라미터.

셰이더 정수 스테이트

셰이더 정수 스테이트에는 다음의 것이 있다.

픽셀 셰이더 정수 스테이트

스테이트
PixelShaderConstantfloat[m[n]]float 의 m × n 배열. m 및 n 는 옵션.
PixelShaderConstant1float41 개의 4D float.
PixelShaderConstant2float4x22 개의 4D float.
PixelShaderConstant3float4x33 개의 4D float.
PixelShaderConstant4float4x44 개의 4D float.
PixelShaderConstantBbool[m[n]]bool 의 m × n 배열. m 및 n 는 옵션.
PixelShaderConstantIint[m[n]]int 의 m × n 배열. m 및 n 는 옵션.
PixelShaderConstantFfloat[m[n]]float 의 m × n 배열. m 및 n 는 옵션.

정점 셰이더 정수 스테이트

스테이트
VertexShaderConstantfloat[m[n]]float 의 m × n 배열. m 및 n 는 옵션.
VertexShaderConstant1float41 개의 4D float.
VertexShaderConstant2float4x22 개의 4D float.
VertexShaderConstant3float4x33 개의 4D float.
VertexShaderConstant4float4x44 개의 4D float.
VertexShaderConstantBbool[m[n]]bool 의 m × n 배열. m 및 n 는 옵션.
VertexShaderConstantIint[m[n]]int 의 m × n 배열. m 및 n 는 옵션.
VertexShaderConstantFfloat[m[n]]float 의 m × n 배열. m 및 n 는 옵션.

텍스처 스테이트

텍스처 스테이트
Texture[8]textureNULL, 또는 텍스처 파라미터.

텍스처 스테이지 스테이트

텍스처 스테이지 스테이트
AlphaOp[8]dwordD3DTOP_ 프레픽스가 붙지 않는,D3DTEXTUREOP 와 같은 값. 「D3DTSS_ALPHAOP 」를 참조할것.
AlphaArg0[8]dwordD3DTA_ 프레픽스가 붙지 않는,D3DTA 와 같은 값. 「D3DTSS_ALPHAARG0 」를 참조할것.
AlphaArg1[8]dwordD3DTA_ 프레픽스가 붙지 않는,D3DTA 와 같은 값. 「D3DTSS_ALPHAARG1 」를 참조할것.
AlphaArg2[8]dwordD3DTA_ 프레픽스가 붙지 않는,D3DTA 와 같은 값. 「D3DTSS_ALPHAARG2 」를 참조할것.
ColorArg0[8]dwordD3DTA_ 프레픽스가 붙지 않는,D3DTA 와 같은 값. 「D3DTSS_COLORARG0 」를 참조할것.
ColorArg1[8]dwordD3DTA_ 프레픽스가 붙지 않는,D3DTA 와 같은 값. 「D3DTSS_COLORARG1 」를 참조할것.
ColorArg2[8]dwordD3DTA_ 프레픽스가 붙지 않는,D3DTA 와 같은 값. 「D3DTSS_COLORARG2 」를 참조할것.
ColorOp[8]dwordD3DTOP_ 프레픽스가 붙지 않는,D3DTEXTUREOP 와 같은 값. 「D3DTSS_COLOROP 」를 참조할것.
BumpEnvLScale[8]floatD3DTSS_TCI 프레픽스가 붙지 않는,D3DTSS_BUMPENVLSCALE 와 같은 값.
BumpEnvLOffset[8]floatD3DTSS_TCI 프레픽스가 붙지 않는,D3DTSS_BUMPENVLOFFSET 와 같은 값.
BumpEnvMat00[8]floatD3DTSS_BUMPENVMAT00 와 같은 값.
BumpEnvMat01[8]floatD3DTSS_BUMPENVMAT01 와 같은 값.
BumpEnvMat10[8]floatD3DTSS_BUMPENVMAT10 와 같은 값.
BumpEnvMat11[8]floatD3DTSS_BUMPENVMAT11 와 같은 값.
ResultArg[8]dwordD3DTA_ 프레픽스가 붙지 않는,D3DTA 와 같은 값. 「D3DTSS_RESULTARG 」를 참조할것.
TexCoordIndex[8]dwordD3DTSS_TCI 프레픽스가 붙지 않는,D3DTSS_TEXCOORDINDEX 와 같은 값.
TextureTransformFlags[8]dwordD3DTTFF_ 프레픽스가 붙지 않는,D3DTEXTURETRANSFORMFLAGS 와 같은 값. 「D3DTSS_TEXTURETRANSFORMFLAGS 」를 참조할것.

변환 스테이트

이펙트는, 효율적으로 처리를 실시하기 위해서(때문에) 전치행렬을 사용한다. 이펙트에 대해서 전치행렬을 지정하는 일도, 행렬을 사용하기 전에 이펙트에 의해 자동적으로 행렬을 전치 할 수도 있다.

스테이트
ProjectionTransformfloat4x4float 의 4 × 4 행렬. D3DTS_ 프레픽스가 붙지 않는,D3DTS_PROJECTION 와 같은 값.
TextureTransform[8]float4x4float 의 4 × 4 행렬. D3DTS_ 프레픽스가 붙지 않는,D3DTRANSFORMSTATETYPE 와 같은 값.
ViewTransformfloat4x4float 의 4 × 4 행렬. D3DTS_ 프레픽스가 붙지 않는,D3DTS_VIEW 와 같은 값.
WorldTransformfloat4x4float 의 4 × 4 행렬.


© 2002 Microsoft Corporation. All rights reserved.
↑TOP