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 ()
 
void dumpData (const char *filename)
 
bool setup3DCustom (DXMatrix &viewMat, DXMatrix &projMat)
 
virtual bool enableShadows ()=0
 
virtual bool disableShadows ()=0
 
virtual bool stencilSupported ()=0
 
virtual bool invalidateTexture (BaseSurfaceOpenGL3D *texture)=0
 
virtual void setSpriteBlendMode (Graphics::TSpriteBlendMode blendMode, bool forceChange=false)=0
 
virtual bool invalidateDeviceObjects ()=0
 
virtual bool restoreDeviceObjects ()=0
 
void fade (uint16 alpha) override
 
bool drawSprite (BaseSurface *texture, const Common::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 Common::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
 
virtual bool resetDevice ()=0
 
void initLoop () override
 
bool windowedBlt () 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
 
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 displaySimpleShadow (BaseObject *object)=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
void dumpData (const char *filename)
 
virtual BaseImagetakeScreenshot (int newWidth=0, int newHeight=0)=0
 
virtual bool setViewport (int left, int top, int right, int bottom)
 
virtual bool setViewport (Common::Rect32 *rect)
 
virtual bool setScreenViewport ()
 
virtual void fadeToColor (byte r, byte g, byte b, byte a)=0
 
virtual bool fillRect (int x, int y, int w, int h, uint32 color)
 
 BaseRenderer (BaseGame *inGame=nullptr)
 
virtual bool setProjection ()
 
virtual bool clear ()=0
 
virtual bool initRenderer (int width, int height, bool windowed)
 
virtual bool setup2D (bool force=false)
 
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 (Common::Point32 *P)
 
bool isReady () const
 
bool isWindowed () const
 
int32 getBPP () const
 
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
 
bool displaySaveloadImage ()
 
bool displaySaveloadRect ()
 
- 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
 
BaseSurfaceOpenGL3D * _lastTexture
 
Camera3D_camera
 
- Public Attributes inherited from Wintermute::BaseRenderer
int _realWidth
 
int _realHeight
 
int _drawOffsetX
 
int _drawOffsetY
 
uint32 _forceAlphaColor
 
uint32 _window
 
uint32 _clipperWindow
 
bool _active
 
bool _ready
 
bool _windowed
 
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
 
Common::Rect32 _windowRect
 
Common::Rect32 _viewportRect
 
Common::Rect32 _screenRect
 
Common::Rect32 _monitorRect
 
int32 _bPP
 
int32 _height
 
int32 _width
 
BaseArray< BaseActiveRect * > _rectList
 
- Public Attributes inherited from Wintermute::BaseClass
bool _persistable
 
BaseGame_gameRef
 
Common::HashMap< Common::String, Common::String_editorProps
 
Common::HashMap< Common::String, Common::String >::iterator _editorPropsIter
 

Protected Member Functions

virtual void setAmbientLightRenderState ()=0
 

Protected Attributes

DXMatrix _worldMatrix
 
DXMatrix _viewMatrix
 
DXMatrix _projectionMatrix
 
DXViewport _viewport {}
 
float _fov
 
float _nearClipPlane
 
float _farClipPlane
 
TRendererState _state
 
PostFilter _postFilterMode
 

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: