M2/Rendering: Difference between revisions

From wowdev
Jump to navigation Jump to search
Line 16: Line 16:
| 0
| 0
| Blend_Opaque
| Blend_Opaque
| GL_ONE
| ONE
| GL_ZERO
| ZERO
| GL_ONE
| ONE
| GL_ZERO
| ZERO
|-
|-
| 1
| 1
| Blend_AlphaKey
| Blend_AlphaKey
| GL_ONE
| ONE
| GL_ZERO
| ZERO
| GL_ONE
| ONE
| GL_ZERO
| ZERO
|-
|-
| 2
| 2
| Blend_Alpha
| Blend_Alpha
| GL_SRC_ALPHA
| SRC_ALPHA
| GL_ONE_MINUS_SRC_ALPHA
| ONE_MINUS_SRC_ALPHA
| GL_ONE
| ONE
| ONE_MINUS_SRC_ALPHA
| ONE_MINUS_SRC_ALPHA
|-
|-
| 3
| 3
| Blend_Add
| Blend_Add
| GL_SRC_ALPHA
| SRC_ALPHA
| GL_ONE
| ONE
| GL_ZERO
| ZERO
| GL_ONE
| ONE
|-
|-
| 4
| 4
| Blend_Mod
| Blend_Mod
| GL_DST_COLOR
| DST_COLOR
| GL_ZERO
| ZERO
| ?
| ?
| GL_ZERO
| ZERO
|-
|-
| 5
| 5
| Blend_Mod2x
| Blend_Mod2x
| GL_DST_COLOR
| DST_COLOR
| GL_SRC_COLOR
| SRC_COLOR
| -
| ?
| -
| SRC_ALPHA
|-
|-
| 6
| 6
| Blend_ModAdd
| Blend_ModAdd
| GL_DST_COLOR
| DST_COLOR
| GL_ONE
| ONE
| -
| ?
| -
| ONE
|-
|-
| 7
| 7
| Blend_InvSrcAlphaAdd
| Blend_InvSrcAlphaAdd
| GL_ONE_MINUS_SRC_ALPHA
| ONE_MINUS_SRC_ALPHA
| GL_ONE
| ONE
| -
| ONE_MINUS_SRC_ALPHA
| -
| ONE
|-
|-
| 8
| 8
| Blend_InvSrcAlphaOpaque
| Blend_InvSrcAlphaOpaque
| GL_ONE_MINUS_SRC_ALPHA
| ONE_MINUS_SRC_ALPHA
| GL_ZERO
| ZERO
| -
| ONE_MINUS_SRC_ALPHA
| -
| ZERO
|-
|-
| 9
| 9
| Blend_SrcAlphaOpaque
| Blend_SrcAlphaOpaque
| GL_SRC_ALPHA
| SRC_ALPHA
| GL_ZERO
| ZERO
| -
| -
| -
| -
Line 86: Line 86:
| 10
| 10
| Blend_NoAlphaAdd
| Blend_NoAlphaAdd
| GL_ONE
| ONE
| GL_ONE
| ONE
| -
| -
| -
| -
Line 93: Line 93:
| 11
| 11
| Blend_ConstantAlpha
| Blend_ConstantAlpha
| GL_CONSTANT_ALPHA
| CONSTANT_ALPHA
| GL_ONE_MINUS_CONSTANT_ALPHA
| ONE_MINUS_CONSTANT_ALPHA
| -
| -
| -
| -
Line 100: Line 100:
| 12
| 12
| Blend_Screen
| Blend_Screen
| GL_ONE_MINUS_DST_COLOR
| ONE_MINUS_DST_COLOR
| GL_ONE
| ONE
| -
| -
| -
| -
Line 107: Line 107:
| 13
| 13
| Blend_BlendAdd
| Blend_BlendAdd
| GL_ONE
| ONE
| GL_ONE_MINUS_SRC_ALPHA
| ONE_MINUS_SRC_ALPHA
| -
| -
| -
| -
|}
|}

Revision as of 18:04, 27 November 2016

Blending Modes

Wrath of the Lich King and Cataclysm do not use separate alpha blending. Later expansion clients likely do use separate alpha blending.

Blend_BlendAdd was added after Cataclysm.

Mode Src Color Dest Color Src Alpha Dest Alpha
0 Blend_Opaque ONE ZERO ONE ZERO
1 Blend_AlphaKey ONE ZERO ONE ZERO
2 Blend_Alpha SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE ONE_MINUS_SRC_ALPHA
3 Blend_Add SRC_ALPHA ONE ZERO ONE
4 Blend_Mod DST_COLOR ZERO ? ZERO
5 Blend_Mod2x DST_COLOR SRC_COLOR ? SRC_ALPHA
6 Blend_ModAdd DST_COLOR ONE ? ONE
7 Blend_InvSrcAlphaAdd ONE_MINUS_SRC_ALPHA ONE ONE_MINUS_SRC_ALPHA ONE
8 Blend_InvSrcAlphaOpaque ONE_MINUS_SRC_ALPHA ZERO ONE_MINUS_SRC_ALPHA ZERO
9 Blend_SrcAlphaOpaque SRC_ALPHA ZERO - -
10 Blend_NoAlphaAdd ONE ONE - -
11 Blend_ConstantAlpha CONSTANT_ALPHA ONE_MINUS_CONSTANT_ALPHA - -
12 Blend_Screen ONE_MINUS_DST_COLOR ONE - -
13 Blend_BlendAdd ONE ONE_MINUS_SRC_ALPHA - -