blend Test
 
Blend Off
블렌딩 기능 취소
Blend SrcFactor DstFactor
블렌딩을 구성 & 활성화. 생성된 색상은 SrcFactor를 곱합니다. 스크린에 이미 있던 색상은 DstFactor 에 의해 곱해지고 두 개는 함께 더해집니다

Properties

모든 다음의 속성들은SrcFactor와DstFactor 둘 다를 위해서 유효합니다. Source 는 계산되어지는 색상을 의미하고 Destination 는 이미 스크린에 있는 색상을 의미합니다.

One 1의 값 – 소스 또는 데스티네이션 색상이 온전히 오게 합니다.
Zero 0의 값 – 소스 또는데스티네이션 값을 삭제하게 합니다.
SrcColor 이 스테이지의 값은 소스 색상 값에 의해 곱해집니다.
SrcAlpha 이 스테이지의 값은 소스 알파 값에 의해 곱해집니다.
DstColor 이 스테이지의 값은 프레임 버퍼 소스 색상 값에 의해 곱해집니다.
DstAlpha 이 스테이지의 값은 프레임 버퍼 소스 알파 값에 의해 곱해집니다.
OneMinusSrcColor 이 스테이지의 값은 (1 – 소스 색상)에 의해 곱해집니다.
OneMinusSrcAlpha 이 스테이지의 값은 (1 – 소스 알파)에 의해 곱해집니다.
OneMinusDstColor 이 스테이지의 값은 (1 – 데스티네이션 색상)에 의해 곱해집니다.
OneMinusDstAlpha 이 스테이지의 값은 (1 – 데스티네이션 알파)에 의해 곱해집니다.

 

 

오늘은 블랜드모드가 어떻게 적용 되는지 기본적인 모드만 테스트 해 보자 .

 

Blend SrcAlpha OneMinusSrcAlpha     // Alpha blending

 

 

 

 


Blend One One                       // Additive

 

 

 

 


Blend One OneMinusDstColor          // Soft Additive

 

 

 

 


Blend DstColor Zero                 // Multiplicative

 

 

 

 


Blend DstColor SrcColor             // 2x Multiplicative

 

 

 

 

 

--전체 코드--

Shader "Dy/blendTest" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader {
Tags { "Queue"="Transparent" }

pass{

// Blend SrcAlpha OneMinusSrcAlpha //AlphaBlend
// Blend One One//Additive
// Blend One OneMinusDstColor//Soft Additive
// Blend DstColor Zero//Multiplicative
Blend DstColor SrcColor//2X Multiplicative

Material{
Diffuse[_Color]
}

SetTexture[_MainTex] {
combine texture
}
}
//pass
}
//subshader
}
//shader

**보통 알파블랜드,스크린,멀티 이정도가 가장 많이 쓴이다... 다른걸 궂이 테스트 해볼 필욘 없는건가?**

**버텍스 알파는 어케 되는거지?**

-------------------------------------------------------------------------------------------

 

 

 

 

 

 

알파 블레드가 된 윈도우위에 반사cubemap을 표현

 

에헤~ 지난번  리플렉션에 큐브를 엏었어야 하는구나 에헹~ 그렇구낭

Shader "Dy/blendTest" {
 Properties {
  _Color ("Color",Color) = (1,1,1,1)
  _MainTex ("Base (RGB)", 2D) = "white" {}
  _Reflection ("Base(RGB)Gloss(A)",Cube) = "skybox"{TexGen CubeReflect}
  
 }
 SubShader {
  Tags { "Queue"="Transparent" }
  
  pass{
  
  Lighting On
  Blend SrcAlpha OneMinusSrcAlpha //AlphaBlend
  
   Material{
    Diffuse[_Color]
   }
   
   SetTexture[_MainTex] {
    combine texture * primary DOUBLE , texture *primary
   }
  }
  //pass
  
  pass{
  
  Lighting On
  Blend One One
  
   SetTexture[_Reflection]{
    combine texture
    Matrix[_Reflection]
   }
   
  }
  //pass
 }
 //subshader
}
//shader

 

하! matrix[] 나왔다... 리플렉션, 프로젝션 두군데서 봤는데.. 이거말고 뭐가 더있는지 안 나와있다...

두번째 페스의 라이트를 꺼도 결과는 같다....왜있는거야 ㅡㅡ;;


 

Posted by 프리랜서 디자이너