ScummVM API documentation
Wintermute::BaseRenderer3D Class Referenceabstract
Inheritance diagram for Wintermute::BaseRenderer3D:
Wintermute::BaseRenderer Wintermute::BaseClass

Public Member Functions

 BaseRenderer3D (BaseGame *inGame=nullptr)
 
bool getProjectionParams (float *resWidth, float *resHeight, float *layerWidth, float *layerHeight, float *modWidth, float *modHeight, bool *customViewport)
 
virtual int getMaxActiveLights ()=0
 
bool setAmbientLightColor (uint32 color)
 
bool setDefaultAmbientLightColor ()
 
virtual bool enableShadows ()=0
 
virtual bool disableShadows ()=0
 
virtual bool stencilSupported ()=0
 
virtual void displayShadow (BaseObject *object, const DXVector3 *light, bool lightPosRelative)=0
 
virtual bool invalidateTexture (BaseSurfaceOpenGL3D *texture)=0
 
virtual void setSpriteBlendMode (Graphics::TSpriteBlendMode blendMode, bool forceChange=false)=0
 
bool invalidateDeviceObjects ()
 
void fade (uint16 alpha) override
 
bool drawSprite (BaseSurface *texture, const Rect32 &rect, float zoomX, float zoomY, const Vector2 &pos, uint32 color, bool alphaDisable, Graphics::TSpriteBlendMode blendMode, bool mirrorX, bool mirrorY)
 
virtual bool drawSpriteEx (BaseSurface *texture, 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)=0
 
void initLoop () override
 
virtual bool startSpriteBatch () override=0
 
virtual bool endSpriteBatch () override=0
 
virtual bool commitSpriteBatch ()=0
 
virtual void lightEnable (int index, bool enable)=0
 
virtual void setLightParameters (int index, const DXVector3 &position, const DXVector3 &direction, const DXVector4 &diffuse, bool spotlight)=0
 
virtual void enableCulling ()=0
 
virtual void disableCulling ()=0
 
DXViewport getViewPort ()
 
void setWindowed (bool windowed) override
 
void onWindowChange () override
 
bool windowedBlt () override
 
Graphics::PixelFormat getPixelFormat () const override
 
virtual bool setWorldTransform (const DXMatrix &transform)=0
 
virtual bool setViewTransform (const DXMatrix &transform)=0
 
virtual bool setProjectionTransform (const DXMatrix &transform)=0
 
void getWorldTransform (DXMatrix *transform)
 
void getViewTransform (DXMatrix *transform)
 
void getProjectionTransform (DXMatrix *transform)
 
virtual Mesh3DScreateMesh3DS ()=0
 
virtual XMeshcreateXMesh ()=0
 
virtual ShadowVolumecreateShadowVolume ()=0
 
virtual void renderSceneGeometry (const BaseArray< AdWalkplane *> &planes, const BaseArray< AdBlock *> &blocks, const BaseArray< AdGeneric *> &generics, const BaseArray< Light3D *> &lights, Camera3D *camera)=0
 
virtual void renderShadowGeometry (const BaseArray< AdWalkplane *> &planes, const BaseArray< AdBlock *> &blocks, const BaseArray< AdGeneric *> &generics, Camera3D *camera)=0
 
virtual void postfilter ()=0
 
virtual void setPostfilter (PostFilter postFilter)=0
 
bool flip () override
 
bool indicatorFlip () override
 
bool forcedFlip () override
 
virtual bool setViewport3D (DXViewport *viewport)=0
 
- Public Member Functions inherited from Wintermute::BaseRenderer
virtual void dumpData (const char *filename)
 
virtual BaseImagetakeScreenshot ()=0
 
virtual bool setViewport (int left, int top, int right, int bottom)
 
virtual bool setViewport (Rect32 *rect)
 
virtual bool setScreenViewport ()
 
virtual void fadeToColor (byte r, byte g, byte b, byte a)=0
 
virtual bool drawLine (int x1, int y1, int x2, int y2, uint32 color)
 
virtual bool drawRect (int x1, int y1, int x2, int y2, uint32 color, int width=1)
 
 BaseRenderer (BaseGame *inGame=nullptr)
 
virtual bool setProjection ()
 
virtual bool fill (byte r, byte g, byte b, Common::Rect *rect=nullptr)=0
 
virtual bool initRenderer (int width, int height, bool windowed)
 
virtual bool setup2D (bool force=false)
 
virtual bool setupLines ()
 
virtual Common::String getName () const =0
 
virtual bool displayDebugInfo ()
 
virtual bool drawShaderQuad ()
 
virtual float getScaleRatioX () const
 
virtual float getScaleRatioY () const
 
virtual BaseSurfacecreateSurface ()=0
 
bool clipCursor ()
 
bool unclipCursor ()
 
BaseObjectgetObjectAt (int x, int y)
 
void deleteRectList ()
 
bool pointInViewport (Point32 *P)
 
bool isReady () const
 
bool isWindowed () const
 
int32 getBPP () const
 
void addRectToList (BaseActiveRect *rect)
 
void initIndicator ()
 
void setIndicatorVal (int value)
 
void setIndicator (int width, int height, int x, int y, uint32 color)
 
void persistSaveLoadImages (BasePersistenceManager *persistMgr)
 
void initSaveLoad (bool isSaving, bool quickSave=false)
 
virtual void endSaveLoad ()
 
void setLoadingScreen (const char *filename, int x, int y)
 
void setSaveImage (const char *filename, int x, int y)
 
bool displayIndicator ()
 
int32 getWidth () const
 
int32 getHeight () const
 
- Public Member Functions inherited from Wintermute::BaseClass
bool setEditorProp (const Common::String &propName, const Common::String &propValue)
 
Common::String getEditorProp (const Common::String &propName, const Common::String &initVal=Common::String())
 
 BaseClass (TDynamicConstructor, TDynamicConstructor)
 
bool parseEditorProperty (char *buffer, bool complete=true)
 
virtual bool saveAsText (BaseDynamicBuffer *buffer, int indent=0)
 
 BaseClass (BaseGame *GameOwner)
 
virtual const char * getClassName ()
 
virtual bool persist (BasePersistenceManager *persistMgr)
 

Public Attributes

uint32 _ambientLightColor
 
bool _ambientLightOverride
 
Graphics::TSpriteBlendMode _blendMode
 
BaseSurfaceOpenGL3D * _lastTexture
 
Camera3D_camera
 
- Public Attributes inherited from Wintermute::BaseRenderer
int _realWidth
 
int _realHeight
 
int _drawOffsetX
 
int _drawOffsetY
 
bool _active
 
bool _ready
 
uint32 _window
 
uint32 _forceAlphaColor
 
- Public Attributes inherited from Wintermute::BaseClass
bool _persistable
 
BaseGame_gameRef
 

Protected Member Functions

virtual void setAmbientLightRenderState ()=0
 
void flipVertical (Graphics::Surface *s)
 

Protected Attributes

DXMatrix _worldMatrix
 
DXMatrix _viewMatrix
 
DXMatrix _projectionMatrix
 
DXViewport _viewport {}
 
float _fov
 
float _nearClipPlane
 
float _farClipPlane
 
TRendererState _state
 
bool _spriteBatchMode
 
Graphics::TSpriteBlendMode _batchBlendMode
 
bool _batchAlphaDisable
 
BaseSurfaceOpenGL3D * _batchTexture
 
PostFilter _postFilterMode
 
- Protected Attributes inherited from Wintermute::BaseRenderer
int32 _height
 
int32 _width
 
bool _windowed
 
int32 _bPP
 
Common::String _loadImageName
 
Common::String _saveImageName
 
int32 _saveImageX
 
int32 _saveImageY
 
int32 _loadImageX
 
int32 _loadImageY
 
BaseSurface_saveLoadImage
 
bool _hasDrawnSaveLoadImage
 
int32 _indicatorWidthDrawn
 
uint32 _indicatorColor
 
int32 _indicatorX
 
int32 _indicatorY
 
int32 _indicatorWidth
 
int32 _indicatorHeight
 
bool _loadInProgress
 
bool _indicatorDisplay
 
int32 _indicatorProgress
 
uint32 _clipperWindow
 
Rect32 _windowRect
 
Rect32 _viewportRect
 
Rect32 _screenRect
 
Rect32 _monitorRect
 
- Protected Attributes inherited from Wintermute::BaseClass
Common::HashMap< Common::String, Common::String_editorProps
 
Common::HashMap< Common::String, Common::String >::iterator _editorPropsIter
 

Member Function Documentation

◆ fade()

void Wintermute::BaseRenderer3D::fade ( uint16  alpha)
overridevirtual

Fade the screen to black

Parameters
alphaamount to fade by (alpha value of black)

Implements Wintermute::BaseRenderer.

◆ flip()

bool Wintermute::BaseRenderer3D::flip ( )
overridevirtual

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

Returns
true if successful, false on error.

Implements Wintermute::BaseRenderer.

◆ indicatorFlip()

bool Wintermute::BaseRenderer3D::indicatorFlip ( )
overridevirtual

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

Implements Wintermute::BaseRenderer.


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