aboutsummaryrefslogtreecommitdiff
path: root/backends/graphics/opengl/opengl-graphics.cpp
AgeCommit message (Collapse)Author
2016-03-16OPENGL: Support GLES2 contexts.Johannes Schickel
2016-03-16OPENGL: Typo.Johannes Schickel
2016-03-16OPENGL: Simplify orthogonal projection setup.Johannes Schickel
2016-03-16OPENGL: Simplify context type setting.Johannes Schickel
2016-03-16OPENGL: Support RGB555 for OpenGL ES output.Johannes Schickel
This mode should *not* be used by any new engines/code. If someone is going to use it and says it works with the OpenGL output, please make them wear a red uniform and beam them onto a remote planet.
2016-03-16OPENGL: Allow runtime specification of OpenGL mode.Johannes Schickel
Formerly, we required that the OpenGL mode was fixed at compile time. Now we allow the code to work with whatever it is given at runtime. It is still possible to force a context type on compile time.
2016-03-16OPENGL: Remove support for ARGB8888.Johannes Schickel
This used to be used by Sword25. Since it is not supported by GLES and no engine code uses it we drop support. Hopefully, this helps people to realize they should not use that format in their engine.
2016-03-16OPENGL: Rename GLCALL to GL_CALL.Johannes Schickel
2016-03-16OPENGL: Resolve OpenGL functions on run-time.Johannes Schickel
Formerly we relied on static linkage. However, in the presense of modern OpenGL (ES) implementations it is not easily identifable which library to link against. For example, on Linux amd64 with nVidia drivers and SDL2 setup to create a GLES 1.1 context one would need to link against libGL.so. However, traditionally GLES 1.1 required to link against libGLESv1_CM.so. To prevent a huge mess we simply resolve the OpenGL functions on run-time now and stop linking against a static library (in most cases). GLES support needs to be enabled manually on configure time for now. Tizen changes have NOT been tested.
2016-03-16OPENGL: Define GLCALL in opengl-sys.h.Johannes Schickel
debug.h is now always included and all calls should be made through GLCALL.
2016-03-16OPENGL: Refactor GL extension handling slightly.Johannes Schickel
2015-12-14OPENGL: Smooth mouse experience when black bars are visible.Johannes Schickel
This gets rid of the feeling of the mouse sticking to black borders by using the full output resolution as area for tracking game mouse movement. The same behavior is present in plain SDL output with SDL2.
2015-12-13OPENGL: Limit scissor override to invisible overlay.Johannes Schickel
This fixes some corner cases which caused black bars to appear for a few screen updates when the overlay is visible.
2015-12-12OPENGL: Implement black borders using scissor test.Johannes Schickel
2015-12-12OPENGL: Only redraw screen when actual changes happened.Johannes Schickel
2015-12-12OPENGL: Refactor screen refresh handling.Johannes Schickel
Subclasses of OpenGLGraphicsManager are now supposed to supply a refreshScreen function which handles actual screen updating (for example, buffer swapping).
2015-01-07OPENGL: Fix truncation issue resulting in wrong mouse coordinates.Johannes Schickel
2015-01-07OPENGL: Limit mouse cursor drawing to inside game screen when no overlay is ↵Johannes Schickel
visible.
2014-10-28BACKENDS: Remove trailing whitespaceFilippos Karapetis
2014-02-25OPENGL: Fix building with --disable-16bitTorbjörn Andersson
2014-02-12OPENGL: Always support RGBA8888 (memory layout).Johannes Schickel
2014-02-12OPENGL: Move RGBA8888 (logical layout) to OpenGL specific formats.Johannes Schickel
The reason here is that GL_UNSIGNED_INT_8_8_8_8 is not supported by the GLES standard. Thus we cannot use it outside OpenGL specific code paths.
2014-02-12OPENGL: Use frac_t for cursor scaling.Johannes Schickel
2014-02-12OPENGL: Simplify shake offset application.Johannes Schickel
2014-02-11OPENGL: Fix cursor regression when defaultFormat doesn't have an alpha channel.Johannes Schickel
2014-02-11OPENGL: Properly setup full game palette on video mode change if required.Johannes Schickel
2014-02-11OPENGL: Refactor texture instantiation.Johannes Schickel
2014-02-11OPENGL: Rename notifyContextChange to notifyContextCreate.Johannes Schickel
2014-02-11OPENGL: Add notification function about context destruction.Johannes Schickel
2013-11-17OPENGL: Fix >1Bpp mouse cursors which do not require format conversion.Johannes Schickel
2013-10-23SDL: Do not require a static graphics mode list in OpenGL and SurfaceSDL.Johannes Schickel
2013-10-19OPENGL/SDL: Add screenshot support.Johannes Schickel
2013-10-19OPENGL: Limit maximum Surface size to maximum texture size.Johannes Schickel
This is mostly aimed at old graphics chips. For example, wjp's old laptop only supports 1024x1024 textures but has a 1280x800 screen. Switching to fullscreen would create a bigger overlay than supported. Now it will get limited to an smaller resolution and then scaled too. Alternatively we could think of tiling surfaces into textures. But then handling scaling would be more complicated since it might result in artifacts on texture tile borders.
2013-10-19OPENGL: Add OSD support.Johannes Schickel
2013-10-19SDL: Add a OpenGL SDL backend and hook it into the SDL backend.Johannes Schickel
The hooking code is nearly exactly the old hooking code. Only the OpenGL SDL creation has been adapted since it uses a different constructor now.
2013-10-19OPENGL: Add new generic OpenGL (ES) backend.Johannes Schickel
This backend is based on ideas of the old OpenGL backend, of the Android GL backend and of the iPhone GL backend.
2013-10-05BACKENDS: Remove OpenGL and OpenGL SDL backend.Johannes Schickel
This breaks our Tizen port.
2013-08-03OPENGL: Take advantage of Surface::getPixels.Johannes Schickel
2013-08-03OPENGL: Prefer getBasePtr over direct Surface::pixels access.Johannes Schickel
2012-08-09OPENGL: Fix RGBA8888 mode setup.Johannes Schickel
2012-08-08OPENGL: GL_BGRA does not exist in every GLES implementation.David-John Willis
* It definately does not exist in the GLES implementations I can test with. * Don't configure if USE_GLES is set.
2012-06-16ALL: Let overlay related methods in OSystem take a void * and use a proper ↵Johannes Schickel
pitch values. This is a first step to get rid of OverlayColor, which is a requirement for proper 4Bpp overlay support.
2012-06-16BACKENDS: Make OSystem::setMouseCursor take a "const void *" buffer.Johannes Schickel
This is mainly for consistency with OSystem::copyRectToScreen.
2012-06-16BACKENDS: Let copyRectToScreen take a "const void *" instead of "const byte ↵Johannes Schickel
*" as buffer. This removes the need to convert the parameter to copyRectToScreen to "const byte *", which is commonly used in games, which use Graphics::Surface to store their graphics data.
2012-06-03ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" ↵Johannes Schickel
logic. All uses of the old target scale API actually wanted to disallow scaling of the mouse cursor. This commit adapts our API to this and thus simplifies backend implementations. Some backends, most notable the Wii and Android, did some implementation of the cursor target scale, which I didn't adapt yet. I added a TODO for the porters there.
2012-03-28OPENGL: Don't leak surfaces.Alyssa Milburn
2012-02-20OPENGL: Don't force alpha to 1Willem Jan Palenstijn
This was likely a hack to work around an alpha blending bug in the gui vector renderer.
2012-02-15OPENGL: More formatting fixes.Johannes Schickel
2012-02-15OPENGL: Prevent access to a few more members in the SDL OpenGL code.Johannes Schickel
2012-02-15OPENGL: Remove redundant check in adjustMousePosition.Johannes Schickel