libultraship
Reimplementations of libultra (N64 SDK) functions for modern hardware
Loading...
Searching...
No Matches
Fast::GfxRenderingAPI Class Referenceabstract

#include <gfx_rendering_api.h>

Inheritance diagram for Fast::GfxRenderingAPI:
[legend]

Public Member Functions

virtual ~GfxRenderingAPI ()=default
 
virtual const char * GetName ()=0
 
virtual int GetMaxTextureSize ()=0
 
virtual GfxClipParameters GetClipParameters ()=0
 
virtual void UnloadShader (ShaderProgram *oldPrg)=0
 
virtual void LoadShader (ShaderProgram *newPrg)=0
 
virtual void ClearShaderCache ()=0
 
virtual ShaderProgramCreateAndLoadNewShader (uint64_t shaderId0, uint64_t shaderId1)=0
 
virtual ShaderProgramLookupShader (uint64_t shaderId0, uint64_t shaderId1)=0
 
virtual void ShaderGetInfo (ShaderProgram *prg, uint8_t *numInputs, bool usedTextures[2])=0
 
virtual uint32_t NewTexture ()=0
 
virtual void SelectTexture (int tile, uint32_t textureId)=0
 
virtual void UploadTexture (const uint8_t *rgba32Buf, uint32_t width, uint32_t height)=0
 
virtual void SetSamplerParameters (int sampler, bool linear_filter, uint32_t cms, uint32_t cmt)=0
 
virtual void SetDepthTestAndMask (bool depth_test, bool z_upd)=0
 
virtual void SetZmodeDecal (bool decal)=0
 
virtual void SetViewport (int x, int y, int width, int height)=0
 
virtual void SetScissor (int x, int y, int width, int height)=0
 
virtual void SetUseAlpha (bool useAlpha)=0
 
virtual void DrawTriangles (float buf_vbo[], size_t buf_vbo_len, size_t buf_vbo_num_tris)=0
 
virtual void Init ()=0
 
virtual void OnResize ()=0
 
virtual void StartFrame ()=0
 
virtual void EndFrame ()=0
 
virtual void FinishRender ()=0
 
virtual int CreateFramebuffer ()=0
 
virtual void UpdateFramebufferParameters (int fb_id, uint32_t width, uint32_t height, uint32_t msaa_level, bool opengl_invertY, bool render_target, bool has_depth_buffer, bool can_extract_depth)=0
 
virtual void StartDrawToFramebuffer (int fbId, float noiseScale)=0
 
virtual void CopyFramebuffer (int fbDstId, int fbSrcId, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1)=0
 
virtual void ClearFramebuffer (bool color, bool depth)=0
 
virtual void ClearDepthRegion (int x, int y, int w, int h)
 
virtual void ReadFramebufferToCPU (int fbId, uint32_t width, uint32_t height, uint16_t *rgba16Buf)=0
 
virtual void ResolveMSAAColorBuffer (int fbIdTarger, int fbIdSrc)=0
 
virtual std::unordered_map< std::pair< float, float >, uint16_t, hash_pair_ffGetPixelDepth (int fb_id, const std::set< std::pair< float, float > > &coordinates)=0
 
virtual void * GetFramebufferTextureId (int fbId)=0
 
virtual void SelectTextureFb (int fbId)=0
 
virtual void DeleteTexture (uint32_t texId)=0
 
virtual void SetTextureFilter (FilteringMode mode)=0
 
virtual FilteringMode GetTextureFilter ()=0
 
virtual void SetSrgbMode ()=0
 
virtual ImTextureID GetTextureById (int id)=0
 
virtual void SetCurrentPrimDepth (float depth)=0
 

Protected Attributes

int8_t mCurrentDepthTest = 0
 
int8_t mCurrentDepthMask = 0
 
int8_t mCurrentZmodeDecal = 0
 
int8_t mLastDepthTest = -1
 
int8_t mLastDepthMask = -1
 
int8_t mLastZmodeDecal = -1
 
bool mSrgbMode = false
 
float mCurrentPrimDepth = 0.0f
 
bool mPrimDepthDirty = true
 

Constructor & Destructor Documentation

◆ ~GfxRenderingAPI()

virtual Fast::GfxRenderingAPI::~GfxRenderingAPI ( )
virtualdefault

Member Function Documentation

◆ ClearDepthRegion()

virtual void Fast::GfxRenderingAPI::ClearDepthRegion ( int  x,
int  y,
int  w,
int  h 
)
inlinevirtual

Reimplemented in Fast::GfxRenderingAPIOGL.

◆ ClearFramebuffer()

virtual void Fast::GfxRenderingAPI::ClearFramebuffer ( bool  color,
bool  depth 
)
pure virtual

◆ ClearShaderCache()

virtual void Fast::GfxRenderingAPI::ClearShaderCache ( )
pure virtual

◆ CopyFramebuffer()

virtual void Fast::GfxRenderingAPI::CopyFramebuffer ( int  fbDstId,
int  fbSrcId,
int  srcX0,
int  srcY0,
int  srcX1,
int  srcY1,
int  dstX0,
int  dstY0,
int  dstX1,
int  dstY1 
)
pure virtual

◆ CreateAndLoadNewShader()

virtual ShaderProgram * Fast::GfxRenderingAPI::CreateAndLoadNewShader ( uint64_t  shaderId0,
uint64_t  shaderId1 
)
pure virtual

◆ CreateFramebuffer()

virtual int Fast::GfxRenderingAPI::CreateFramebuffer ( )
pure virtual

◆ DeleteTexture()

virtual void Fast::GfxRenderingAPI::DeleteTexture ( uint32_t  texId)
pure virtual

◆ DrawTriangles()

virtual void Fast::GfxRenderingAPI::DrawTriangles ( float  buf_vbo[],
size_t  buf_vbo_len,
size_t  buf_vbo_num_tris 
)
pure virtual

◆ EndFrame()

virtual void Fast::GfxRenderingAPI::EndFrame ( )
pure virtual

◆ FinishRender()

virtual void Fast::GfxRenderingAPI::FinishRender ( )
pure virtual

◆ GetClipParameters()

virtual GfxClipParameters Fast::GfxRenderingAPI::GetClipParameters ( )
pure virtual

◆ GetFramebufferTextureId()

virtual void * Fast::GfxRenderingAPI::GetFramebufferTextureId ( int  fbId)
pure virtual

◆ GetMaxTextureSize()

virtual int Fast::GfxRenderingAPI::GetMaxTextureSize ( )
pure virtual

◆ GetName()

virtual const char * Fast::GfxRenderingAPI::GetName ( )
pure virtual

◆ GetPixelDepth()

virtual std::unordered_map< std::pair< float, float >, uint16_t, hash_pair_ff > Fast::GfxRenderingAPI::GetPixelDepth ( int  fb_id,
const std::set< std::pair< float, float > > &  coordinates 
)
pure virtual

◆ GetTextureById()

virtual ImTextureID Fast::GfxRenderingAPI::GetTextureById ( int  id)
pure virtual

◆ GetTextureFilter()

virtual FilteringMode Fast::GfxRenderingAPI::GetTextureFilter ( )
pure virtual

◆ Init()

virtual void Fast::GfxRenderingAPI::Init ( )
pure virtual

◆ LoadShader()

virtual void Fast::GfxRenderingAPI::LoadShader ( ShaderProgram newPrg)
pure virtual

◆ LookupShader()

virtual ShaderProgram * Fast::GfxRenderingAPI::LookupShader ( uint64_t  shaderId0,
uint64_t  shaderId1 
)
pure virtual

◆ NewTexture()

virtual uint32_t Fast::GfxRenderingAPI::NewTexture ( )
pure virtual

◆ OnResize()

virtual void Fast::GfxRenderingAPI::OnResize ( )
pure virtual

◆ ReadFramebufferToCPU()

virtual void Fast::GfxRenderingAPI::ReadFramebufferToCPU ( int  fbId,
uint32_t  width,
uint32_t  height,
uint16_t *  rgba16Buf 
)
pure virtual

◆ ResolveMSAAColorBuffer()

virtual void Fast::GfxRenderingAPI::ResolveMSAAColorBuffer ( int  fbIdTarger,
int  fbIdSrc 
)
pure virtual

◆ SelectTexture()

virtual void Fast::GfxRenderingAPI::SelectTexture ( int  tile,
uint32_t  textureId 
)
pure virtual

◆ SelectTextureFb()

virtual void Fast::GfxRenderingAPI::SelectTextureFb ( int  fbId)
pure virtual

◆ SetCurrentPrimDepth()

virtual void Fast::GfxRenderingAPI::SetCurrentPrimDepth ( float  depth)
pure virtual

◆ SetDepthTestAndMask()

virtual void Fast::GfxRenderingAPI::SetDepthTestAndMask ( bool  depth_test,
bool  z_upd 
)
pure virtual

◆ SetSamplerParameters()

virtual void Fast::GfxRenderingAPI::SetSamplerParameters ( int  sampler,
bool  linear_filter,
uint32_t  cms,
uint32_t  cmt 
)
pure virtual

◆ SetScissor()

virtual void Fast::GfxRenderingAPI::SetScissor ( int  x,
int  y,
int  width,
int  height 
)
pure virtual

◆ SetSrgbMode()

virtual void Fast::GfxRenderingAPI::SetSrgbMode ( )
pure virtual

◆ SetTextureFilter()

virtual void Fast::GfxRenderingAPI::SetTextureFilter ( FilteringMode  mode)
pure virtual

◆ SetUseAlpha()

virtual void Fast::GfxRenderingAPI::SetUseAlpha ( bool  useAlpha)
pure virtual

◆ SetViewport()

virtual void Fast::GfxRenderingAPI::SetViewport ( int  x,
int  y,
int  width,
int  height 
)
pure virtual

◆ SetZmodeDecal()

virtual void Fast::GfxRenderingAPI::SetZmodeDecal ( bool  decal)
pure virtual

◆ ShaderGetInfo()

virtual void Fast::GfxRenderingAPI::ShaderGetInfo ( ShaderProgram prg,
uint8_t *  numInputs,
bool  usedTextures[2] 
)
pure virtual

◆ StartDrawToFramebuffer()

virtual void Fast::GfxRenderingAPI::StartDrawToFramebuffer ( int  fbId,
float  noiseScale 
)
pure virtual

◆ StartFrame()

virtual void Fast::GfxRenderingAPI::StartFrame ( )
pure virtual

◆ UnloadShader()

virtual void Fast::GfxRenderingAPI::UnloadShader ( ShaderProgram oldPrg)
pure virtual

◆ UpdateFramebufferParameters()

virtual void Fast::GfxRenderingAPI::UpdateFramebufferParameters ( int  fb_id,
uint32_t  width,
uint32_t  height,
uint32_t  msaa_level,
bool  opengl_invertY,
bool  render_target,
bool  has_depth_buffer,
bool  can_extract_depth 
)
pure virtual

◆ UploadTexture()

virtual void Fast::GfxRenderingAPI::UploadTexture ( const uint8_t *  rgba32Buf,
uint32_t  width,
uint32_t  height 
)
pure virtual

Member Data Documentation

◆ mCurrentDepthMask

int8_t Fast::GfxRenderingAPI::mCurrentDepthMask = 0
protected

◆ mCurrentDepthTest

int8_t Fast::GfxRenderingAPI::mCurrentDepthTest = 0
protected

◆ mCurrentPrimDepth

float Fast::GfxRenderingAPI::mCurrentPrimDepth = 0.0f
protected

◆ mCurrentZmodeDecal

int8_t Fast::GfxRenderingAPI::mCurrentZmodeDecal = 0
protected

◆ mLastDepthMask

int8_t Fast::GfxRenderingAPI::mLastDepthMask = -1
protected

◆ mLastDepthTest

int8_t Fast::GfxRenderingAPI::mLastDepthTest = -1
protected

◆ mLastZmodeDecal

int8_t Fast::GfxRenderingAPI::mLastZmodeDecal = -1
protected

◆ mPrimDepthDirty

bool Fast::GfxRenderingAPI::mPrimDepthDirty = true
protected

◆ mSrgbMode

bool Fast::GfxRenderingAPI::mSrgbMode = false
protected

The documentation for this class was generated from the following file: