41 virtual void SetDoSmoothShading(
bool yesNo) = 0;
42 virtual void SetDoClipping(
bool clip) = 0;
43 virtual void SetDoCullFace(
bool cull) = 0;
44 virtual void SetCullFaceDir(
int direction) = 0;
45 virtual void SetRescaleNormals(
bool rescale) = 0;
46 virtual void SetBlendEnabled(
bool enabled) = 0;
47 virtual void SetDepthWriteEnabled(
bool enabled) = 0;
48 virtual void SetFrameBufferDrawMask(
unsigned int mask) = 0;
49 virtual void SetAlphaTestEnabled(
bool enabled) = 0;
50 virtual void SetDepthTestEnabled(
bool enabled) = 0;
51 virtual void SetInterlacingOffset(
float yPixels) = 0;
52 virtual void SetPolygonMode(GLenum mode) = 0;
54 virtual void SetBlendMode(GLenum source, GLenum dest) = 0;
55 virtual void SetAlphaFunc(GLenum func, GLclampf ref) = 0;
56 virtual void SetDepthFunc(GLenum func) = 0;
58 virtual void SetDrawBuffers(
bool interlaced,
59 GS::CMemArea* frame0Mem, GS::CMemArea* frame1Mem,
60 GS::CMemArea* depthMem)
72 GS::CDrawEnv* DrawEnv;
74 GS::CMemArea *Frame0Mem, *Frame1Mem, *ZBufMem;
75 GS::CMemArea *CurFrameMem, *LastFrameMem;
79 bool FrameIsDblBuffered;
88 bool AlphaTestIsEnabled;
89 bool DepthTestIsEnabled;
95 cpu_mat_44 VertexXform;
97 bool IsVertexXformValid;
105 GS::CDrawEnv& GetDrawEnv() {
return *DrawEnv; }
106 void SwapBuffers(
bool fieldIsEven);
108 inline CClearEnv& GetClearEnv() {
return *ClearEnv; }
110 const cpu_mat_44& GetVertexXform();
111 inline void SetVertexXformValid(
bool valid)
113 IsVertexXformValid = valid;
115 GLContext.XformChanged();
118 int GetFBWidth()
const {
return Width; }
119 int GetFBHeight()
const {
return Height; }
121 int GetDepthBits()
const {
return DepthBits; }
122 void SetDepthBits(
int depth) { DepthBits = depth; }
126 void SetBlendMode(GLenum source, GLenum dest);
127 void SetAlphaFunc(GLenum func, GLclampf ref);
128 void SetDepthFunc(GLenum func);
130 inline bool GetDoSmoothShading()
const {
return DoSmoothShading; }
131 void SetDoSmoothShading(
bool yesNo);
133 inline bool GetDoClipping()
const {
return DoClipping; }
134 void SetDoClipping(
bool clip);
136 inline bool GetDoCullFace()
const {
return DoCullFace; }
137 void SetDoCullFace(
bool cull);
139 inline int GetCullFaceDir()
const {
return CullFaceDir; }
140 void SetCullFaceDir(
int direction);
142 inline bool GetBlendEnabled()
const {
return BlendIsEnabled; }
143 void SetBlendEnabled(
bool enabled);
145 inline bool GetAlphaTestEnabled()
const {
return AlphaTestIsEnabled; }
146 void SetAlphaTestEnabled(
bool enabled);
148 inline bool GetDepthTestEnabled()
const {
return DepthTestIsEnabled; }
149 void SetDepthTestEnabled(
bool enabled);
151 void SetInterlacingOffset(
float yPixels);
153 void SetDepthWriteEnabled(
bool enabled);
154 void SetFrameBufferDrawMask(
unsigned int mask);
156 inline GLenum GetPolygonMode()
const {
return PolyMode; }
157 void SetPolygonMode(GLenum mode);
159 inline bool GetRescaleNormals()
const {
return RescaleNormals; }
160 void SetRescaleNormals(
bool rescale);
162 void SetDrawBuffers(
bool interlaced,
163 GS::CMemArea* frame0Mem, GS::CMemArea* frame1Mem,
164 GS::CMemArea* depthMem);
178 void SetBlendMode(GLenum source, GLenum dest);
179 void SetAlphaFunc(GLenum func, GLclampf ref);
180 void SetDepthFunc(GLenum func);
182 void SetDoSmoothShading(
bool yesNo);
183 void SetDoClipping(
bool clip);
184 void SetDoCullFace(
bool cull);
185 void SetCullFaceDir(
int direction);
186 void SetRescaleNormals(
bool rescale);
187 void SetBlendEnabled(
bool enabled);
188 void SetAlphaTestEnabled(
bool enabled);
189 void SetDepthTestEnabled(
bool enabled);
190 void SetInterlacingOffset(
float yPixels);
191 void SetDepthWriteEnabled(
bool enabled);
192 void SetFrameBufferDrawMask(
unsigned int mask);
193 void SetPolygonMode(GLenum mode) { assert(
false); }
195 void SetDrawBuffers(
bool interlaced,
196 GS::CMemArea* frame0Mem, GS::CMemArea* frame1Mem,
197 GS::CMemArea* depthMem);