NW4F G3d
Loading...
Searching...
No Matches
g3d_GfxState.h
Go to the documentation of this file.
1#ifndef NW_G3D_FND_GFXSTATE_H_
2#define NW_G3D_FND_GFXSTATE_H_
3
4#include <nw/g3d/g3d_config.h>
5#include <nw/g3d/fnd/g3d_GX2Struct.h>
6#include <cafe/gx2/gx2RenderStateReg.h>
7
8#define NW_G3D_GFX_STATE(class_name) public
9 :
10 typedef class_name self_type;
11 typedef class_name##_t base_type;
12 static self_type* DownCast(base_type* ptr) { return static_cast<self_type*>(ptr); }
13 static const self_type* DownCast(const base_type* ptr)
14 { return static_cast<const self_type*>(ptr); }
15 static self_type& DownCast(base_type& ref) { return static_cast<self_type&>(ref); }
16 static const self_type& DownCast(const base_type& ref)
17 { return static_cast<const self_type&>(ref); }
18 class_name() /* { SetDefault(); } */;
19
20
21namespace nw { namespace g3d { namespace fnd {
22
27
29{
30 NW_G3D_GFX_STATE(GfxPolygonCtrl);
31
32public:
33 void Load() const;
34
35 /*
36 void SetDefault();
37
38 void SetCullFront(GX2Boolean cull);
39 void SetCullBack(GX2Boolean cull);
40 void SetFrontFace(GX2FrontFaceMode mode);
41
42 GX2Boolean GetCullFront() const;
43 GX2Boolean GetCullBack() const;
44 */
46
47 /*
48 void SetPolygonModeEnable(GX2Boolean enable);
49 void SetPolygonModeFront(GX2PolygonMode mode);
50 void SetPolygonModeBack(GX2PolygonMode mode);
51 */
52
56
57 void SetPolygonOffsetFrontEnable(GX2Boolean enable);
58 /*
59 void SetPolygonOffsetBackEnable(GX2Boolean enable);
60 void SetPointLineOffsetEnable(GX2Boolean enable);
61
62 GX2Boolean GetPolygonOffsetFrontEnable() const;
63 GX2Boolean GetPolygonOffsetBackEnable() const;
64 */
66};
67
72
74{
75 NW_G3D_GFX_STATE(GfxDepthCtrl);
76
77public:
78 void Load() const;
79
80 /*
81 void SetDefault();
82
83 void SetDepthTestEnable(GX2Boolean enable);
84 void SetDepthWriteEnable(GX2Boolean enable);
85 void SetDepthFunc(GX2CompareFunction func);
86 void SetStencilTestEnable(GX2Boolean enable);
87 void SetBackStencilEnable(GX2Boolean enable);
88 */
89
95
96 /*
97 void SetFrontStencilFunc(GX2CompareFunction func);
98 void SetFrontStencilZPass(GX2StencilFunction func);
99 void SetFrontStencilZFail(GX2StencilFunction func);
100 void SetFrontStencilFail(GX2StencilFunction func);
101 */
102
107
108 /*
109 void SetBackStencilFunc(GX2CompareFunction func);
110 void SetBackStencilZPass(GX2StencilFunction func);
111 void SetBackStencilZFail(GX2StencilFunction func);
112 void SetBackStencilFail(GX2StencilFunction func);
113 */
114
119};
120
125
127{
128 NW_G3D_GFX_STATE(GfxAlphaTest);
129
130public:
131 void Load() const;
132
133 /*
134 void SetDefault();
135
136 void SetAlphaTestEnable(GX2Boolean enable);
137 void SetAlphaFunc(GX2CompareFunction func);
138 */
139 void SetRefValue(f32 value);
140
143 f32 GetRefValue() const;
144};
145
150
152{
153 NW_G3D_GFX_STATE(GfxColorCtrl);
154
155public:
156 void Load() const;
157
158 /*
159 void SetDefault();
160
161 void SetLogicOp(GX2LogicOp lop);
162 void SetBlendEnableMask(u8 mask);
163 void SetMultiWriteEnable(GX2Boolean enable);
164 void SetColorBufferEnable(GX2Boolean enable);
165 */
166
167 GX2LogicOp GetLogicOp() const;
168 u8 GetBlendEnableMask() const;
169 /*
170 GX2Boolean GetMultiWriteEnable() const;
171 GX2Boolean GetColorBufferEnable() const;
172 */
173};
174
179
181{
182 NW_G3D_GFX_STATE(GfxBlendCtrl);
183
184public:
185 void Load() const;
186 void Load(GX2RenderTarget target) const;
187
188 /*
189 void SetDefault();
190
191 void SetColorSrcBlend(GX2BlendFunction func);
192 void SetColorDstBlend(GX2BlendFunction func);
193 void SetColorCombine(GX2BlendCombine combine);
194 void SetSeparateAlphaBlend(GX2Boolean enable);
195 void SetAlphaSrcBlend(GX2BlendFunction func);
196 void SetAlphaDstBlend(GX2BlendFunction func);
197 void SetAlphaCombine(GX2BlendCombine combine);
198 */
199
207};
208
213
215{
216 NW_G3D_GFX_STATE(GfxBlendColor);
217
218public:
219 void Load() const;
220
221 /*
222 void SetDefault();
223
224 void SetConstantColor(const f32 color[4]);
225 f32* GetConstantColor();
226 const f32* GetConstantColor() const;
227 */
228};
229
230} } } // namespace nw::g3d::fnd
231
232#endif // NW_G3D_FND_GFXSTATE_H_
Definition g3d_GfxState.h:127
GX2Boolean GetAlphaTestEnable() const
Definition g3d_GfxState.cpp:198
void SetRefValue(f32 value)
Definition g3d_GfxState.cpp:188
void Load() const
Definition g3d_GfxState.cpp:183
GX2CompareFunction GetAlphaFunc() const
Definition g3d_GfxState.cpp:203
f32 GetRefValue() const
Definition g3d_GfxState.cpp:208
Definition g3d_GfxState.h:215
void Load() const
Definition g3d_GfxState.cpp:283
Definition g3d_GfxState.h:181
GX2Boolean GetSeparateAlphaBlend() const
Definition g3d_GfxState.cpp:263
void Load() const
Definition g3d_GfxState.cpp:233
GX2BlendFunction GetAlphaSrcBlend() const
Definition g3d_GfxState.cpp:268
void Load(GX2RenderTarget target) const
Definition g3d_GfxState.cpp:238
GX2BlendFunction GetColorSrcBlend() const
Definition g3d_GfxState.cpp:248
GX2BlendFunction GetColorDstBlend() const
Definition g3d_GfxState.cpp:253
GX2BlendCombine GetColorCombine() const
Definition g3d_GfxState.cpp:258
GX2BlendFunction GetAlphaDstBlend() const
Definition g3d_GfxState.cpp:273
GX2BlendCombine GetAlphaCombine() const
Definition g3d_GfxState.cpp:278
Definition g3d_GfxState.h:152
GX2LogicOp GetLogicOp() const
Definition g3d_GfxState.cpp:223
u8 GetBlendEnableMask() const
Definition g3d_GfxState.cpp:228
void Load() const
Definition g3d_GfxState.cpp:218
Definition g3d_GfxState.h:74
GX2StencilFunction GetBackStencilZPass() const
Definition g3d_GfxState.cpp:168
GX2Boolean GetDepthWriteEnable() const
Definition g3d_GfxState.cpp:123
void Load() const
Definition g3d_GfxState.cpp:113
GX2CompareFunction GetDepthFunc() const
Definition g3d_GfxState.cpp:128
GX2Boolean GetBackStencilEnable() const
Definition g3d_GfxState.cpp:138
GX2CompareFunction GetBackStencilFunc() const
Definition g3d_GfxState.cpp:163
GX2StencilFunction GetFrontStencilFail() const
Definition g3d_GfxState.cpp:158
GX2StencilFunction GetBackStencilZFail() const
Definition g3d_GfxState.cpp:173
GX2StencilFunction GetFrontStencilZFail() const
Definition g3d_GfxState.cpp:153
GX2StencilFunction GetFrontStencilZPass() const
Definition g3d_GfxState.cpp:148
GX2StencilFunction GetBackStencilFail() const
Definition g3d_GfxState.cpp:178
GX2Boolean GetDepthTestEnable() const
Definition g3d_GfxState.cpp:118
GX2Boolean GetStencilTestEnable() const
Definition g3d_GfxState.cpp:133
GX2CompareFunction GetFrontStencilFunc() const
Definition g3d_GfxState.cpp:143
Definition g3d_GfxState.h:29
GX2Boolean GetPolygonModeEnable() const
Definition g3d_GfxState.cpp:88
GX2PolygonMode GetPolygonModeFront() const
Definition g3d_GfxState.cpp:93
GX2PolygonMode GetPolygonModeBack() const
Definition g3d_GfxState.cpp:98
GX2FrontFaceMode GetFrontFace() const
Definition g3d_GfxState.cpp:83
void SetPolygonOffsetFrontEnable(GX2Boolean enable)
Definition g3d_GfxState.cpp:103
void Load() const
Definition g3d_GfxState.cpp:78
GX2Boolean GetPointLineOffsetEnable() const
Definition g3d_GfxState.cpp:108
#define NW_G3D_GFX_STATE(class_name)
Definition g3d_GfxState.h:8
Definition g3d_GfxManage.cpp:10
Definition g3d_GfxManage.cpp:10
Definition g3d_GfxState.h:122
GX2AlphaTestReg gx2AlphaTest
Definition g3d_GfxState.h:123
Definition g3d_GfxState.h:210
GX2BlendConstantColorReg gx2BlendConstantColor
Definition g3d_GfxState.h:211
Definition g3d_GfxState.h:176
GX2BlendControlReg gx2BlendControl
Definition g3d_GfxState.h:177
Definition g3d_GfxState.h:147
GX2ColorControlReg gx2ColorControl
Definition g3d_GfxState.h:148
Definition g3d_GfxState.h:69
GX2DepthStencilControlReg gx2DepthStencilControl
Definition g3d_GfxState.h:70
Definition g3d_GfxState.h:24
GX2PolygonControlReg gx2PolygonControl
Definition g3d_GfxState.h:25