|
FIFE
|
The main class of the OpenGL-based renderer. More...
#include <renderbackendopengl.h>
Inheritance diagram for FIFE::RenderBackendOpenGL:
Collaboration diagram for FIFE::RenderBackendOpenGL:Classes | |
| struct | currentState |
| struct | renderData2TC |
| struct | renderData2TCZ |
| struct | renderDataColorZ |
| struct | renderDataP |
| struct | renderDataT |
| struct | renderDataTC |
| struct | renderDataZ |
| class | RenderObject |
| struct | RenderZObject |
| struct | RenderZObjectTest |
Public Member Functions | |
| RenderBackendOpenGL (const SDL_Color &colorkey) | |
| virtual | ~RenderBackendOpenGL () |
| virtual const std::string & | getName () const |
| The name of the renderbackend. More... | |
| virtual void | startFrame () |
| Called when a new frame starts. More... | |
| virtual void | endFrame () |
| Called when a frame is finished and ready to be displayed. More... | |
| virtual void | init (const std::string &driver) |
| Initializes the backend. More... | |
| virtual void | clearBackBuffer () |
| Forces a clear of the backbuffer. More... | |
| virtual void | setLightingModel (uint32_t lighting) |
| Initializes the light. More... | |
| virtual uint32_t | getLightingModel () const |
| Gets the current light model. More... | |
| virtual void | setLighting (float red, float green, float blue) |
| Set colors for lighting. More... | |
| virtual void | resetLighting () |
| Reset lighting with default values. More... | |
| virtual void | resetStencilBuffer (uint8_t buffer) |
| Reset stencil buffer with given value. More... | |
| virtual void | changeBlending (int32_t scr, int32_t dst) |
| Change the Blendingmodel. More... | |
| virtual void | createMainScreen (const ScreenMode &mode, const std::string &title, const std::string &icon) |
| Creates the mainscreen (the display window). More... | |
| virtual void | setScreenMode (const ScreenMode &mode) |
| Sets the mainscreen display mode. More... | |
| virtual Image * | createImage (IResourceLoader *loader=0) |
| virtual Image * | createImage (const std::string &name, IResourceLoader *loader=0) |
| virtual Image * | createImage (const uint8_t *data, uint32_t width, uint32_t height) |
| Creates an Image suitable for this renderbackend. More... | |
| virtual Image * | createImage (const std::string &name, const uint8_t *data, uint32_t width, uint32_t height) |
| virtual Image * | createImage (SDL_Surface *surface) |
| Helper function to create images from SDL_Surfaces. More... | |
| virtual Image * | createImage (const std::string &name, SDL_Surface *surface) |
| virtual void | renderVertexArrays () |
| Render the Vertex Arrays, only for primitives (points, lines,...) More... | |
| virtual void | addImageToArray (uint32_t id, const Rect &rec, float const *st, uint8_t alpha, uint8_t const *rgba) |
| Add the Image data to the array. More... | |
| virtual void | addImageToArray (const Rect &rect, uint32_t id1, float const *st1, uint32_t id2, float const *st2, uint8_t alpha, uint8_t const *rgba) |
| virtual void | addImageToArrayZ (uint32_t id, const Rect &rect, float vertexZ, float const *st, uint8_t alpha, uint8_t const *rgba) |
| virtual void | addImageToArrayZ (const Rect &rect, float vertexZ, uint32_t id1, float const *st1, uint32_t id2, float const *st2, uint8_t alpha, uint8_t const *rgba) |
| virtual void | changeRenderInfos (RenderDataType type, uint16_t elements, int32_t src, int32_t dst, bool light, bool stentest, uint8_t stenref, GLConstants stenop, GLConstants stenfunc, OverlayType otype=OVERLAY_TYPE_NONE) |
| Dirty helper function to change the render infos. More... | |
| virtual void | captureScreen (const std::string &filename) |
| Creates a Screenshot and saves it to a file. More... | |
| virtual void | captureScreen (const std::string &filename, uint32_t width, uint32_t height) |
| Creates a Screenshot with the given size(w,h) and saves it to a file. More... | |
| virtual bool | putPixel (int32_t x, int32_t y, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255) |
| Writes pixel to given position. More... | |
| virtual void | drawLine (const Point &p1, const Point &p2, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255) |
| Draws line between given points with given RGBA. More... | |
| virtual void | drawTriangle (const Point &p1, const Point &p2, const Point &p3, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255) |
| Draws triangle between given points with given RGBA. More... | |
| virtual void | drawRectangle (const Point &p, uint16_t w, uint16_t h, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255) |
| Draws an axis parallel rectangle. More... | |
| virtual void | fillRectangle (const Point &p, uint16_t w, uint16_t h, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255) |
| Draws a filled axis parallel rectangle. More... | |
| virtual void | drawQuad (const Point &p1, const Point &p2, const Point &p3, const Point &p4, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255) |
| Draws quad between given points with given RGBA. More... | |
| virtual void | drawVertex (const Point &p, const uint8_t size, uint8_t r, uint8_t g, uint8_t b, uint8_t a=255) |
| Draws a quad that represents a vertex with given RGBA. More... | |
| virtual void | drawLightPrimitive (const Point &p, uint8_t intensity, float radius, int32_t subdivisions, float xstretch, float ystretch, uint8_t red, uint8_t green, uint8_t blue) |
| Draws a light primitive that based on a triangle fan. More... | |
| virtual void | enableScissorTest () |
| Enables scissor test on the render backend. More... | |
| virtual void | disableScissorTest () |
| Disables scissor test on the render backend. More... | |
| virtual void | attachRenderTarget (ImagePtr &img, bool discard) |
| Attaches given image as a new render surface. More... | |
| virtual void | detachRenderTarget () |
| Detaches current render surface. More... | |
| virtual void | renderGuiGeometry (const std::vector< GuiVertex > &vertices, const std::vector< int > &indices, const DoublePoint &translation, ImagePtr texture) |
| Renders geometry required by gui. More... | |
| void | enableTextures (uint32_t texUnit) |
| void | disableTextures (uint32_t texUnit) |
| void | bindTexture (uint32_t texUnit, GLuint texId) |
| void | bindTexture (GLuint textId) |
Public Member Functions inherited from FIFE::RenderBackend | |
| RenderBackend (const SDL_Color &colorkey) | |
| Constructor. More... | |
| virtual | ~RenderBackend () |
| Destructor. More... | |
| void | deinit () |
| Performs cleanup actions. More... | |
| const ScreenMode & | getCurrentScreenMode () const |
| Get current screen mode. More... | |
| uint32_t | getWidth () const |
| uint32_t | getHeight () const |
| uint32_t | getScreenWidth () const |
| uint32_t | getScreenHeight () const |
| const Rect & | getArea () const |
| void | pushClipArea (const Rect &cliparea, bool clear=true) |
| Pushes clip area to clip stack Clip areas define which area is drawn on screen. More... | |
| void | popClipArea () |
| Pops clip area from clip stack. More... | |
| const Rect & | getClipArea () const |
| Gets the current clip area. More... | |
| void | setAlphaOptimizerEnabled (bool enabled) |
| Enable or disable the alpha 'optimizing' code. More... | |
| bool | isAlphaOptimizerEnabled () const |
| void | setImageCompressingEnabled (bool enabled) |
| Enables or disable compressing images by video driver. More... | |
| bool | isImageCompressingEnabled () const |
| void | setFramebufferEnabled (bool enabled) |
| Enables or disable the usage of the framebuffer, if available. More... | |
| bool | isFramebufferEnabled () const |
| void | setNPOTEnabled (bool enabled) |
| Enables or disable the usage of npot, if available. More... | |
| bool | isNPOTEnabled () const |
| void | setTextureFiltering (TextureFiltering filter) |
| Sets the texture filtering method. More... | |
| TextureFiltering | getTextureFiltering () const |
| void | setMipmappingEnabled (bool enabled) |
| Enables or disables the usage of mipmapping. More... | |
| bool | isMipmappingEnabled () const |
| int32_t | getMaxAnisotropy () const |
| Gets max antisotropy for antisotropic filtering. More... | |
| void | setMonochromeEnabled (bool enabled) |
| Enables or disables monochrome rendering. More... | |
| bool | isMonochromeEnabled () const |
| void | setDepthBufferEnabled (bool enabled) |
| Enables or disables depth buffer rendering. More... | |
| bool | isDepthBufferEnabled () const |
| void | setAlphaTestValue (float alpha) |
| Sets the value for alpha test. More... | |
| float | getAlphaTestValue () const |
| void | setColorKeyEnabled (bool colorkeyenable) |
| Sets whether to use the colorkey feature. More... | |
| bool | isColorKeyEnabled () const |
| Gets whether the colorkey feature is in use. More... | |
| void | setColorKey (const SDL_Color &colorkey) |
| Sets the global colorkey to use for images. More... | |
| const SDL_Color & | getColorKey () const |
| Gets the global colorkey setting. More... | |
| void | setBackgroundColor (uint8_t r, uint8_t g, uint8_t b) |
| Set the background color. More... | |
| void | resetBackgroundColor () |
| Reset the background color to black. More... | |
| const SDL_PixelFormat & | getPixelFormat () const |
| Gets the current screen rgba format. More... | |
| void | setFrameLimitEnabled (bool limited) |
| Sets whether to use the frame limiter. More... | |
| bool | isFrameLimitEnabled () const |
| Gets whether the frame limiter is in use. More... | |
| void | setFrameLimit (uint16_t framelimit) |
| Sets the frame limit. More... | |
| uint16_t | getFrameLimit () const |
| Gets the frame limit. More... | |
| SDL_Surface * | getRenderTargetSurface () |
| Returns currently attached render surface. More... | |
Public Member Functions inherited from FIFE::DynamicSingleton< RenderBackend > | |
| DynamicSingleton () | |
| virtual | ~DynamicSingleton () |
Protected Member Functions | |
| virtual void | setClipArea (const Rect &cliparea, bool clear) |
| Sets given clip area into image. More... | |
| void | enableLighting () |
| void | disableLighting () |
| void | enableStencilTest () |
| void | disableStencilTest () |
| void | setStencilTest (uint8_t stencil_ref, GLenum stencil_op, GLenum stencil_func) |
| uint8_t | getStencilRef () const |
| void | enableAlphaTest () |
| void | disableAlphaTest () |
| void | setAlphaTest (float ref_alpha) |
| void | enableDepthTest () |
| void | disableDepthTest () |
| void | enableColorArray () |
| void | disableColorArray () |
| void | setEnvironmentalColor (uint32_t texUnit, const uint8_t *rgba) |
| void | setVertexPointer (GLint size, GLsizei stride, const GLvoid *ptr) |
| void | setColorPointer (GLsizei stride, const GLvoid *ptr) |
| void | setTexCoordPointer (uint32_t texUnit, GLsizei stride, const GLvoid *ptr) |
| void | prepareForOverlays () |
| void | renderWithoutZ () |
| void | renderWithZ () |
| void | renderWithZTest () |
| void | renderWithColorAndZ () |
| void | renderWithMultitextureAndZ () |
| RenderZObjectTest * | getRenderBufferObject (GLuint texture_id) |
Protected Member Functions inherited from FIFE::RenderBackend | |
| void | clearClipArea () |
| Clears any possible clip areas. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from FIFE::DynamicSingleton< RenderBackend > | |
| static RenderBackend * | instance () |
The main class of the OpenGL-based renderer.
Definition at line 43 of file renderbackendopengl.h.
| FIFE::RenderBackendOpenGL::RenderBackendOpenGL | ( | const SDL_Color & | colorkey | ) |
Definition at line 78 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::active_tex, FIFE::RenderBackendOpenGL::currentState::alpha_enabled, FIFE::RenderBackendOpenGL::currentState::alpha_test, FIFE::RenderBackendOpenGL::currentState::blend_dst, FIFE::RenderBackendOpenGL::currentState::blend_src, FIFE::RenderBackendOpenGL::currentState::color_enabled, FIFE::RenderBackendOpenGL::currentState::color_pointer, FIFE::RenderBackendOpenGL::currentState::depth_enabled, FIFE::RenderBackendOpenGL::currentState::env_color, FIFE::RenderBackendOpenGL::currentState::light_enabled, FIFE::RenderBackendOpenGL::currentState::lightmodel, m_state, FIFE::RenderBackendOpenGL::currentState::scissor_test, FIFE::RenderBackendOpenGL::currentState::sten_buf, FIFE::RenderBackendOpenGL::currentState::sten_enabled, FIFE::RenderBackendOpenGL::currentState::sten_func, FIFE::RenderBackendOpenGL::currentState::sten_op, FIFE::RenderBackendOpenGL::currentState::sten_ref, FIFE::RenderBackendOpenGL::currentState::tex_enabled, FIFE::RenderBackendOpenGL::currentState::tex_pointer, FIFE::RenderBackendOpenGL::currentState::texture, FIFE::RenderBackendOpenGL::currentState::vertex_pointer, and FIFE::RenderBackendOpenGL::currentState::vertex_pointer_size.
|
virtual |
Definition at line 120 of file renderbackendopengl.cpp.
References FIFE::RenderBackend::deinit(), m_fbo_id, m_maskOverlay, and FIFE::RenderBackend::m_useframebuffer.
|
virtual |
Add the Image data to the array.
Implements FIFE::RenderBackend.
Definition at line 1570 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::RenderObject::color, FIFE::RenderBackendOpenGL::renderDataTC::color, FIFE::RenderBackendOpenGL::renderData2TC::color, FIFE::RectType< T >::h, m_renderMultitextureDatas, m_renderObjects, m_renderTextureColorDatas, m_renderTextureDatas, FIFE::RenderBackendOpenGL::RenderObject::overlay_type, FIFE::OVERLAY_TYPE_COLOR, FIFE::RenderBackendOpenGL::RenderObject::rgba, FIFE::RenderBackendOpenGL::renderDataT::texel, FIFE::RenderBackendOpenGL::renderDataTC::texel, FIFE::RenderBackendOpenGL::renderData2TC::texel, FIFE::RenderBackendOpenGL::renderData2TC::texel2, FIFE::RenderBackendOpenGL::renderDataT::vertex, FIFE::RenderBackendOpenGL::renderDataTC::vertex, FIFE::RenderBackendOpenGL::renderData2TC::vertex, FIFE::RectType< T >::w, FIFE::RectType< T >::x, and FIFE::RectType< T >::y.
Referenced by attachRenderTarget().
Here is the caller graph for this function:
|
virtual |
Definition at line 1671 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderData2TC::color, FIFE::RectType< T >::h, m_renderMultitextureDatas, m_renderObjects, FIFE::RenderBackendOpenGL::RenderObject::overlay_type, FIFE::OVERLAY_TYPE_TEXTURES_AND_FACTOR, FIFE::RenderBackendOpenGL::RenderObject::rgba, FIFE::RenderBackendOpenGL::renderData2TC::texel, FIFE::RenderBackendOpenGL::renderData2TC::texel2, FIFE::RenderBackendOpenGL::renderData2TC::vertex, FIFE::RectType< T >::w, FIFE::RectType< T >::x, and FIFE::RectType< T >::y.
|
virtual |
Definition at line 1738 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::RenderObject::color, FIFE::RenderBackendOpenGL::renderDataColorZ::color, FIFE::RenderBackendOpenGL::renderData2TCZ::color, FIFE::RectType< T >::h, m_renderMultitextureDatasZ, m_renderMultitextureObjectsZ, m_renderTextureColorDatasZ, m_renderTextureColorObjectsZ, m_renderTextureDatasZ, m_renderTextureObjectsZ, FIFE::RenderBackendOpenGL::RenderObject::overlay_type, FIFE::OVERLAY_TYPE_COLOR, FIFE::RenderBackendOpenGL::RenderObject::rgba, FIFE::RenderBackendOpenGL::renderDataZ::texel, FIFE::RenderBackendOpenGL::renderDataColorZ::texel, FIFE::RenderBackendOpenGL::renderData2TCZ::texel, FIFE::RenderBackendOpenGL::renderData2TCZ::texel2, FIFE::RenderBackendOpenGL::RenderZObject::texture_id, FIFE::RenderBackendOpenGL::renderDataZ::vertex, FIFE::RenderBackendOpenGL::renderDataColorZ::vertex, FIFE::RenderBackendOpenGL::renderData2TCZ::vertex, FIFE::RectType< T >::w, FIFE::RectType< T >::x, and FIFE::RectType< T >::y.
|
virtual |
Definition at line 1879 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderData2TCZ::color, FIFE::RectType< T >::h, m_renderMultitextureDatasZ, m_renderMultitextureObjectsZ, FIFE::RenderBackendOpenGL::RenderObject::overlay_type, FIFE::OVERLAY_TYPE_TEXTURES_AND_FACTOR, FIFE::RenderBackendOpenGL::RenderObject::rgba, FIFE::RenderBackendOpenGL::renderData2TCZ::texel, FIFE::RenderBackendOpenGL::renderData2TCZ::texel2, FIFE::RenderBackendOpenGL::renderData2TCZ::vertex, FIFE::RectType< T >::w, FIFE::RectType< T >::x, and FIFE::RectType< T >::y.
|
virtual |
Attaches given image as a new render surface.
Implements FIFE::RenderBackend.
Definition at line 2200 of file renderbackendopengl.cpp.
References addImageToArray(), bindTexture(), FIFE::Image::forceLoadInternal(), FIFE::SharedPtr< T >::get(), FIFE::Image::getArea(), FIFE::Image::getHeight(), FIFE::Image::getSurface(), FIFE::GLImage::getTexId(), FIFE::Image::getWidth(), FIFE::GLImage::isCompressed(), m_fbo_id, m_img_target, FIFE::RenderBackend::m_target, m_target_discard, FIFE::RenderBackend::m_useframebuffer, renderVertexArrays(), and FIFE::GLImage::setCompressed().
| void FIFE::RenderBackendOpenGL::bindTexture | ( | uint32_t | texUnit, |
| GLuint | texId | ||
| ) |
Definition at line 414 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::active_client_tex, FIFE::RenderBackendOpenGL::currentState::active_tex, enableTextures(), m_state, and FIFE::RenderBackendOpenGL::currentState::texture.
Referenced by attachRenderTarget(), detachRenderTarget(), renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:| void FIFE::RenderBackendOpenGL::bindTexture | ( | GLuint | textId | ) |
Definition at line 431 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::active_tex, m_state, and FIFE::RenderBackendOpenGL::currentState::texture.
|
virtual |
Creates a Screenshot and saves it to a file.
Implements FIFE::RenderBackend.
Definition at line 2041 of file renderbackendopengl.cpp.
References FIFE::BMASK, FIFE::RenderBackend::getHeight(), FIFE::RenderBackend::getWidth(), FIFE::GMASK, FIFE::NULLMASK, FIFE::RMASK, and FIFE::Image::saveAsPng().
Referenced by captureScreen().
Here is the caller graph for this function:
|
virtual |
Creates a Screenshot with the given size(w,h) and saves it to a file.
Implements FIFE::RenderBackend.
Definition at line 2075 of file renderbackendopengl.cpp.
References FIFE::AMASK, FIFE::BMASK, captureScreen(), FIFE::RenderBackend::getHeight(), FIFE::RenderBackend::getWidth(), FIFE::GMASK, FIFE::RMASK, and FIFE::Image::saveAsPng().
|
virtual |
Change the Blendingmodel.
Implements FIFE::RenderBackend.
Definition at line 623 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::blend_dst, FIFE::RenderBackendOpenGL::currentState::blend_src, and m_state.
Referenced by renderWithoutZ().
Here is the caller graph for this function:
|
virtual |
Dirty helper function to change the render infos.
Implements FIFE::RenderBackend.
Definition at line 660 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::RenderObject::dst, FIFE::RenderBackendOpenGL::RenderObject::light, m_renderMultitextureObjectsZ, m_renderObjects, FIFE::RenderBackendOpenGL::RenderObject::overlay_type, FIFE::RENDER_DATA_MULTITEXTURE_Z, FIFE::RENDER_DATA_TEXCOLOR_Z, FIFE::RENDER_DATA_TEXTURE_Z, FIFE::RENDER_DATA_WITHOUT_Z, FIFE::RenderBackendOpenGL::RenderObject::src, FIFE::RenderBackendOpenGL::RenderObject::stencil_func, FIFE::RenderBackendOpenGL::RenderObject::stencil_op, FIFE::RenderBackendOpenGL::RenderObject::stencil_ref, and FIFE::RenderBackendOpenGL::RenderObject::stencil_test.
|
virtual |
Forces a clear of the backbuffer.
Implements FIFE::RenderBackend.
Definition at line 150 of file renderbackendopengl.cpp.
References disableScissorTest(), and enableScissorTest().
|
virtual |
Implements FIFE::RenderBackend.
Definition at line 275 of file renderbackendopengl.cpp.
|
virtual |
Implements FIFE::RenderBackend.
Definition at line 279 of file renderbackendopengl.cpp.
|
virtual |
Creates an Image suitable for this renderbackend.
| data | Pointer to the imagedata (needs to be in RGBA, 8 bits per channel). |
| width | Width of the image. |
| height | Height of the image. |
Implements FIFE::RenderBackend.
Definition at line 353 of file renderbackendopengl.cpp.
|
virtual |
Implements FIFE::RenderBackend.
Definition at line 357 of file renderbackendopengl.cpp.
|
virtual |
Helper function to create images from SDL_Surfaces.
Takes ownership over the surface.
| surface | The surface to convert. |
Implements FIFE::RenderBackend.
Definition at line 283 of file renderbackendopengl.cpp.
References FIFE::RenderBackend::m_rgba_format.
|
virtual |
Implements FIFE::RenderBackend.
Definition at line 318 of file renderbackendopengl.cpp.
References FIFE::RenderBackend::m_rgba_format.
|
virtual |
Creates the mainscreen (the display window).
| mode | The ScreenMode to use. |
| title | The window title to use. |
| icon | The window icon to use. |
Implements FIFE::RenderBackend.
Definition at line 156 of file renderbackendopengl.cpp.
References setScreenMode().
|
virtual |
Detaches current render surface.
Implements FIFE::RenderBackend.
Definition at line 2259 of file renderbackendopengl.cpp.
References bindTexture(), FIFE::SharedPtr< T >::get(), FIFE::Image::getHeight(), FIFE::Image::getWidth(), m_img_target, FIFE::RenderBackend::m_screen, FIFE::RenderBackend::m_target, FIFE::RenderBackend::m_useframebuffer, and renderVertexArrays().
|
protected |
Definition at line 514 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::alpha_enabled, and m_state.
Referenced by renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:
|
protected |
Definition at line 550 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::color_enabled, and m_state.
Referenced by renderWithoutZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:
|
protected |
Definition at line 536 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::depth_enabled, and m_state.
Referenced by renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:
|
protected |
Definition at line 445 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::light_enabled, FIFE::RenderBackendOpenGL::currentState::lightmodel, and m_state.
Referenced by renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), renderWithZTest(), and setLightingModel().
Here is the caller graph for this function:
|
virtual |
Disables scissor test on the render backend.
Implements FIFE::RenderBackend.
Definition at line 616 of file renderbackendopengl.cpp.
References m_state, and FIFE::RenderBackendOpenGL::currentState::scissor_test.
Referenced by clearBackBuffer(), and resetStencilBuffer().
Here is the caller graph for this function:
|
protected |
Definition at line 472 of file renderbackendopengl.cpp.
References m_state, and FIFE::RenderBackendOpenGL::currentState::sten_enabled.
Referenced by renderWithoutZ().
Here is the caller graph for this function:| void FIFE::RenderBackendOpenGL::disableTextures | ( | uint32_t | texUnit | ) |
Definition at line 397 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::active_client_tex, FIFE::RenderBackendOpenGL::currentState::active_tex, m_state, and FIFE::RenderBackendOpenGL::currentState::tex_enabled.
Referenced by renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:
|
virtual |
Draws a light primitive that based on a triangle fan.
Implements FIFE::RenderBackend.
Definition at line 1541 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderDataP::color, FIFE::Math< T >::Cos(), m_renderObjects, m_renderPrimitiveDatas, FIFE::Math< T >::Sin(), FIFE::Math< T >::twoPi(), FIFE::RenderBackendOpenGL::renderDataP::vertex, FIFE::PointType2D< T >::x, and FIFE::PointType2D< T >::y.
|
virtual |
Draws line between given points with given RGBA.
Implements FIFE::RenderBackend.
Definition at line 1406 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderDataP::color, m_renderObjects, m_renderPrimitiveDatas, FIFE::RenderBackendOpenGL::renderDataP::vertex, FIFE::PointType2D< T >::x, and FIFE::PointType2D< T >::y.
Referenced by FIFE::OpenGLGuiGraphics::drawLine().
Here is the caller graph for this function:
|
virtual |
Draws quad between given points with given RGBA.
Implements FIFE::RenderBackend.
Definition at line 1492 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderDataP::color, m_renderObjects, m_renderPrimitiveDatas, FIFE::RenderBackendOpenGL::renderDataP::vertex, FIFE::PointType2D< T >::x, and FIFE::PointType2D< T >::y.
|
virtual |
Draws an axis parallel rectangle.
Implements FIFE::RenderBackend.
Definition at line 1446 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderDataP::color, m_renderObjects, m_renderPrimitiveDatas, FIFE::RenderBackendOpenGL::renderDataP::vertex, FIFE::PointType2D< T >::x, and FIFE::PointType2D< T >::y.
Referenced by FIFE::OpenGLGuiGraphics::drawRectangle().
Here is the caller graph for this function:
|
virtual |
Draws triangle between given points with given RGBA.
Implements FIFE::RenderBackend.
Definition at line 1424 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderDataP::color, m_renderObjects, m_renderPrimitiveDatas, FIFE::RenderBackendOpenGL::renderDataP::vertex, FIFE::PointType2D< T >::x, and FIFE::PointType2D< T >::y.
|
virtual |
Draws a quad that represents a vertex with given RGBA.
Implements FIFE::RenderBackend.
Definition at line 1518 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderDataP::color, m_renderObjects, m_renderPrimitiveDatas, FIFE::RenderBackendOpenGL::renderDataP::vertex, FIFE::PointType2D< T >::x, and FIFE::PointType2D< T >::y.
|
protected |
Definition at line 507 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::alpha_enabled, and m_state.
Referenced by renderWithMultitextureAndZ(), renderWithZ(), renderWithZTest(), and setAlphaTest().
Here is the caller graph for this function:
|
protected |
Definition at line 543 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::color_enabled, and m_state.
Referenced by renderWithoutZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:
|
protected |
Definition at line 529 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::depth_enabled, and m_state.
Referenced by renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:
|
protected |
Definition at line 438 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::light_enabled, FIFE::RenderBackendOpenGL::currentState::lightmodel, and m_state.
Referenced by renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), renderWithZTest(), and setLightingModel().
Here is the caller graph for this function:
|
virtual |
Enables scissor test on the render backend.
Implements FIFE::RenderBackend.
Definition at line 609 of file renderbackendopengl.cpp.
References m_state, and FIFE::RenderBackendOpenGL::currentState::scissor_test.
Referenced by clearBackBuffer(), and resetStencilBuffer().
Here is the caller graph for this function:
|
protected |
Definition at line 465 of file renderbackendopengl.cpp.
References m_state, and FIFE::RenderBackendOpenGL::currentState::sten_enabled.
Referenced by setStencilTest().
Here is the caller graph for this function:| void FIFE::RenderBackendOpenGL::enableTextures | ( | uint32_t | texUnit | ) |
Definition at line 380 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::active_client_tex, FIFE::RenderBackendOpenGL::currentState::active_tex, m_state, and FIFE::RenderBackendOpenGL::currentState::tex_enabled.
Referenced by bindTexture(), renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:
|
virtual |
Called when a frame is finished and ready to be displayed.
Reimplemented from FIFE::RenderBackend.
Definition at line 270 of file renderbackendopengl.cpp.
References FIFE::RenderBackend::endFrame().
|
virtual |
Draws a filled axis parallel rectangle.
Implements FIFE::RenderBackend.
Definition at line 1469 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderDataP::color, m_renderObjects, m_renderPrimitiveDatas, FIFE::RenderBackendOpenGL::renderDataP::vertex, FIFE::PointType2D< T >::x, and FIFE::PointType2D< T >::y.
Referenced by FIFE::OpenGLGuiGraphics::fillRectangle().
Here is the caller graph for this function:
|
virtual |
Gets the current light model.
Implements FIFE::RenderBackend.
Definition at line 376 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::lightmodel, and m_state.
|
virtual |
The name of the renderbackend.
Implements FIFE::RenderBackend.
Definition at line 128 of file renderbackendopengl.cpp.
|
protected |
Definition at line 1714 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::RenderZObjectTest::elements, FIFE::RenderBackendOpenGL::RenderZObjectTest::index, m_renderZ_objects, FIFE::RenderBackendOpenGL::RenderZObjectTest::max_size, and FIFE::RenderBackendOpenGL::RenderZObjectTest::texture_id.
|
protected |
Definition at line 503 of file renderbackendopengl.cpp.
References m_state, and FIFE::RenderBackendOpenGL::currentState::sten_ref.
|
virtual |
Initializes the backend.
Implements FIFE::RenderBackend.
Definition at line 133 of file renderbackendopengl.cpp.
|
protected |
Definition at line 1924 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::active_client_tex, FIFE::RenderBackendOpenGL::currentState::active_tex, m_maskOverlay, m_state, and FIFE::RenderBackendOpenGL::currentState::texture.
Referenced by setScreenMode().
Here is the caller graph for this function:
|
virtual |
Writes pixel to given position.
Returns true, if pixel was written (not out of bounds)
Implements FIFE::RenderBackend.
Definition at line 1386 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::renderDataP::color, m_renderObjects, m_renderPrimitiveDatas, FIFE::RenderBackend::m_target, and FIFE::RenderBackendOpenGL::renderDataP::vertex.
Referenced by FIFE::OpenGLGuiGraphics::drawLine(), and FIFE::OpenGLGuiGraphics::drawPoint().
Here is the caller graph for this function:
|
virtual |
Renders geometry required by gui.
Implements FIFE::RenderBackend.
Definition at line 2282 of file renderbackendopengl.cpp.
References FIFE::GLImage::forceLoadInternal(), FIFE::SharedPtr< T >::get(), FIFE::GLImage::getTexId(), FIFE::PointType2D< T >::x, and FIFE::PointType2D< T >::y.
|
virtual |
Render the Vertex Arrays, only for primitives (points, lines,...)
Implements FIFE::RenderBackend.
Definition at line 1365 of file renderbackendopengl.cpp.
References m_renderMultitextureObjectsZ, m_renderObjects, m_renderTextureColorObjectsZ, m_renderTextureObjectsZ, m_renderZ_objects, renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), and renderWithZTest().
Referenced by FIFE::OpenGLGuiGraphics::_endDraw(), attachRenderTarget(), detachRenderTarget(), FIFE::OpenGLGuiGraphics::popClipArea(), and FIFE::OpenGLGuiGraphics::pushClipArea().
Here is the caller graph for this function:
|
protected |
Definition at line 1160 of file renderbackendopengl.cpp.
References bindTexture(), disableAlphaTest(), disableDepthTest(), disableLighting(), disableTextures(), enableDepthTest(), enableLighting(), enableTextures(), FIFE::RenderBackend::m_alphaValue, m_renderTextureColorDatasZ, m_renderTextureColorObjectsZ, setAlphaTest(), setColorPointer(), setTexCoordPointer(), setVertexPointer(), and FIFE::RenderBackendOpenGL::RenderZObject::texture_id.
Referenced by renderVertexArrays().
Here is the caller graph for this function:
|
protected |
Definition at line 1225 of file renderbackendopengl.cpp.
References bindTexture(), disableAlphaTest(), disableDepthTest(), disableLighting(), disableTextures(), enableAlphaTest(), enableDepthTest(), enableLighting(), enableTextures(), m_maskOverlay, m_renderMultitextureDatasZ, m_renderMultitextureObjectsZ, FIFE::RenderBackendOpenGL::RenderObject::overlay_id, FIFE::RenderBackendOpenGL::RenderObject::overlay_type, FIFE::OVERLAY_TYPE_COLOR, FIFE::OVERLAY_TYPE_COLOR_AND_TEXTURE, FIFE::OVERLAY_TYPE_NONE, FIFE::OVERLAY_TYPE_TEXTURES_AND_FACTOR, FIFE::RenderBackendOpenGL::RenderObject::rgba, setColorPointer(), setEnvironmentalColor(), setTexCoordPointer(), setVertexPointer(), FIFE::RenderBackendOpenGL::RenderObject::size, and FIFE::RenderBackendOpenGL::RenderObject::texture_id.
Referenced by renderVertexArrays().
Here is the caller graph for this function:
|
protected |
Definition at line 713 of file renderbackendopengl.cpp.
References bindTexture(), changeBlending(), FIFE::RenderBackendOpenGL::RenderObject::color, FIFE::RenderBackendOpenGL::currentState::color_enabled, disableAlphaTest(), disableColorArray(), disableDepthTest(), disableLighting(), disableStencilTest(), disableTextures(), FIFE::RenderBackendOpenGL::RenderObject::dst, enableColorArray(), enableLighting(), enableTextures(), FIFE::RenderBackendOpenGL::RenderObject::light, FIFE::RenderBackendOpenGL::currentState::light_enabled, FIFE::RenderBackendOpenGL::currentState::lightmodel, m_maskOverlay, m_renderMultitextureDatas, m_renderObjects, m_renderPrimitiveDatas, m_renderTextureColorDatas, m_renderTextureDatas, m_state, FIFE::RenderBackendOpenGL::RenderObject::mode, FIFE::RenderBackendOpenGL::RenderObject::overlay_id, FIFE::RenderBackendOpenGL::RenderObject::overlay_type, FIFE::OVERLAY_TYPE_COLOR, FIFE::OVERLAY_TYPE_COLOR_AND_TEXTURE, FIFE::OVERLAY_TYPE_NONE, FIFE::OVERLAY_TYPE_TEXTURES_AND_FACTOR, FIFE::RenderBackendOpenGL::RenderObject::rgba, setAlphaTest(), setColorPointer(), setEnvironmentalColor(), setStencilTest(), setTexCoordPointer(), setVertexPointer(), FIFE::RenderBackendOpenGL::RenderObject::size, FIFE::RenderBackendOpenGL::RenderObject::src, FIFE::RenderBackendOpenGL::currentState::sten_enabled, FIFE::RenderBackendOpenGL::currentState::sten_func, FIFE::RenderBackendOpenGL::currentState::sten_op, FIFE::RenderBackendOpenGL::currentState::sten_ref, FIFE::RenderBackendOpenGL::RenderObject::stencil_func, FIFE::RenderBackendOpenGL::RenderObject::stencil_op, FIFE::RenderBackendOpenGL::RenderObject::stencil_ref, FIFE::RenderBackendOpenGL::RenderObject::stencil_test, and FIFE::RenderBackendOpenGL::RenderObject::texture_id.
Referenced by renderVertexArrays().
Here is the caller graph for this function:
|
protected |
Definition at line 1067 of file renderbackendopengl.cpp.
References bindTexture(), disableAlphaTest(), disableColorArray(), disableDepthTest(), disableLighting(), disableTextures(), enableAlphaTest(), enableColorArray(), enableDepthTest(), enableLighting(), enableTextures(), m_renderTextureDatasZ, m_renderTextureObjectsZ, setTexCoordPointer(), setVertexPointer(), and FIFE::RenderBackendOpenGL::RenderZObject::texture_id.
Referenced by renderVertexArrays().
Here is the caller graph for this function:
|
protected |
Definition at line 1131 of file renderbackendopengl.cpp.
References bindTexture(), disableAlphaTest(), disableColorArray(), disableDepthTest(), disableLighting(), disableTextures(), enableAlphaTest(), enableColorArray(), enableDepthTest(), enableLighting(), enableTextures(), m_renderZ_datas, m_renderZ_objects, setTexCoordPointer(), and setVertexPointer().
Referenced by renderVertexArrays().
Here is the caller graph for this function:
|
virtual |
Reset lighting with default values.
Implements FIFE::RenderBackend.
Definition at line 459 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::lightmodel, m_state, and setLighting().
|
virtual |
Reset stencil buffer with given value.
Implements FIFE::RenderBackend.
Definition at line 493 of file renderbackendopengl.cpp.
References disableScissorTest(), enableScissorTest(), m_state, and FIFE::RenderBackendOpenGL::currentState::sten_buf.
|
protected |
Definition at line 521 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::alpha_test, enableAlphaTest(), FIFE::Math< T >::Equal(), and m_state.
Referenced by renderWithColorAndZ(), renderWithoutZ(), and setScreenMode().
Here is the caller graph for this function:
|
protectedvirtual |
Sets given clip area into image.
Implements FIFE::RenderBackend.
Definition at line 2186 of file renderbackendopengl.cpp.
References FIFE::RenderBackend::getHeight(), FIFE::RectType< T >::h, FIFE::RenderBackend::m_backgroundcolor, FIFE::RenderBackend::m_isbackgroundcolor, FIFE::RectType< T >::w, FIFE::RectType< T >::x, and FIFE::RectType< T >::y.
|
protected |
Definition at line 587 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::color_pointer, and m_state.
Referenced by renderWithColorAndZ(), renderWithMultitextureAndZ(), and renderWithoutZ().
Here is the caller graph for this function:
|
protected |
Definition at line 558 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::active_client_tex, FIFE::RenderBackendOpenGL::currentState::active_tex, FIFE::RenderBackendOpenGL::currentState::env_color, and m_state.
Referenced by renderWithMultitextureAndZ(), and renderWithoutZ().
Here is the caller graph for this function:
|
virtual |
Set colors for lighting.
Implements FIFE::RenderBackend.
Definition at line 452 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::lightmodel, and m_state.
Referenced by resetLighting().
Here is the caller graph for this function:
|
virtual |
Initializes the light.
Implements FIFE::RenderBackend.
Definition at line 361 of file renderbackendopengl.cpp.
References disableLighting(), enableLighting(), FIFE::RenderBackendOpenGL::currentState::lightmodel, and m_state.
|
virtual |
Sets the mainscreen display mode.
| mode | The ScreenMode to change the display to. |
Implements FIFE::RenderBackend.
Definition at line 169 of file renderbackendopengl.cpp.
References FIFE::_log, FIFE::AMASK, FIFE::BMASK, FL_LOG, FIFE::ScreenMode::getBPP(), FIFE::ScreenMode::getHeight(), FIFE::ScreenMode::getSDLFlags(), FIFE::ScreenMode::getWidth(), FIFE::GMASK, FIFE::RenderBackend::m_alphaValue, m_fbo_id, FIFE::RenderBackend::m_maxAnisotropy, FIFE::RenderBackend::m_rgba_format, FIFE::RenderBackend::m_screen, FIFE::RenderBackend::m_screenMode, FIFE::RenderBackend::m_target, FIFE::RenderBackend::m_textureFilter, FIFE::RenderBackend::m_useframebuffer, prepareForOverlays(), FIFE::RMASK, setAlphaTest(), FIFE::TEXTURE_FILTER_ANISOTROPIC, and FIFE::TEXTURE_FILTER_TRILINEAR.
Referenced by createMainScreen().
Here is the caller graph for this function:
|
protected |
Definition at line 479 of file renderbackendopengl.cpp.
References enableStencilTest(), m_state, FIFE::RenderBackendOpenGL::currentState::sten_func, FIFE::RenderBackendOpenGL::currentState::sten_op, and FIFE::RenderBackendOpenGL::currentState::sten_ref.
Referenced by renderWithoutZ().
Here is the caller graph for this function:
|
protected |
Definition at line 594 of file renderbackendopengl.cpp.
References FIFE::RenderBackendOpenGL::currentState::active_client_tex, FIFE::RenderBackendOpenGL::currentState::active_tex, m_state, and FIFE::RenderBackendOpenGL::currentState::tex_pointer.
Referenced by renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:
|
protected |
Definition at line 579 of file renderbackendopengl.cpp.
References m_state, FIFE::RenderBackendOpenGL::currentState::vertex_pointer, and FIFE::RenderBackendOpenGL::currentState::vertex_pointer_size.
Referenced by renderWithColorAndZ(), renderWithMultitextureAndZ(), renderWithoutZ(), renderWithZ(), and renderWithZTest().
Here is the caller graph for this function:
|
virtual |
Called when a new frame starts.
Reimplemented from FIFE::RenderBackend.
Definition at line 266 of file renderbackendopengl.cpp.
References FIFE::RenderBackend::startFrame().
|
protected |
Definition at line 262 of file renderbackendopengl.h.
Referenced by attachRenderTarget(), setScreenMode(), and ~RenderBackendOpenGL().
|
protected |
Definition at line 263 of file renderbackendopengl.h.
Referenced by attachRenderTarget(), and detachRenderTarget().
|
protected |
Definition at line 124 of file renderbackendopengl.h.
Referenced by prepareForOverlays(), renderWithMultitextureAndZ(), renderWithoutZ(), and ~RenderBackendOpenGL().
|
protected |
Definition at line 224 of file renderbackendopengl.h.
|
protected |
Definition at line 225 of file renderbackendopengl.h.
|
protected |
Definition at line 207 of file renderbackendopengl.h.
Referenced by addImageToArray(), and renderWithoutZ().
|
protected |
Definition at line 220 of file renderbackendopengl.h.
Referenced by addImageToArrayZ(), and renderWithMultitextureAndZ().
|
protected |
Definition at line 221 of file renderbackendopengl.h.
Referenced by addImageToArrayZ(), changeRenderInfos(), renderVertexArrays(), and renderWithMultitextureAndZ().
|
protected |
Definition at line 208 of file renderbackendopengl.h.
Referenced by addImageToArray(), changeRenderInfos(), drawLightPrimitive(), drawLine(), drawQuad(), drawRectangle(), drawTriangle(), drawVertex(), fillRectangle(), putPixel(), renderVertexArrays(), and renderWithoutZ().
|
protected |
Definition at line 201 of file renderbackendopengl.h.
Referenced by drawLightPrimitive(), drawLine(), drawQuad(), drawRectangle(), drawTriangle(), drawVertex(), fillRectangle(), putPixel(), and renderWithoutZ().
|
protected |
Definition at line 205 of file renderbackendopengl.h.
Referenced by addImageToArray(), and renderWithoutZ().
|
protected |
Definition at line 216 of file renderbackendopengl.h.
Referenced by addImageToArrayZ(), and renderWithColorAndZ().
|
protected |
Definition at line 217 of file renderbackendopengl.h.
Referenced by addImageToArrayZ(), renderVertexArrays(), and renderWithColorAndZ().
|
protected |
Definition at line 203 of file renderbackendopengl.h.
Referenced by addImageToArray(), and renderWithoutZ().
|
protected |
Definition at line 212 of file renderbackendopengl.h.
Referenced by addImageToArrayZ(), and renderWithZ().
|
protected |
Definition at line 213 of file renderbackendopengl.h.
Referenced by addImageToArrayZ(), renderVertexArrays(), and renderWithZ().
|
protected |
Definition at line 196 of file renderbackendopengl.h.
Referenced by renderWithZTest().
|
protected |
Definition at line 197 of file renderbackendopengl.h.
Referenced by getRenderBufferObject(), renderVertexArrays(), and renderWithZTest().
|
protected |
Referenced by bindTexture(), changeBlending(), disableAlphaTest(), disableColorArray(), disableDepthTest(), disableLighting(), disableScissorTest(), disableStencilTest(), disableTextures(), enableAlphaTest(), enableColorArray(), enableDepthTest(), enableLighting(), enableScissorTest(), enableStencilTest(), enableTextures(), getLightingModel(), getStencilRef(), prepareForOverlays(), RenderBackendOpenGL(), renderWithoutZ(), resetLighting(), resetStencilBuffer(), setAlphaTest(), setColorPointer(), setEnvironmentalColor(), setLighting(), setLightingModel(), setStencilTest(), setTexCoordPointer(), and setVertexPointer().
|
protected |
Definition at line 264 of file renderbackendopengl.h.
Referenced by attachRenderTarget().