Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
KODI::RETRO::CRPRendererOpenGL Class Reference

#include <RPRendererOpenGL.h>

Inheritance diagram for KODI::RETRO::CRPRendererOpenGL:
KODI::RETRO::CRPBaseRenderer KODI::RETRO::CRPRendererDMAOpenGL

Classes

struct  PackedVertex
 
struct  RenderBufferTextures
 
struct  Svertex
 

Public Member Functions

 CRPRendererOpenGL (const CRenderSettings &renderSettings, CRenderContext &context, std::shared_ptr< IRenderBufferPool > bufferPool)
 
 ~CRPRendererOpenGL () override
 
bool Supports (RENDERFEATURE feature) const override
 
SCALINGMETHOD GetDefaultScalingMethod () const override
 
- Public Member Functions inherited from KODI::RETRO::CRPBaseRenderer
 CRPBaseRenderer (const CRenderSettings &renderSettings, CRenderContext &context, std::shared_ptr< IRenderBufferPool > bufferPool)
 
virtual ~CRPBaseRenderer ()
 
IRenderBufferPoolGetBufferPool ()
 Get the buffer pool used by this renderer.
 
bool Configure (AVPixelFormat format)
 
void FrameMove ()
 
void SetBuffer (IRenderBuffer *buffer)
 
void RenderFrame (bool clear, uint8_t alpha)
 
bool IsCompatible (const CRenderVideoSettings &settings) const
 
virtual void Flush ()
 
const CRenderSettingsGetRenderSettings () const
 
void SetScalingMethod (SCALINGMETHOD method)
 
void SetStretchMode (STRETCHMODE stretchMode)
 
void SetRenderRotation (unsigned int rotationDegCCW)
 
void SetShaderPreset (const std::string &presetPath)
 
void SetPixels (const std::string &pixelPath)
 
bool IsVisible () const
 
IRenderBufferGetRenderBuffer () const
 

Static Public Member Functions

static bool SupportsScalingMethod (SCALINGMETHOD method)
 

Protected Member Functions

void RenderInternal (bool clear, uint8_t alpha) override
 
void FlushInternal () override
 
void ClearBackBuffer ()
 Set the entire backbuffer to black.
 
void DrawBlackBars ()
 Draw black bars around the video quad.
 
virtual void Render (uint8_t alpha)
 
- Protected Member Functions inherited from KODI::RETRO::CRPBaseRenderer
virtual bool ConfigureInternal ()
 
void Updateshaders ()
 Updates everything needed for video shaders (shader presets) Needs to be called after m_renderBuffer has been set.
 

Protected Attributes

std::map< CRenderBufferOpenGL *, std::unique_ptr< RenderBufferTextures > > m_RBTexturesMap
 
GLuint m_mainVAO
 
GLuint m_mainVertexVBO
 
GLuint m_mainIndexVBO
 
GLuint m_blackbarsVAO
 
GLuint m_blackbarsVertexVBO
 
GLenum m_textureTarget = GL_TEXTURE_2D
 
float m_clearColour = 0.0f
 
- Protected Attributes inherited from KODI::RETRO::CRPBaseRenderer
CRenderContextm_context
 
std::shared_ptr< IRenderBufferPoolm_bufferPool
 
bool m_bConfigured = false
 
AVPixelFormat m_format = AV_PIX_FMT_NONE
 
CRenderSettings m_renderSettings
 
IRenderBufferm_renderBuffer = nullptr
 
CRect m_sourceRect
 
float m_fullDestWidth {0.0f}
 
float m_fullDestHeight {0.0f}
 
ViewportCoordinates m_rotatedDestCoords {}
 
std::unique_ptr< SHADER::IShaderPresetm_shaderPreset
 
bool m_bShadersNeedUpdate = true
 
bool m_bUseShaderPreset = false
 

Constructor & Destructor Documentation

◆ CRPRendererOpenGL()

CRPRendererOpenGL::CRPRendererOpenGL ( const CRenderSettings & renderSettings,
CRenderContext & context,
std::shared_ptr< IRenderBufferPool > bufferPool )

◆ ~CRPRendererOpenGL()

CRPRendererOpenGL::~CRPRendererOpenGL ( )
override

Member Function Documentation

◆ ClearBackBuffer()

void CRPRendererOpenGL::ClearBackBuffer ( )
protected

Set the entire backbuffer to black.

◆ DrawBlackBars()

void CRPRendererOpenGL::DrawBlackBars ( )
protected

Draw black bars around the video quad.

This is more efficient than glClear() since it only sets pixels to black that aren't going to be overwritten by the game.

◆ FlushInternal()

void CRPRendererOpenGL::FlushInternal ( )
overrideprotectedvirtual

Reimplemented from KODI::RETRO::CRPBaseRenderer.

◆ GetDefaultScalingMethod()

SCALINGMETHOD KODI::RETRO::CRPRendererOpenGL::GetDefaultScalingMethod ( ) const
inlineoverridevirtual

◆ Render()

void CRPRendererOpenGL::Render ( uint8_t alpha)
protectedvirtual

◆ RenderInternal()

void CRPRendererOpenGL::RenderInternal ( bool clear,
uint8_t alpha )
overrideprotectedvirtual

◆ Supports()

bool CRPRendererOpenGL::Supports ( RENDERFEATURE feature) const
overridevirtual

◆ SupportsScalingMethod()

bool CRPRendererOpenGL::SupportsScalingMethod ( SCALINGMETHOD method)
static

Member Data Documentation

◆ m_blackbarsVAO

GLuint KODI::RETRO::CRPRendererOpenGL::m_blackbarsVAO
protected

◆ m_blackbarsVertexVBO

GLuint KODI::RETRO::CRPRendererOpenGL::m_blackbarsVertexVBO
protected

◆ m_clearColour

float KODI::RETRO::CRPRendererOpenGL::m_clearColour = 0.0f
protected

◆ m_mainIndexVBO

GLuint KODI::RETRO::CRPRendererOpenGL::m_mainIndexVBO
protected

◆ m_mainVAO

GLuint KODI::RETRO::CRPRendererOpenGL::m_mainVAO
protected

◆ m_mainVertexVBO

GLuint KODI::RETRO::CRPRendererOpenGL::m_mainVertexVBO
protected

◆ m_RBTexturesMap

std::map<CRenderBufferOpenGL*, std::unique_ptr<RenderBufferTextures> > KODI::RETRO::CRPRendererOpenGL::m_RBTexturesMap
protected

◆ m_textureTarget

GLenum KODI::RETRO::CRPRendererOpenGL::m_textureTarget = GL_TEXTURE_2D
protected

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