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[] 나왔다... 리플렉션, 프로젝션 두군데서 봤는데.. 이거말고 뭐가 더있는지 안 나와있다...
두번째 페스의 라이트를 꺼도 결과는 같다....왜있는거야 ㅡㅡ;;
'Unity공부 > Unity Fixed Shader 공부' 카테고리의 다른 글
unity fixed shader 로 짜는 shader 공부 6- 염색셰이더 (1) | 2012.07.23 |
---|---|
unity fixed shader 로 짜는 shader 공부 5 - 유니티 라이트맵 모바일 셰이더 분석? (0) | 2012.07.20 |
unity fixed shader 로 짜는 shader 공부 3 - SetTexture Test (0) | 2012.07.18 |
unity fixed shader 로 짜는 shader 공부 2 (0) | 2012.07.17 |
unity fixed shader 로 짜는 shader 공부 1 (0) | 2012.07.16 |