1#ifndef SEAD_GRAPHICS_H_
2#define SEAD_GRAPHICS_H_
4#include <heap/seadDisposer.h>
5#include <thread/seadCriticalSection.h>
194 setViewportImpl(x, y, w, h);
199 setScissorImpl(x, y, w, h);
230 setBlendFactorMRTImpl(target, src_factor, dst_factor, src_factor, dst_factor);
235 setBlendFactorMRTImpl(target, src_factor_rgb, dst_factor_rgb, src_factor_a, dst_factor_a);
250 setBlendEquationMRTImpl(target, equation, equation);
255 setBlendEquationMRTImpl(target, equation_rgb, equation_a);
278static_assert(
sizeof(
Graphics) == 0x54,
"sead::Graphics size mismatch");
Definition seadCriticalSection.h:13
Definition seadGraphics.h:17
static void setInstance(Graphics *impl)
Definition seadGraphics.h:152
static DevicePosture sDefaultDevicePosture
Definition seadGraphics.h:273
void setBlendEquationSeparateMRT(u32 target, BlendEquation equation_rgb, BlendEquation equation_a)
Definition seadGraphics.h:253
void setViewportRealPosition(f32 x, f32 y, f32 w, f32 h)
Definition seadGraphics.h:192
virtual void setBlendEquationImpl(BlendEquation equation_rgb, BlendEquation equation_a)
virtual void setBlendEnableImpl(bool enable)
virtual void setDepthFuncImpl(DepthFunc func)
DepthFunc
Definition seadGraphics.h:44
BlendEquation
Definition seadGraphics.h:89
virtual void setScissorImpl(f32 x, f32 y, f32 w, f32 h)
virtual void lockDrawContextImpl()
CriticalSection mContextCriticalSection
Definition seadGraphics.h:269
void setAlphaTestEnable(bool enable)
Definition seadGraphics.h:258
void setDepthEnable(bool test_enable, bool write_enable)
Definition seadGraphics.h:202
static f32 getDefaultDeviceZScale()
Definition seadGraphics.h:36
s32 mContextRefCounter
Definition seadGraphics.h:268
static Graphics * instance()
Definition seadGraphics.h:151
static const u32 cRenderTarget_Num
Definition seadGraphics.h:32
void setBlendEquationMRT(u32 target, BlendEquation equation)
Definition seadGraphics.h:248
StencilFunc
Definition seadGraphics.h:114
static f32 sDefaultDeviceZScale
Definition seadGraphics.h:274
virtual void setDepthWriteEnableImpl(bool enable)
virtual void unlockDrawContextImpl()
static Graphics * sInstance
Definition seadGraphics.h:271
PolygonMode
Definition seadGraphics.h:142
static f32 getDefaultDeviceZOffset()
Definition seadGraphics.h:37
virtual void setStencilTestEnableImpl(bool enable)
void setScissorRealPosition(f32 x, f32 y, f32 w, f32 h)
Definition seadGraphics.h:197
virtual void setStencilTestFuncImpl(StencilFunc func, s32 ref, u32 mask)
virtual void setPolygonModeImpl(PolygonMode front, PolygonMode back)
AlphaFunc
Definition seadGraphics.h:100
void setBlendEquation(BlendEquation equation)
Definition seadGraphics.h:238
virtual bool setVBlankWaitIntervalImpl(u32 interval)
virtual void setViewportImpl(f32 x, f32 y, f32 w, f32 h)
Thread * mContextHolderThread
Definition seadGraphics.h:267
static f32 sDefaultDeviceZOffset
Definition seadGraphics.h:275
StencilOp
Definition seadGraphics.h:128
virtual void setAlphaTestFuncImpl(AlphaFunc func, f32 ref)
virtual void setColorMaskImpl(bool r, bool g, bool b, bool a)
virtual void setBlendConstantColorImpl(const Color4f &color)
Graphics(const Graphics &)
virtual void setAlphaTestEnableImpl(bool enable)
static DevicePosture getDefaultDevicePosture()
Definition seadGraphics.h:35
virtual void initializeImpl()
virtual void setBlendFactorImpl(BlendFactor src_factor_rgb, BlendFactor dst_factor_rgb, BlendFactor src_factor_a, BlendFactor dst_factor_a)
void unlockDrawContext()
Definition seadGraphics.cpp:31
void setBlendEnable(bool enable)
Definition seadGraphics.h:213
void setDepthFunc(Graphics::DepthFunc func)
Definition seadGraphics.h:208
virtual void setBlendEnableMRTImpl(u32 target, bool enable)
virtual void waitForVBlankImpl()
virtual void setBlendEquationMRTImpl(u32 target, BlendEquation equation_rgb, BlendEquation equation_a)
virtual void setBlendFactorMRTImpl(u32 target, BlendFactor src_factor_rgb, BlendFactor dst_factor_rgb, BlendFactor src_factor_a, BlendFactor dst_factor_a)
void setBlendFactorSeparate(BlendFactor src_factor_rgb, BlendFactor dst_factor_rgb, BlendFactor src_factor_a, BlendFactor dst_factor_a)
Definition seadGraphics.h:223
virtual void setColorMaskMRTImpl(u32 target, bool r, bool g, bool b, bool a)
virtual void setDepthTestEnableImpl(bool enable)
BlendFactor
Definition seadGraphics.h:68
virtual void setCullingModeImpl(CullingMode mode)
void setBlendFactorMRT(u32 target, BlendFactor src_factor, BlendFactor dst_factor)
Definition seadGraphics.h:228
void setBlendEquationSeparate(BlendEquation equation_rgb, BlendEquation equation_a)
Definition seadGraphics.h:243
void setBlendFactorSeparateMRT(u32 target, BlendFactor src_factor_rgb, BlendFactor dst_factor_rgb, BlendFactor src_factor_a, BlendFactor dst_factor_a)
Definition seadGraphics.h:233
CullingMode
Definition seadGraphics.h:58
DevicePosture
Definition seadGraphics.h:20
@ cDevicePosture_Invalid
Definition seadGraphics.h:28
@ cDevicePosture_RotateLeft
Definition seadGraphics.h:23
@ cDevicePosture_FlipY
Definition seadGraphics.h:26
@ cDevicePosture_FlipXY
Definition seadGraphics.h:27
@ cDevicePosture_RotateRight
Definition seadGraphics.h:22
@ cDevicePosture_RotateHalfAround
Definition seadGraphics.h:24
@ cDevicePosture_Same
Definition seadGraphics.h:21
@ cDevicePosture_FlipX
Definition seadGraphics.h:25
void lockDrawContext()
Definition seadGraphics.cpp:13
const Graphics & operator=(const Graphics &)
virtual void setStencilTestOpImpl(StencilOp fail, StencilOp zfail, StencilOp zpass)
void setBlendFactor(BlendFactor src_factor, BlendFactor dst_factor)
Definition seadGraphics.h:218
virtual void setPolygonOffsetEnableImpl(bool fill_front_enable, bool fill_back_enable, bool point_line_enable)
Definition seadDisposer.h:12
Definition seadThread.h:28
Definition seadAssert.h:44