Public Member Functions | |
Renderer (int screenW, int screenH, Common::RenderMode renderMode, bool authenticGraphics) | |
virtual void | init ()=0 |
virtual void | setViewport (const Common::Rect &rect)=0 |
virtual void | flipBuffer () |
virtual void | useColor (uint8 r, uint8 g, uint8 b)=0 |
virtual void | depthTesting (bool enabled) |
virtual void | polygonOffset (bool enabled)=0 |
virtual Texture * | createTexture (const Graphics::Surface *surface, bool is3D=false)=0 |
Graphics::Surface * | convertImageFormatIfNecessary (Graphics::ManagedSurface *surface) |
virtual void | freeTexture (Texture *texture)=0 |
virtual void | drawTexturedRect2D (const Common::Rect &screenRect, const Common::Rect &textureRect, Texture *texture)=0 |
virtual void | renderSensorShoot (byte color, const Math::Vector3d sensor, const Math::Vector3d player, const Common::Rect viewPort)=0 |
virtual void | renderPlayerShootBall (byte color, const Common::Point position, int frame, const Common::Rect viewPort)=0 |
virtual void | renderPlayerShootRay (byte color, const Common::Point position, const Common::Rect viewPort)=0 |
virtual void | renderCrossair (const Common::Point crossairPosition)=0 |
virtual void | renderCube (const Math::Vector3d &position, const Math::Vector3d &size, Common::Array< uint8 > *colours, Common::Array< uint8 > *ecolours, float offset=0.0) |
virtual void | renderRectangle (const Math::Vector3d &position, const Math::Vector3d &size, Common::Array< uint8 > *colours, Common::Array< uint8 > *ecolours, float offset=0.0) |
virtual void | renderPolygon (const Math::Vector3d &origin, const Math::Vector3d &size, const Common::Array< float > *ordinates, Common::Array< uint8 > *colours, Common::Array< uint8 > *ecolours, float offset=0.0) |
virtual void | renderPyramid (const Math::Vector3d &origin, const Math::Vector3d &size, const Common::Array< float > *ordinates, Common::Array< uint8 > *colours, Common::Array< uint8 > *ecolours, int type) |
virtual void | renderFace (const Common::Array< Math::Vector3d > &vertices)=0 |
void | setColorRemaps (ColorReMap *colorRemaps) |
virtual void | clear (uint8 r, uint8 g, uint8 b, bool ignoreViewport=false)=0 |
virtual void | drawFloor (uint8 color)=0 |
virtual void | drawBackground (uint8 color) |
void | drawEclipse (uint8 color1, uint8 color2, float difference) |
virtual void | drawSkybox (Texture *texture, Math::Vector3d camera) |
virtual void | drawCelestialBody (Math::Vector3d position, float radius, uint8 color) |
Common::Rect | viewport () const |
virtual Common::Point | nativeResolution () |
void | readFromPalette (uint8 index, uint8 &r, uint8 &g, uint8 &b) |
void | setPaletteValue (uint8 index, uint8 r, uint8 g, uint8 b) |
uint8 | indexFromColor (uint8 r, uint8 g, uint8 b) |
uint8 | mapEGAColor (uint8 index) |
bool | getRGBAt (uint8 index, uint8 ecolor, uint8 &r1, uint8 &g1, uint8 &b1, uint8 &r2, uint8 &g2, uint8 &b2, byte *&stipple) |
bool | getRGBAtC64 (uint8 index, uint8 &r1, uint8 &g1, uint8 &b1, uint8 &r2, uint8 &g2, uint8 &b2) |
bool | getRGBAtCGA (uint8 index, uint8 &r1, uint8 &g1, uint8 &b1, uint8 &r2, uint8 &g2, uint8 &b2, byte *&stipple) |
bool | getRGBAtCPC (uint8 index, uint8 &r1, uint8 &g1, uint8 &b1, uint8 &r2, uint8 &g2, uint8 &b2, byte *&stipple) |
bool | getRGBAtEGA (uint8 index, uint8 &r1, uint8 &g1, uint8 &b1, uint8 &r2, uint8 &g2, uint8 &b2) |
bool | getRGBAtZX (uint8 index, uint8 &r1, uint8 &g1, uint8 &b1, uint8 &r2, uint8 &g2, uint8 &b2, byte *&stipple) |
bool | getRGBAtHercules (uint8 index, uint8 &r1, uint8 &g1, uint8 &b1, uint8 &r2, uint8 &g2, uint8 &b2, byte *&stipple) |
void | extractCPCIndexes (uint8 cm1, uint8 cm2, uint8 &i1, uint8 &i2) |
void | extractC64Indexes (uint8 cm1, uint8 cm2, uint8 &i1, uint8 &i2) |
void | selectColorFromFourColorPalette (uint8 index, uint8 &r1, uint8 &g1, uint8 &b1) |
virtual void | setStippleData (byte *data) |
virtual void | useStipple (bool enabled) |
void | scaleStipplePattern (byte originalPattern[128], byte newPattern[128]) |
void | setColorMap (ColorMap *colorMap_) |
void | clearColorPairArray () |
void | fillColorPairArray () |
virtual void | positionCamera (const Math::Vector3d &pos, const Math::Vector3d &interest)=0 |
virtual void | updateProjectionMatrix (float fov, float aspectRatio, float nearClipPlane, float farClipPlane)=0 |
Math::Matrix4 | getMvpMatrix () const |
virtual Graphics::Surface * | getScreenshot ()=0 |
void | flipVertical (Graphics::Surface *s) |
bool | computeScreenViewport () |
Public Attributes | |
Graphics::PixelFormat | _currentPixelFormat |
Graphics::PixelFormat | _palettePixelFormat |
Graphics::PixelFormat | _texturePixelFormat |
bool | _isAccelerated |
bool | _authenticGraphics |
byte | _defaultStippleArray [128] |
byte | _defaultStippleArraySmall [128] |
byte * | _variableStippleArray |
float | _skyNormals [16][3] |
float | _skyUvs1008 [16][2] |
float | _skyUvs128 [16][2] |
float | _skyVertices [16][3] |
byte * | _palette |
ColorMap * | _colorMap |
ColorReMap * | _colorRemaps |
byte | _colorPair [16] |
int | _keyColor |
int | _inkColor |
int | _paperColor |
int | _underFireBackgroundColor |
Common::Point | _shakeOffset |
byte | _stipples [16][128] |
int | _scale |
int | _screenW |
int | _screenH |
Common::RenderMode | _renderMode |
Protected Member Functions | |
Math::Matrix4 | makeProjectionMatrix (float fov, float nearClipPlane, float farClipPlane) const |
Protected Attributes | |
Common::Rect | _screenViewport |
Common::Rect | _viewport |
Common::Rect | _unscaledViewport |
Math::Matrix4 | _projectionMatrix |
Math::Matrix4 | _modelViewMatrix |
Math::Matrix4 | _mvpMatrix |
Math::Frustum | _frustum |
|
inlinevirtual |
Swap the buffers, making the drawn screen visible
Reimplemented in Freescape::OpenGLShaderRenderer, and Freescape::TinyGLRenderer.
|
pure virtual |
Select the window where to render
This also sets the viewport
Implemented in Freescape::OpenGLShaderRenderer, and Freescape::TinyGLRenderer.
byte Freescape::Renderer::_defaultStippleArray[128] |
byte Freescape::Renderer::_defaultStippleArraySmall[128] |
float Freescape::Renderer::_skyNormals[16][3] |
float Freescape::Renderer::_skyUvs1008[16][2] |
float Freescape::Renderer::_skyUvs128[16][2] |
float Freescape::Renderer::_skyVertices[16][3] |