Etterna 0.75.1
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
DisplayAdapter::Display Class Reference
Inheritance diagram for DisplayAdapter::Display:
Inheritance graph
[legend]
Collaboration diagram for DisplayAdapter::Display:
Collaboration graph
[legend]

Public Member Functions

 Display (std::unique_ptr< Renderer > renderer)
 
std::string Init (VideoModeParams &&p, bool bAllowUnacceleratedRenderer) override
 
std::string GetApiDescription () const override
 
void GetDisplaySpecs (DisplaySpecs &out) const override
 
void ResolutionChanged () override
 
const RagePixelFormatDesc * GetPixelFormatDesc (RagePixelFormat pf) const override
 
bool BeginFrame () override
 
void EndFrame () override
 
const ActualVideoModeParams * GetActualVideoModeParams () const override
 
void SetBlendMode (BlendMode mode) override
 
bool SupportsTextureFormat (RagePixelFormat pixfmt, bool realtime=false) override
 
bool SupportsThreadedRendering () override
 
bool SupportsPerVertexMatrixScale () override
 
intptr_t CreateTexture (RagePixelFormat pixfmt, RageSurface *img, bool bGenerateMipMaps) override
 
void UpdateTexture (intptr_t uTexHandle, RageSurface *img, int xoffset, int yoffset, int width, int height) override
 
void DeleteTexture (intptr_t iTexHandle) override
 
void ClearAllTextures () override
 
int GetMaxTextureSize () const override
 
int GetNumTextureUnits () override
 
void SetTexture (TextureUnit tu, intptr_t iTexture) override
 
void SetTextureMode (TextureUnit tu, TextureMode tm) override
 
void SetTextureWrapping (TextureUnit tu, bool b) override
 
void SetTextureFiltering (TextureUnit tu, bool b) override
 
bool IsZWriteEnabled () const override
 
bool IsZTestEnabled () const override
 
void SetZWrite (bool b) override
 
void SetZBias (float f) override
 
void SetZTestMode (ZTestMode mode) override
 
void ClearZBuffer () override
 
void SetCullMode (CullMode mode) override
 
void SetAlphaTest (bool b) override
 
void SetMaterial (const RageColor &emissive, const RageColor &ambient, const RageColor &diffuse, const RageColor &specular, float shininess) override
 
void SetLighting (bool b) override
 
void SetLightOff (int index) override
 
void SetLightDirectional (int index, const RageColor &ambient, const RageColor &diffuse, const RageColor &specular, const RageVector3 &dir) override
 
PipelineHandle CreateGraphicsPipeline (const std::string &vertexShaderPath, const std::string &fragmentShaderPath) override
 
void SetGraphicsPipeline (PipelineHandle pipeline, const std::vector< uint8_t > &vertexShaderArgs, const std::vector< uint8_t > &fragShaderArgs, bool persist) override
 
void ReloadPipelines () override
 
intptr_t CreateRenderTarget (const RenderTargetParam &param, int &iTextureWidthOut, int &iTextureHeightOut) override
 
intptr_t GetRenderTarget () override
 
void SetRenderTarget (intptr_t uTexHandle, bool bPreserveTexture) override
 
void SetSphereEnvironmentMapping (TextureUnit tu, bool b) override
 
void SetCelShaded (int stage) override
 
bool IsD3DInternal () override
 
bool SupportsFullscreenBorderlessWindow () const override
 
RageCompiledGeometry * CreateCompiledGeometry () override
 
void DeleteCompiledGeometry (RageCompiledGeometry *p) override
 
- Public Member Functions inherited from RageDisplay
void SetPresentTime (std::chrono::nanoseconds presentTime)
 
auto SetVideoMode (VideoModeParams &&p, bool &bNeedReloadTextures) -> std::string
 
auto IsD3D () -> bool
 
auto IsWindowed () -> bool
 
auto GetFrameTimingAdjustment (std::chrono::steady_clock::time_point now) -> float
 
virtual void BeginConcurrentRenderingMainThread ()
 
virtual void EndConcurrentRenderingMainThread ()
 
virtual void BeginConcurrentRendering ()
 
virtual void EndConcurrentRendering ()
 
virtual auto CreateTextureLock () -> RageTextureLock *
 
virtual void SetEffectMode (EffectMode)
 
virtual auto IsEffectModeSupported (EffectMode effect) -> bool
 
virtual auto SupportsRenderToTexture () const -> bool
 
void DrawQuads (const RageSpriteVertex v[], int iNumVerts)
 
void DrawQuadStrip (const RageSpriteVertex v[], int iNumVerts)
 
void DrawFan (const RageSpriteVertex v[], int iNumVerts)
 
void DrawStrip (const RageSpriteVertex v[], int iNumVerts)
 
void DrawTriangles (const RageSpriteVertex v[], int iNumVerts)
 
void DrawCompiledGeometry (const RageCompiledGeometry *p, int iMeshIndex, const std::vector< msMesh > &vMeshes)
 
void DrawLineStrip (const RageSpriteVertex v[], int iNumVerts, float LineWidth)
 
void DrawSymmetricQuadStrip (const RageSpriteVertex v[], int iNumVerts)
 
void DrawCircle (const RageSpriteVertex &v, float radius)
 
void DrawQuad (const RageSpriteVertex v[])
 
virtual void SetPolygonMode (PolygonMode)
 
virtual void SetLineWidth (float)
 
auto SaveScreenshot (const std::string &sPath, GraphicsFileFormat format) -> bool
 
virtual auto GetTextureDiagnostics (unsigned) const -> std::string
 
virtual auto GetTexture (intptr_t) -> RageSurface *
 
bool DisplayDebugModeEnabled ()
 
auto IsPredictiveFrameLimit () const -> bool
 
auto GetFPS () const -> int
 
auto GetVPF () const -> int
 
auto GetCumFPS () const -> int
 
virtual void ResetStats ()
 
virtual void ProcessStatsOnFlip ()
 
virtual auto GetStats () const -> std::string
 
void StatsAddVerts (int iNumVertsRendered)
 
void PushMatrix ()
 
void PopMatrix ()
 
void Translate (float x, float y, float z)
 
void TranslateWorld (float x, float y, float z)
 
void Scale (float x, float y, float z)
 
void RotateX (float deg)
 
void RotateY (float deg)
 
void RotateZ (float deg)
 
void SkewX (float fAmount)
 
void SkewY (float fAmount)
 
void MultMatrix (const RageMatrix &f)
 
void PostMultMatrix (const RageMatrix &f)
 
void PreMultMatrix (const RageMatrix &f)
 
void LoadIdentity ()
 
void TexturePushMatrix ()
 
void TexturePopMatrix ()
 
void TextureTranslate (float x, float y)
 
void TextureTranslate (const RageVector2 &v)
 
void CameraPushMatrix ()
 
void CameraPopMatrix ()
 
void LoadMenuPerspective (float fFOVDegrees, float fWidth, float fHeight, float fVanishPointX, float fVanishPointY)
 
void LoadLookAt (float fov, const RageVector3 &Eye, const RageVector3 &At, const RageVector3 &Up)
 
void CenteringPushMatrix ()
 
void CenteringPopMatrix ()
 
void ChangeCentering (int trans_x, int trans_y, int add_width, int add_height)
 
auto CreateSurfaceFromPixfmt (RagePixelFormat pixfmt, void *pixels, int width, int height, int pitch) -> RageSurface *
 
auto FindPixelFormat (int bpp, unsigned Rmask, unsigned Gmask, unsigned Bmask, unsigned Amask, bool realtime=false) -> RagePixelFormat
 
void PushSelf (lua_State *L)
 

Static Public Attributes

static constexpr size_t TexturePixelSize = 4
 
static constexpr size_t MaxTextureSize = 8192
 

Protected Member Functions

void DrawQuadsInternal (const RageSpriteVertex v[], int iNumVerts) override
 
void DrawQuadStripInternal (const RageSpriteVertex v[], int iNumVerts) override
 
void DrawFanInternal (const RageSpriteVertex v[], int iNumVerts) override
 
void DrawStripInternal (const RageSpriteVertex v[], int iNumVerts) override
 
void DrawTrianglesInternal (const RageSpriteVertex v[], int iNumVerts) override
 
void DrawSymmetricQuadStripInternal (const RageSpriteVertex v[], int iNumVerts) override
 
void DrawCompiledGeometryInternal (const RageCompiledGeometry *p, int iMeshIndex) override
 
std::string TryVideoMode (const VideoModeParams &p, bool &bNewDeviceOut) override
 
RageSurface * CreateScreenshot () override
 
MatrixState GetCurrentMatrixState ()
 
- Protected Member Functions inherited from RageDisplay
virtual void DrawLineStripInternal (const RageSpriteVertex v[], int iNumVerts, float LineWidth)
 
virtual void DrawCircleInternal (const RageSpriteVertex &v, float radius)
 
void DrawPolyLine (const RageSpriteVertex &p1, const RageSpriteVertex &p2, float LineWidth)
 
void DrawPolyLines (const RageSpriteVertex v[], int iNumVerts, float LineWidth)
 
void SetDefaultRenderStates ()
 
auto GetPerspectiveMatrix (float fovy, float aspect, float zNear, float zFar) -> RageMatrix
 
virtual auto GetOrthoMatrix (float l, float r, float b, float t, float zn, float zf) -> RageMatrix
 
virtual auto GetFrustumMatrix (float l, float r, float b, float t, float zn, float zf) -> RageMatrix
 
auto GetCenteringMatrix (float fTranslateX, float fTranslateY, float fAddWidth, float fAddHeight) -> RageMatrix
 
void UpdateCentering ()
 
auto GetCentering () const -> const RageMatrix *
 
auto GetProjectionTop () const -> const RageMatrix *
 
auto GetViewTop () const -> const RageMatrix *
 
auto GetWorldTop () const -> const RageMatrix *
 
auto GetTextureTop () const -> const RageMatrix *
 
void FrameLimitBeforeVsync ()
 
void FrameLimitAfterVsync (int iFPS)
 

Additional Inherited Members

- Public Types inherited from RageDisplay
enum  GraphicsFileFormat { SAVE_LOSSLESS , SAVE_LOSSLESS_SENSIBLE , SAVE_LOSSY_LOW_QUAL , SAVE_LOSSY_HIGH_QUAL }
 

Member Function Documentation

◆ BeginFrame()

bool DisplayAdapter::Display::BeginFrame ( )
overridevirtual

Reimplemented from RageDisplay.

◆ ClearAllTextures()

void DisplayAdapter::Display::ClearAllTextures ( )
overridevirtual

Implements RageDisplay.

◆ ClearZBuffer()

void DisplayAdapter::Display::ClearZBuffer ( )
overridevirtual

Implements RageDisplay.

◆ CreateCompiledGeometry()

RageCompiledGeometry * DisplayAdapter::Display::CreateCompiledGeometry ( )
overridevirtual

Implements RageDisplay.

◆ CreateGraphicsPipeline()

DisplayAdapter::PipelineHandle DisplayAdapter::Display::CreateGraphicsPipeline ( const std::string &  vertexShaderPath,
const std::string &  fragmentShaderPath 
)
overridevirtual

Reimplemented from RageDisplay.

◆ CreateRenderTarget()

intptr_t DisplayAdapter::Display::CreateRenderTarget ( const RenderTargetParam &  param,
int &  iTextureWidthOut,
int &  iTextureHeightOut 
)
overridevirtual

Reimplemented from RageDisplay.

◆ CreateScreenshot()

RageSurface * DisplayAdapter::Display::CreateScreenshot ( )
overrideprotectedvirtual

Implements RageDisplay.

◆ CreateTexture()

intptr_t DisplayAdapter::Display::CreateTexture ( RagePixelFormat  pixfmt,
RageSurface *  img,
bool  bGenerateMipMaps 
)
overridevirtual

Implements RageDisplay.

◆ DeleteCompiledGeometry()

void DisplayAdapter::Display::DeleteCompiledGeometry ( RageCompiledGeometry *  p)
overridevirtual

Implements RageDisplay.

◆ DeleteTexture()

void DisplayAdapter::Display::DeleteTexture ( intptr_t  iTexHandle)
overridevirtual

Implements RageDisplay.

◆ DrawCompiledGeometryInternal()

void DisplayAdapter::Display::DrawCompiledGeometryInternal ( const RageCompiledGeometry *  p,
int  iMeshIndex 
)
overrideprotectedvirtual

Implements RageDisplay.

◆ DrawFanInternal()

void DisplayAdapter::Display::DrawFanInternal ( const RageSpriteVertex  v[],
int  iNumVerts 
)
overrideprotectedvirtual

Implements RageDisplay.

◆ DrawQuadsInternal()

void DisplayAdapter::Display::DrawQuadsInternal ( const RageSpriteVertex  v[],
int  iNumVerts 
)
overrideprotectedvirtual

Implements RageDisplay.

◆ DrawQuadStripInternal()

void DisplayAdapter::Display::DrawQuadStripInternal ( const RageSpriteVertex  v[],
int  iNumVerts 
)
overrideprotectedvirtual

Implements RageDisplay.

◆ DrawStripInternal()

void DisplayAdapter::Display::DrawStripInternal ( const RageSpriteVertex  v[],
int  iNumVerts 
)
overrideprotectedvirtual

Implements RageDisplay.

◆ DrawSymmetricQuadStripInternal()

void DisplayAdapter::Display::DrawSymmetricQuadStripInternal ( const RageSpriteVertex  v[],
int  iNumVerts 
)
overrideprotectedvirtual

Implements RageDisplay.

◆ DrawTrianglesInternal()

void DisplayAdapter::Display::DrawTrianglesInternal ( const RageSpriteVertex  v[],
int  iNumVerts 
)
overrideprotectedvirtual

Implements RageDisplay.

◆ EndFrame()

void DisplayAdapter::Display::EndFrame ( )
overridevirtual

Reimplemented from RageDisplay.

◆ GetActualVideoModeParams()

const ActualVideoModeParams * DisplayAdapter::Display::GetActualVideoModeParams ( ) const
overridevirtual

Implements RageDisplay.

◆ GetApiDescription()

std::string DisplayAdapter::Display::GetApiDescription ( ) const
inlineoverridevirtual

Implements RageDisplay.

◆ GetDisplaySpecs()

void DisplayAdapter::Display::GetDisplaySpecs ( DisplaySpecs &  out) const
overridevirtual

Implements RageDisplay.

◆ GetMaxTextureSize()

int DisplayAdapter::Display::GetMaxTextureSize ( ) const
overridevirtual

Implements RageDisplay.

◆ GetNumTextureUnits()

int DisplayAdapter::Display::GetNumTextureUnits ( )
overridevirtual

Implements RageDisplay.

◆ GetPixelFormatDesc()

const RageDisplay::RagePixelFormatDesc * DisplayAdapter::Display::GetPixelFormatDesc ( RagePixelFormat  pf) const
overridevirtual

Implements RageDisplay.

◆ GetRenderTarget()

intptr_t DisplayAdapter::Display::GetRenderTarget ( )
overridevirtual

Reimplemented from RageDisplay.

◆ Init()

std::string DisplayAdapter::Display::Init ( VideoModeParams &&  p,
bool  bAllowUnacceleratedRenderer 
)
overridevirtual

Implements RageDisplay.

◆ IsD3DInternal()

bool DisplayAdapter::Display::IsD3DInternal ( )
inlineoverridevirtual

Reimplemented from RageDisplay.

◆ IsZTestEnabled()

bool DisplayAdapter::Display::IsZTestEnabled ( ) const
overridevirtual

Implements RageDisplay.

◆ IsZWriteEnabled()

bool DisplayAdapter::Display::IsZWriteEnabled ( ) const
overridevirtual

Implements RageDisplay.

◆ ReloadPipelines()

void DisplayAdapter::Display::ReloadPipelines ( )
overridevirtual

Reimplemented from RageDisplay.

◆ ResolutionChanged()

void DisplayAdapter::Display::ResolutionChanged ( )
overridevirtual

Reimplemented from RageDisplay.

◆ SetAlphaTest()

void DisplayAdapter::Display::SetAlphaTest ( bool  b)
overridevirtual

Implements RageDisplay.

◆ SetBlendMode()

void DisplayAdapter::Display::SetBlendMode ( BlendMode  mode)
overridevirtual

Implements RageDisplay.

◆ SetCelShaded()

void DisplayAdapter::Display::SetCelShaded ( int  stage)
overridevirtual

Implements RageDisplay.

◆ SetCullMode()

void DisplayAdapter::Display::SetCullMode ( CullMode  mode)
overridevirtual

Implements RageDisplay.

◆ SetGraphicsPipeline()

void DisplayAdapter::Display::SetGraphicsPipeline ( DisplayAdapter::PipelineHandle  pipeline,
const std::vector< uint8_t > &  vertexShaderArgs,
const std::vector< uint8_t > &  fragShaderArgs,
bool  persist 
)
overridevirtual

Reimplemented from RageDisplay.

◆ SetLightDirectional()

void DisplayAdapter::Display::SetLightDirectional ( int  index,
const RageColor &  ambient,
const RageColor &  diffuse,
const RageColor &  specular,
const RageVector3 &  dir 
)
overridevirtual

Implements RageDisplay.

◆ SetLighting()

void DisplayAdapter::Display::SetLighting ( bool  b)
overridevirtual

Implements RageDisplay.

◆ SetLightOff()

void DisplayAdapter::Display::SetLightOff ( int  index)
overridevirtual

Implements RageDisplay.

◆ SetMaterial()

void DisplayAdapter::Display::SetMaterial ( const RageColor &  emissive,
const RageColor &  ambient,
const RageColor &  diffuse,
const RageColor &  specular,
float  shininess 
)
overridevirtual

Implements RageDisplay.

◆ SetRenderTarget()

void DisplayAdapter::Display::SetRenderTarget ( intptr_t  uTexHandle,
bool  bPreserveTexture 
)
overridevirtual

Reimplemented from RageDisplay.

◆ SetSphereEnvironmentMapping()

void DisplayAdapter::Display::SetSphereEnvironmentMapping ( TextureUnit  tu,
bool  b 
)
overridevirtual

Implements RageDisplay.

◆ SetTexture()

void DisplayAdapter::Display::SetTexture ( TextureUnit  tu,
intptr_t  iTexture 
)
overridevirtual

Implements RageDisplay.

◆ SetTextureFiltering()

void DisplayAdapter::Display::SetTextureFiltering ( TextureUnit  tu,
bool  b 
)
overridevirtual

Implements RageDisplay.

◆ SetTextureMode()

void DisplayAdapter::Display::SetTextureMode ( TextureUnit  tu,
TextureMode  tm 
)
overridevirtual

Implements RageDisplay.

◆ SetTextureWrapping()

void DisplayAdapter::Display::SetTextureWrapping ( TextureUnit  tu,
bool  b 
)
overridevirtual

Implements RageDisplay.

◆ SetZBias()

void DisplayAdapter::Display::SetZBias ( float  f)
overridevirtual

Implements RageDisplay.

◆ SetZTestMode()

void DisplayAdapter::Display::SetZTestMode ( ZTestMode  mode)
overridevirtual

Implements RageDisplay.

◆ SetZWrite()

void DisplayAdapter::Display::SetZWrite ( bool  b)
overridevirtual

Implements RageDisplay.

◆ SupportsFullscreenBorderlessWindow()

bool DisplayAdapter::Display::SupportsFullscreenBorderlessWindow ( ) const
inlineoverridevirtual

Reimplemented from RageDisplay.

◆ SupportsPerVertexMatrixScale()

bool DisplayAdapter::Display::SupportsPerVertexMatrixScale ( )
overridevirtual

Implements RageDisplay.

◆ SupportsTextureFormat()

bool DisplayAdapter::Display::SupportsTextureFormat ( RagePixelFormat  pixfmt,
bool  realtime = false 
)
overridevirtual

Implements RageDisplay.

◆ SupportsThreadedRendering()

bool DisplayAdapter::Display::SupportsThreadedRendering ( )
overridevirtual

Reimplemented from RageDisplay.

◆ TryVideoMode()

std::string DisplayAdapter::Display::TryVideoMode ( const VideoModeParams &  p,
bool &  bNewDeviceOut 
)
overrideprotectedvirtual

Implements RageDisplay.

◆ UpdateTexture()

void DisplayAdapter::Display::UpdateTexture ( intptr_t  uTexHandle,
RageSurface *  img,
int  xoffset,
int  yoffset,
int  width,
int  height 
)
overridevirtual

Implements RageDisplay.


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