aboutsummaryrefslogtreecommitdiff
path: root/backends/graphics/opengl/opengl-graphics.cpp
AgeCommit message (Collapse)Author
2011-02-25OPENGL: Add support for RGB555 output format.Johannes Schickel
2011-02-24OPENGL: Set _gameTexture to 0 after deleting it.Johannes Schickel
This fixes a segfault when trying to use the OpenGL backend with 16bpp games, however this does not make Last Express nor Loom PC-Engine Japanese work for me. They now fail with a "Pixel format not supported" error.
2011-02-24OPENGL: Properly setup pixel data alignment.Johannes Schickel
If we do not do this, we might end up with a default alignment of 4, which will fail (as in the graphics will be messed up) in case the screen resolution is not divisible by 4. Thanks to digitall for noticing this problem and finding out about GL_UNPACK_ALIGNMENT.
2011-02-19Merge branch 'osystem-palette' of https://github.com/lordhoto/scummvm into ↵Johannes Schickel
master Conflicts: backends/platform/android/android.cpp engines/sci/graphics/screen.cpp engines/sci/graphics/transitions.cpp
2011-02-19OPENGL: Get rid of adjustMouseEvent.Johannes Schickel
Rather than that I introduced a function which converts hardware screen coordinates to overlay / game screen coordinates. The logic which converts mouse movement events with hardware screen coordinates to overlay / game screen coordinates is now inside notifyEvent. This is still broken design, since one should not abuse an observer for that.
2011-02-14OPENGL: Adapt the OpenGL module to the setPalette/grabPalette RGBA->RGB change.Johannes Schickel
2010-12-08OPENGL: Fix OSD support by only updating the OSD texture in internUpdateScreen.Johannes Schickel
This actually still has the drawback that if one calls OSystem::updateScreen from the sound thread that it might crash. Hopefully no code does this though... svn-id: r54830
2010-12-08OPENGL: Disable OSD support for now.Johannes Schickel
I added an comment explaining why OSD is broken currently. The basic problem is that OpenGL is not thread safe, thus in case we try to display any message on the OSD from the sound thread for example it will result in crashes. svn-id: r54829
2010-12-03OPENGLES: Fix the projection matrix and the includes.Jordi Vilalta Prat
svn-id: r54756
2010-11-29BACKENDS: Include scummsys.h at top of all .cpp files, *before* any #ifdefsMax Horn
svn-id: r54573
2010-11-28OPENGL: Modify source files to force recompilationMax Horn
svn-id: r54542
2010-11-28OPENGL: cleanupMax Horn
svn-id: r54520
2010-09-03SDL/OPENGL: Fix backend initialization when building with ENABLE_VKEYBD.Alejandro Marzini
svn-id: r52503
2010-09-03OPENGL: Fix enable aspect ratio feature.Alejandro Marzini
svn-id: r52502
2010-09-03OPENGL: Improve scaling, aspect ratio correction and display(GFX) modes.Alejandro Marzini
Now the previous aspect ratio modes are handled as GFX modes. The previous GFX modes were for scaling, but are removed now. A new 4/3 display mode added. Added Ctrl-Shift-A for backward switching through display modes, and Ctrl-Alt-<number key> for switching to a specific GFX mode. Window resizing now is available for all display modes, and will automatically change the scale factor as well as maintain the aspect ratio when needed. svn-id: r52501
2010-08-13OPENGL: Remove unnecessary aspect ratio corrections, and add "Original Size" ↵Alejandro Marzini
correction. Rename _transactionDetails.needHotswap to _transactionDetails.needRefresh. svn-id: r52054
2010-08-12OPENGL: Fix problem when switching between SDL and OpenGL Graphics Managers.Alejandro Marzini
svn-id: r52025
2010-08-06OPENGL: Add 5/3 and 5/4 aspect ratio corrections.Alejandro Marzini
svn-id: r51806
2010-08-05OPENGL: Improve aspect ratio correction mode selection.Alejandro Marzini
svn-id: r51752
2010-08-03OPENGL: Refresh OpenGL textures on all loadGFX() calls.Alejandro Marzini
OpenGL context may be destroyed after calling SDL_SetVideoMode, so it is better to always recreate the textures. svn-id: r51675
2010-08-02OPENGL: Save last fullscreen mode size to config file.Alejandro Marzini
svn-id: r51604
2010-08-01OPENGL: By default only enable None, Conserve and 4/3 aspect ratio corrections.Alejandro Marzini
svn-id: r51599
2010-08-01Fix warnings.Alejandro Marzini
svn-id: r51592
2010-08-01OPENGL: Remove use of floats for aspect ratio correction. Improved ↵Alejandro Marzini
fullscreen toggling default mode selection. Floats can lead to calculation errors because, now uints are used and aspect ratio values are handled with a x 10000 scale. When entering fullscreen, it will be looked for the fullscreen mode with the smallest metric that mantains the game screen aspect ratio. svn-id: r51563
2010-07-31OPENGL: Add support for BGR and rgb(a) reversed formats (Not available for ↵Alejandro Marzini
GLES). General cleanup and commenting. svn-id: r51559
2010-07-31OPENGL: For GLES, add glOrthox and do not use GL_BGR.Alejandro Marzini
svn-id: r51552
2010-07-31Add OpenGL dependencies to MinGW configure.Alejandro Marzini
svn-id: r51551
2010-07-30SDL/OPENGL: Add ability to switch between SDL and OpenGL graphics managers.Alejandro Marzini
OSystem_SDL will create a merged list of all graphics modes from SDL and OpenGL. When the user changes the graphics mode in options and restarts ScummVM should switch to that graphics mode in the corresponding graphics manager. svn-id: r51493
2010-07-30OSYSTEM: Add resetGraphicsScale() method.Alejandro Marzini
This fixes a hack for resetting the graphics scale to x1 when starting games that have a large screen size. The SDL graphics manager should now scale back to x1 without changing the current scaler in use, as well as the OpenGL graphics manager. svn-id: r51492
2010-07-27Fix warnings about cast removing constness, and about implict conversion ↵Max Horn
from float to int svn-id: r51352
2010-07-27OPENGL: Implement aspect ratio support and toggling. Improve fullscreen ↵Alejandro Marzini
switching. Fix cursor scaling bug. Now the hotkey Ctrl-Alt-Enter will switch between all available fullscreen modes. Alt-Enter will only switch to the best mode available, and exit fullscreen mode if already on it. The different aspect ratios can be switched with Ctrl-Alt-A. The normal mode will stretch the contents to the screen, while other modes will stretch only one dimension to the screen size, and maintain the aspect ratio for the other dimension. svn-id: r51346
2010-07-27OPENGL: Add shake effect.Alejandro Marzini
svn-id: r51344
2010-07-27OPENGL: Fix cursor scaling in overlay.Alejandro Marzini
svn-id: r51339
2010-07-27OPENGL: Commenting.Alejandro Marzini
svn-id: r51338
2010-07-26Formatted spaces.Alejandro Marzini
svn-id: r51300
2010-07-26OPENGL: Implement saveScreenshot().Alejandro Marzini
svn-id: r51299
2010-07-26OPENGL: Add OSD message.Alejandro Marzini
svn-id: r51295
2010-07-26OPENGL: Do not allow changing to a not supported scale while on fullscreen.Alejandro Marzini
svn-id: r51292
2010-07-26OPENGL: Add cursor scaling.Alejandro Marzini
svn-id: r51291
2010-07-26OPENGL: Fixed alpha problem with overlay RGBA5551 format.Alejandro Marzini
svn-id: r51290
2010-07-24OPENGL: Redesign blitting system. Add basics for aspect correction.Alejandro Marzini
Removed the extra surface in GLTexture. Now there are copies of the texture data in their original format (so engine can get the original data when lockScreen or grabOverlay is called). This copies will be updated when the engine calls a function that modifies the game screen/overlay, and the textures will be marked as dirty. When updating screen, the textures will be updated from the copies data if they are dirty. svn-id: r51234
2010-07-23OPENGL: Add basic game screen drawing. Changed Overlay PixelFormat to RGBA5551. Alejandro Marzini
svn-id: r51193
2010-07-22OPENGL: Add antialiasing, hotkey: ctrl+alt+f. Fixed minor bugs.Alejandro Marzini
svn-id: r51146
2010-07-20Fix warning about float->int conversionMax Horn
svn-id: r51051
2010-07-20Change CHECK_GL_ERROR to not take a 'call statement' as parameterMax Horn
Passing a 'call statement' to CHECK_GL_ERROR has various issues. For once, it confuses code parsers in many editors and other tools that work with C++ source directly. Moreover, this can lead to subtle bugs if a mistake is made with the definition of CHECK_GL_ERROR. It also causes incorrect warnings if CHECK_GL_ERROR is used with an "empty" call statement. svn-id: r51050
2010-07-20OPENGL: Implement fullscreen mode.Alejandro Marzini
svn-id: r51049
2010-07-19OPENGL: Fix adjustment of mouse coordinates when screen is resized and scaled.Alejandro Marzini
svn-id: r51046
2010-07-19OPENGL: Add basic scaler handle.Alejandro Marzini
svn-id: r51016
2010-07-19OPENGL: Fix palette issues.Alejandro Marzini
svn-id: r51012
2010-07-18Improved cursor drawing.Alejandro Marzini
svn-id: r50976