블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2797)
Unity3D (853)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (61)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

Device->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
 Device->SetRenderState( D3DRS_SRCBLEND,  어쩌구);
 Device->SetRenderState( D3DRS_DESTBLEND, 저쩌구 );

 

 뭐 이런식으로 설정해서 나오는 알파블렌딩 적용을 통해 나오는 최종값 공식입니다.

 

 FinalColor = TexelColor × SourceBlendFactor + PixelColor × DestBlendFactor

 

 한글로 설명하면

 결과색상 = 소스칼라값 * 소스 블렌딩 계수 + 대상칼라값 * 대상 블렌딩 계수

 

 소스 - 프레임 버퍼에 전송하고자 하는 픽셀 - 그리고자 하는 픽셀

 대상 - 그리고자 하기 이전에 이미 프레임 버퍼에 존재하던 픽셀

 

 이런 최종값을 알파 텍스쳐 블렌딩 계수 변경을 통해 직접 수정할수 있다.

 

Constants

D3DBLEND_ZERO

Blend factor is (0, 0, 0, 0).

D3DBLEND_ONE

Blend factor is (1, 1, 1, 1).

D3DBLEND_SRCCOLOR

Blend factor is (Rs,Gs,Bs,As).

D3DBLEND_INVSRCCOLOR

Blend factor is (1 - Rs, 1 - Gs, 1 - Bs, 1 - As).

D3DBLEND_SRCALPHA

Blend factor is (As, As, As, As).

D3DBLEND_INVSRCALPHA

Blend factor is ( 1 - As, 1 - As, 1 - As, 1 - As).

D3DBLEND_DESTALPHA

Blend factor is (Ad, Ad, Ad, Ad).

D3DBLEND_INVDESTALPHA

Blend factor is (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad).

D3DBLEND_DESTCOLOR

Blend factor is (Rd, Gd, Bd, Ad).

D3DBLEND_INVDESTCOLOR

Blend factor is (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad).

D3DBLEND_SRCALPHASAT

Blend factor is (f, f, f, 1); f = min(A, 1 - Ad).

 Device->SetRenderState( D3DRS_SRCBLEND,  D3DBLEND_ZERO);
 Device->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_SRCCOLOR );

 

 이런 상태 설정후에 블렌딩 방정식은 다음과 같게된다

 

result =   (Src-R, Src-G, Src-B, Src-A) * (0, 0, 0, 0) + (Dest-R, Dest-G, Dest-B, Dest-A) * (Src-R, Src-G, Src-B, Src-A)

         =   (Src-R*0 ,Src-G*0 ,Src-B*0 ,Src-A*0)

           + (Dest-R*Src-R ,Dest-G*Src-G ,Dest-B*Src-B ,Dest-A*Src-A)

         =  (Dest-R*Src-R ,Dest-G*Src-G ,Dest-B*Src-B ,Dest-A*Src-A)   

 


출처 :  http://cafe.naver.com/jzsdn/6116

반응형

'Gamebryo > Shader' 카테고리의 다른 글

HLSL Shader file ( fx file ) 컴파일 하기  (0) 2011.08.27
알파블렌딩 렌더 설정  (0) 2011.07.22
[펌] Soft Particle (Depth bias blend)  (0) 2011.06.15
쉐이더  (0) 2011.04.04
HDR  (0) 2011.04.04
Posted by blueasa
, |