gDPSetCombineMode.3p
4.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
.TH gDPSetCombineMode 3P local "Silicon Graphics, Inc."
.SH NAME
.upperok
gDPSetCombineMode, gsDPSetCombineMode
\- commonly used color combiner modes
.SH C SPECIFICATION
.nf
\f3#include "gbi.h"
.br
.sp
gDPSetCombineMode(Gfx *gdl, int mode1, int mode2)
gsDPSetCombineMode(int mode1, int mode2)
\fP
.fi
.SH PARAMETERS
.TP 10
.I *gdl
graphics display list pointer.
.TP
.I mode1, mode2
Common color combiner modes selection.
In one cycle configuration, mode1 and mode2 should be set to the same mode.
In two cycle configuration, mode1 specifies how to combine in cycle1.
Mode2 specifies how to combine in cycle2.
.SH DESCRIPTION
This command is used to set commonly used color combine modes. An example
typical color combine operation is to modulate texture color with
shade color.
.PP
The following is a list of available modes for one cycle configuration.
Both the mode1 and mode2 parameters should be set to the same value when
in one cycle mode.
.TP
.B G_CC_PRIMITIVE
Use the CC primitive color as output.
.TP
.B G_CC_SHADE
Use the pipeline shading color as output.
.TP
.B G_CC_MODULATEI
Intensity texture modulate shade color for RGB.
Shade alpha is not modulated.
.TP
.B G_CC_MODULATEIA
Intensity texture modulate shade color for RGBA.
.TP
.B G_CC_MODULATEIDECALA
Intensity texture modulate shade color for RGB.
Texture alpha is the output alpha.
.TP
.B G_CC_MODULATERGB
RGB texture modulate shade color for RGB.
Shade alpha is not modulated.
.TP
.B G_CC_MODULATERGBA
RGB texture modulate shade color for RGBA.
.TP
.B G_CC_MODULATERGBDECALA
RGB texture modulate shade color for RGB.
Texture alpha is the output alpha.
.TP
.B G_CC_MODULATEI_PRIM
Intensity texture modulate primitive color for RGB.
Primitive alpha is not modulated.
.TP
.B G_CC_MODULATEIA_PRIM
Intensity texture modulate primitive color for RGBA.
.TP
.B G_CC_MODULATEIDECALA_PRIM
Intensity texture modulate primitive color for RGB.
Texture alpha is the output alpha.
.TP
.B G_CC_MODULATERGB_PRIM
RGB texture modulate primitive color for RGB.
Primitive alpha is not modulated.
.TP
.B G_CC_MODULATERGBA_PRIM
RGB texture modulate primitive color for RGBA.
.TP
.B G_CC_MODULATERGBDECALA_PRIM
RGB texture modulate primitive color for RGB.
Texture alpha is the output alpha.
.TP
.B G_CC_DECALRGB
Texture RGB is the output RGB.
Shade alpha is the output alpha.
.TP
.B G_CC_DECALRGBA
Texture RGBA is the output RGBA.
.TP
.B G_CC_BLENDI
Intensity texture determines modulation between environment and shade RGB.
Shade alpha is the output alpha.
.TP
.B G_CC_BLENDIA
Intensity texture determines modulation between environment and shade RGBA.
.TP
.B G_CC_BLENDIDECALA
Intensity texture determines modulation between environment and shade RGB.
Texture alpha is the output alpha.
.TP
.B G_CC_BLENDRGBA
Texture alpha determines modulation between texture and shade RGB.
Shade alpha is the output alpha.
.TP
.B G_CC_BLENDRGBDECALA
Texture alpha determines modulation between texture and shade RGB.
Texture alpha is the output alpha.
.TP
.B G_CC_HILITERGB
Texture determines modulation between primitive and shade RGB.
Shade alpha is the output alpha.
.TP
.B G_CC_HILITERGBA
Texture determines modulation between primitive and shade RGBA.
.PP
The following is a list of possible cycle one modes of a two cycle configuration.
.TP
.B G_CC_TRILERP
Texels from the two bilerp tiles are combined using LOD fraction.
.TP
.B G_CC_INTERFERENCE
Texels from the two bilerp tiles are combined together.
If there are different frequency bands in the two texture tiles, sliding s and t coordinates can give interesting interference patterns.
.TP
.B G_CC_BLENDPE
This mode is intended to be used with an intensity (I) texture. It uses the
intensity to interpolate between the environment color
.I (gDPSetEnvColor (3P))
and primitive color
.I (gDPSetPrimColor (3P)).
.TP
.B G_CC_BLENDPEDECALA
This mode is like G_CC_BLENDPE, except it uses the texture only as the
alpha source.
.PP
The following is a list of possible cycle two modes of a two cycle configuration.
Most are the same as their mode1 counterparts.
However, since these are for mode2, rather than using RDP pipeline shade RGBA, the resultant combined RGBA from mode1 is used.
.TP
.B G_CC_PASS2
Pass the RGBA result of the first cycle computation to the output.
.TP
.B G_CC_MODULATEI2
.TP
.B G_CC_MODULATEIA2
.TP
.B G_CC_MODULATERGB2
.TP
.B G_CC_MODULATERGBA2
.TP
.B G_CC_MODULATEI_PRIM2
.TP
.B G_CC_MODULATEIA_PRIM2
.TP
.B G_CC_MODULATERGB_PRIM2
.TP
.B G_CC_MODULATERGBA_PRIM2
.TP
.B G_CC_DECALRGB2
.TP
.B G_CC_BLENDI2
.TP
.B G_CC_BLENDIA2
.TP
.B G_CC_HILITERGB2
.TP
.B G_CC_HILITERGBA2
.SH SEE ALSO
.IR gDPSetCycleType (3P)
.IR gDPSetTextureLOD (3P)
.IR gDPSetPrimColor (3P)
.IR gDPSetEnvColor (3P)