ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

Wintermute::BaseRenderOpenGL3D Class Reference

#include <base_render_opengl3d.h>

Inheritance diagram for Wintermute::BaseRenderOpenGL3D:
Collaboration diagram for Wintermute::BaseRenderOpenGL3D:

List of all members.

Public Member Functions

 BaseRenderOpenGL3D (BaseGame *inGame=nullptr)
 ~BaseRenderOpenGL3D () override
void setSpriteBlendMode (Graphics::TSpriteBlendMode blendMode) override
void setAmbientLight () override
int maximumLightsCount () override
void enableLight (int index) override
void disableLight (int index) override
void setLightParameters (int index, const Math::Vector3d &position, const Math::Vector3d &direction, const Math::Vector4d &diffuse, bool spotlight) override
void enableCulling () override
void disableCulling () override
bool enableShadows () override
bool disableShadows () override
void displayShadow (BaseObject *object, const Math::Vector3d &lightPos, bool lightPosRelative) override
bool stencilSupported () override
void dumpData (const char *filename) override
BaseImagetakeScreenshot () override
 Take a screenshot of the current screenstate.
bool saveScreenShot (const Common::String &filename, int sizeX=0, int sizeY=0) override
void setWindowed (bool windowed) override
void fadeToColor (byte r, byte g, byte b, byte a) override
 Fade a portion of the screen to a specific color.
bool fill (byte r, byte g, byte b, Common::Rect *rect=nullptr) override
 Fill a portion of the screen with a specified color.
bool setViewport (int left, int top, int right, int bottom) override
bool drawLine (int x1, int y1, int x2, int y2, uint32 color) override
bool drawRect (int x1, int y1, int x2, int y2, uint32 color, int width=1) override
bool setProjection () override
bool setProjection2D () override
void resetModelViewTransform () override
void setWorldTransform (const Math::Matrix4 &transform) override
bool windowedBlt () override
void onWindowChange () override
bool initRenderer (int width, int height, bool windowed) override
bool flip () override
 Flip the backbuffer onto the screen-buffer The screen will NOT be updated before calling this function.
bool indicatorFlip () override
 Special flip for the indicator drawn during save/load essentially, just copies the region defined by the _indicator-variables.
bool forcedFlip () override
bool setup2D (bool force=false) override
bool setup3D (Camera3D *camera, bool force=false) override
bool setupLines () override
Common::String getName () const override
 Get the name of the current renderer.
bool displayDebugInfo () override
bool drawShaderQuad () override
float getScaleRatioX () const override
float getScaleRatioY () const override
BaseSurfacecreateSurface () override
 Create a Surface fit for use with the renderer.
bool startSpriteBatch () override
bool endSpriteBatch () override
bool drawSpriteEx (BaseSurfaceOpenGL3D &tex, const Rect32 &rect, const Vector2 &pos, const Vector2 &rot, const Vector2 &scale, float angle, uint32 color, bool alphaDisable, Graphics::TSpriteBlendMode blendMode, bool mirrorX, bool mirrorY) override
void renderSceneGeometry (const BaseArray< AdWalkplane * > &planes, const BaseArray< AdBlock * > &blocks, const BaseArray< AdGeneric * > &generics, const BaseArray< Light3D * > &lights, Camera3D *camera) override
void renderShadowGeometry (const BaseArray< AdWalkplane * > &planes, const BaseArray< AdBlock * > &blocks, const BaseArray< AdGeneric * > &generics, Camera3D *camera) override
Mesh3DScreateMesh3DS () override
MeshXcreateMeshX () override
ShadowVolumecreateShadowVolume () override

Private Attributes

SimpleShadowVertex _simpleShadow [4]
Common::Array< Math::Vector4d_lightPositions
Common::Array< Math::Vector3d_lightDirections
float _fov
float _nearPlane
float _farPlane
TRendererState _renderState
bool _spriteBatchMode

Detailed Description

Definition at line 55 of file base_render_opengl3d.h.


Constructor & Destructor Documentation

Wintermute::BaseRenderOpenGL3D::BaseRenderOpenGL3D ( BaseGame inGame = nullptr  ) 

Definition at line 42 of file base_render_opengl3d.cpp.

Wintermute::BaseRenderOpenGL3D::~BaseRenderOpenGL3D (  )  [override]

Definition at line 51 of file base_render_opengl3d.cpp.


Member Function Documentation

Mesh3DS * Wintermute::BaseRenderOpenGL3D::createMesh3DS (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 798 of file base_render_opengl3d.cpp.

MeshX * Wintermute::BaseRenderOpenGL3D::createMeshX (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 802 of file base_render_opengl3d.cpp.

ShadowVolume * Wintermute::BaseRenderOpenGL3D::createShadowVolume (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 806 of file base_render_opengl3d.cpp.

BaseSurface * Wintermute::BaseRenderOpenGL3D::createSurface (  )  [override, virtual]

Create a Surface fit for use with the renderer.

As diverse implementations of BaseRenderer might have different solutions for storing surfaces this allows for a common interface for creating surface-handles. (Mostly usefull to ease future implementation of hw-accelerated rendering, or readding 3D-support at some point).

Returns:
a surface that can be used with this renderer

Implements Wintermute::BaseRenderer.

Definition at line 551 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::disableCulling (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 141 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::disableLight ( int  index  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 108 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::disableShadows (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 150 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::displayDebugInfo (  )  [inline, override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 108 of file base_render_opengl3d.h.

void Wintermute::BaseRenderOpenGL3D::displayShadow ( BaseObject object,
const Math::Vector3d lightPos,
bool  lightPosRelative 
) [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 155 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::drawLine ( int  x1,
int  y1,
int  x2,
int  y2,
uint32  color 
) [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 288 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::drawRect ( int  x1,
int  y1,
int  x2,
int  y2,
uint32  color,
int  width = 1 
) [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 303 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::drawShaderQuad (  )  [inline, override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 111 of file base_render_opengl3d.h.

bool Wintermute::BaseRenderOpenGL3D::drawSpriteEx ( BaseSurfaceOpenGL3D tex,
const Rect32 rect,
const Vector2 pos,
const Vector2 rot,
const Vector2 scale,
float  angle,
uint32  color,
bool  alphaDisable,
Graphics::TSpriteBlendMode  blendMode,
bool  mirrorX,
bool  mirrorY 
) [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 571 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::dumpData ( const char *  filename  )  [inline, override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 77 of file base_render_opengl3d.h.

void Wintermute::BaseRenderOpenGL3D::enableCulling (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 137 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::enableLight ( int  index  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 104 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::enableShadows (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 145 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::endSpriteBatch (  )  [inline, override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 127 of file base_render_opengl3d.h.

void Wintermute::BaseRenderOpenGL3D::fadeToColor ( byte  r,
byte  g,
byte  b,
byte  a 
) [override, virtual]

Fade a portion of the screen to a specific color.

Parameters:
r the red component to fade too.
g the green component to fade too.
b the blue component to fade too.
a the alpha component to fade too.
rect the portion of the screen to fade (if nullptr, the entire screen will be faded).

Implements Wintermute::BaseRenderer.

Definition at line 221 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::fill ( byte  r,
byte  g,
byte  b,
Common::Rect rect = nullptr 
) [override, virtual]

Fill a portion of the screen with a specified color.

Parameters:
r the red component to fill with.
g the green component to fill with.
b the blue component to fill with.

Implements Wintermute::BaseRenderer.

Definition at line 276 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::flip (  )  [override, virtual]

Flip the backbuffer onto the screen-buffer The screen will NOT be updated before calling this function.

Returns:
true if successfull, false on error.

Implements Wintermute::BaseRenderer.

Definition at line 416 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::forcedFlip (  )  [override, virtual]

Implements Wintermute::BaseRenderer.

Definition at line 426 of file base_render_opengl3d.cpp.

Common::String Wintermute::BaseRenderOpenGL3D::getName (  )  const [inline, override, virtual]

Get the name of the current renderer.

Returns:
the name of the renderer.

Implements Wintermute::BaseRenderer.

Definition at line 105 of file base_render_opengl3d.h.

float Wintermute::BaseRenderOpenGL3D::getScaleRatioX (  )  const [inline, override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 115 of file base_render_opengl3d.h.

float Wintermute::BaseRenderOpenGL3D::getScaleRatioY (  )  const [inline, override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 118 of file base_render_opengl3d.h.

bool Wintermute::BaseRenderOpenGL3D::indicatorFlip (  )  [override, virtual]

Special flip for the indicator drawn during save/load essentially, just copies the region defined by the _indicator-variables.

Implements Wintermute::BaseRenderer.

Definition at line 421 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::initRenderer ( int  width,
int  height,
bool  windowed 
) [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 363 of file base_render_opengl3d.cpp.

int Wintermute::BaseRenderOpenGL3D::maximumLightsCount (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 98 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::onWindowChange (  )  [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 359 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::renderSceneGeometry ( const BaseArray< AdWalkplane * > &  planes,
const BaseArray< AdBlock * > &  blocks,
const BaseArray< AdGeneric * > &  generics,
const BaseArray< Light3D * > &  lights,
Camera3D camera 
) [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 697 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::renderShadowGeometry ( const BaseArray< AdWalkplane * > &  planes,
const BaseArray< AdBlock * > &  blocks,
const BaseArray< AdGeneric * > &  generics,
Camera3D camera 
) [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 764 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::resetModelViewTransform (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 342 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::saveScreenShot ( const Common::String filename,
int  sizeX = 0,
int  sizeY = 0 
) [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 212 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::setAmbientLight (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 74 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::setLightParameters ( int  index,
const Math::Vector3d position,
const Math::Vector3d direction,
const Math::Vector4d diffuse,
bool  spotlight 
) [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 112 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::setProjection (  )  [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 308 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::setProjection2D (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 333 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::setSpriteBlendMode ( Graphics::TSpriteBlendMode  blendMode  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 54 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::setup2D ( bool  force = false  )  [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 431 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::setup3D ( Camera3D camera,
bool  force = false 
) [override]

Definition at line 473 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::setupLines (  )  [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 537 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::setViewport ( int  left,
int  top,
int  right,
int  bottom 
) [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 282 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::setWindowed ( bool  windowed  )  [override, virtual]

Implements Wintermute::BaseRenderer.

Definition at line 217 of file base_render_opengl3d.cpp.

void Wintermute::BaseRenderOpenGL3D::setWorldTransform ( const Math::Matrix4 transform  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 347 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::startSpriteBatch (  )  [inline, override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 124 of file base_render_opengl3d.h.

bool Wintermute::BaseRenderOpenGL3D::stencilSupported (  )  [override, virtual]

Implements Wintermute::BaseRenderer3D.

Definition at line 202 of file base_render_opengl3d.cpp.

BaseImage * Wintermute::BaseRenderOpenGL3D::takeScreenshot (  )  [override, virtual]

Take a screenshot of the current screenstate.

Returns:
a BaseImage containing the current screen-buffer.

Implements Wintermute::BaseRenderer.

Definition at line 207 of file base_render_opengl3d.cpp.

bool Wintermute::BaseRenderOpenGL3D::windowedBlt (  )  [override, virtual]

Reimplemented from Wintermute::BaseRenderer.

Definition at line 354 of file base_render_opengl3d.cpp.


Member Data Documentation

Definition at line 148 of file base_render_opengl3d.h.

Definition at line 146 of file base_render_opengl3d.h.

Definition at line 147 of file base_render_opengl3d.h.


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


Generated on Sat Sep 26 2020 05:04:13 for ResidualVM by doxygen 1.7.1
curved edge   curved edge