Paweł Kołodziejski
e70fbbee21
MYST3: Janitorial
2022-06-13 00:44:39 +02:00
Le Philousophe
1e4696f6d0
OPENGL: Rework renderer selection code
...
Add a class to group all renderer related (static) functions.
This allows to have getBestMatchingAvailableType inline in all engines.
The matching code is now shared between all engines but allows
customization for engines needing it (Grim, WME3D).
The new code takes runtime availability of features to select the
best renderer.
It avoid crashes when user choosed OpenGL but GLES2 is used.
2022-04-03 22:17:19 +02:00
Paweł Kołodziejski
20cb0ae228
ALL: Cleanup ResidualVM -> ScummVM
2021-12-26 21:19:38 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Cameron Cawley
d18d321092
MYST3: Split TinyGLTexture into two separate subclasses
2021-12-05 20:28:23 +01:00
Cameron Cawley
9bd82872bd
MYST3: Replace the Renderer::freeTexture function
2021-12-05 20:28:23 +01:00
Paweł Kołodziejski
9e72366b5f
ENGINES: Allow to build without TINYGL enabled
2021-12-05 00:08:53 +01:00
Cameron Cawley
4d206e5286
GRAPHICS: Clean up OpenGL defines ( #3551 )
2021-11-18 00:56:21 +01:00
Paweł Kołodziejski
862bd7d05f
GRAPHICS: Move FrameLimiter from engines to common graphics code
2021-10-27 23:11:20 +02:00
Paweł Kołodziejski
749c3ec9e1
ENGINES: If backend is not capable support opengl in game do not try create opengl renderer
2020-10-19 06:52:31 +02:00
Paweł Kołodziejski
a37173807f
CONFIGURE: More work on opengl flags
2020-10-14 18:37:17 +02:00
Cameron Cawley
03e8f0ed2d
ENGINES: Remove code for toggling fullscreen mode ( #2523 )
...
* GRIM: Remove code for toggling fullscreen mode
* MYST3: Remove code for toggling fullscreen mode
* STARK: Remove code for toggling fullscreen mode
* ENGINES: Remove the fullscreen argument from initGraphics3d()
2020-10-14 07:49:28 +02:00
Paweł Kołodziejski
42d55b2436
ENGINES: Drop accel3d param for initGraphics3d()
2020-10-13 22:49:07 +02:00
Cameron Cawley
b19857bd8c
ENGINES: Use ScummVM's 2D API for blitting the TinyGL framebuffer ( #2516 )
...
* GRIM: Use ScummVM's 2D API for blitting the TinyGL framebuffer
* MYST3: Use ScummVM's 2D API for blitting the TinyGL framebuffer
* ICB: Use ScummVM's 2D API for blitting the TinyGL framebuffer
2020-10-13 22:12:10 +02:00
Paweł Kołodziejski
264f6f037b
ALL: Separate USE_OPENGL and USE_OPENG_GAME. Exclude WME3D for GLES2 for now.
2020-10-10 14:12:07 +02:00
SupSuper
9340135b03
MYST3: Remove obsolete Windows headers
2020-10-09 21:25:24 +01:00
Pawel Kolodziejski
d8f2040dba
ALL: Drop setupScreen API, use new initGraphics3d from engine API.
...
Enabled system API for begin/end gfx transactions, initSize, setGraphicsMode.
Function setGraphicsMode will use optional params to trigger 3d rendering
and switch to proper SDL Gfx manager.
2020-10-02 19:14:19 +02:00
Bastien Bouclet
056912f4b2
MYST3: Improve the node transition performance
...
On 4K displays, taking a screenshot and processing the pixels on the CPU
was taking a noticeable amount of time. Now the screenshot is copied
directly to a texture without going through the CPU.
2019-11-08 14:50:20 +01:00
Bastien Bouclet
f5319ce6e6
MYST3: Allow the widescreen mod to work in windowed mode
2018-08-11 11:17:40 +02:00
Bastien Bouclet
125ccf3b4d
MYST3: Implement fullscreen toggling
2017-09-01 09:26:57 +02:00
Bastien Bouclet
b97e49c3ee
MYST3: Change surface data to always be in the RGBA byte order
...
This eases uploading the textures to OpenGL, and will hopefully fix
endianness issues.
2017-08-20 09:36:31 +02:00
Bastien Bouclet
ee1b28ffdf
MYST3: Use the engine_speed setting to contigure the frame limiter
2017-05-26 06:42:49 +02:00
Bastien Bouclet
f332f90e3a
MYST3: Disable the frame limiter when V-Sync is enabled
2016-11-20 13:14:03 +01:00
Bastien Bouclet
e7bf8d1948
MYST3: Remove support for disabling the aspect ratio correction
...
It's not working perfectly, and the widescreen mod provides a much better
experience for people wanting their screens filled with colorful pixels.
2016-10-29 08:06:01 +02:00
Bastien Bouclet
19a8b11d85
MYST3: Initial version of the widescreen mod
2016-10-16 09:35:40 +02:00
Bastien Bouclet
5bb96c937a
MYST3: Start moving some of the frame viewport code the the Scene class
2016-10-16 09:28:08 +02:00
Bastien Bouclet
7174ccc81d
MYST3: Remove the Renderer interface
2016-07-15 14:50:41 +02:00
Bastien Bouclet
6cb71cd52a
MYST3: Add a frame limiter for better framerate control
2016-07-13 07:39:34 +02:00
Bastien Bouclet
5024daec23
MYST3: Check at runtime that shaders are available
2016-02-06 08:53:41 +01:00
Bastien Bouclet
8a4bada6b9
ENGINES: Also build the legacy OpenGL renderer when enabling shaders
2015-12-29 08:05:49 +01:00
Bastien Bouclet
8d5406720c
ENGINES: Add a new 'renderer' option to replace 'soft_renderer'
...
'soft_renderer' was a bool and was not useful to select a renderer
in a list with more than two values.
2015-12-29 07:55:27 +01:00
Bastien Bouclet
5b242db8e9
MYST3: Implement the Xbox load and save menu specificities
2015-04-19 11:46:02 +02:00
Bastien Bouclet
90229683ae
MYST3: Don't compute the water effects for currently invisible cube faces
2015-03-22 15:57:16 +01:00
Bastien Bouclet
6ad12e7ce6
MYST3: Use the same cube vertex data for all the renderers
2015-03-22 15:57:16 +01:00
Bastien Bouclet
253ed5d4b5
MYST3: Unify matrix handling for all the renderers
2015-03-22 15:57:15 +01:00
Bastien Bouclet
23da0ef0c3
MYST3: Fix the projection matrix initialization
2015-03-22 15:57:15 +01:00
Bastien Bouclet
aabc7bc34f
MYST3: Allow disabling aspect ratio correction
2014-12-04 19:38:04 +01:00
Bastien Bouclet
6b29c6f1f7
MYST3: Don't call a child class implementation from a destructor
2014-09-13 11:44:19 +02:00
Pawel Kolodziejski
cfef964848
MYST3: fix compilation warnings
2014-09-13 11:11:17 +02:00
Bastien Bouclet
922d48f991
MYST3: Render the transitions on the GPU
2014-09-01 10:51:43 +02:00
Bastien Bouclet
7a33ec4a00
MYST3: Make the engine resolution-agnostic
2014-09-01 10:51:41 +02:00
Pawel Kolodziejski
728e4183fe
MYST3: formatting code
2014-07-03 20:18:21 +02:00
Stefano Musumeci
43b3981b48
MYST3: Added tinyGL renderer.
2014-07-03 12:33:04 +02:00
Pawel Kolodziejski
8759900b6a
ALL: synced with ScummVM
2014-04-05 18:18:42 +02:00
Dries Harnie
ac913880be
MYST3: Separate renderers into separate classes
2014-02-07 22:41:34 +01:00
Dries Harnie
522ef90830
MYST3: Introduce shader-based renderer
2014-02-06 18:56:11 +01:00
Pawel Kolodziejski
790db038c0
ALL: sync with scummvm
2013-10-13 11:30:34 +02:00
Bastien Bouclet
5fa7ddfaed
MYST3: Enable texture filtering.
...
Also use GL_ARB_texture_non_power_of_two when it's available.
When GL_ARB_texture_non_power_of_two is not available the clamping
is incorrect due to the padded sides, resulting in white lines
on some edges of the cube.
2013-01-02 19:15:57 +01:00
Bastien Bouclet
80612ef6c9
MYST3: Use YUVToRGBMan to convert jpeg YUV planes
...
And assorted clean ups.
Yields an overall 10% gain when loading cube nodes
2012-12-03 14:27:56 +01:00
Paweł Kołodziejski
3c267ff982
OPENGL: fix compilation for cross compiled os x target
2012-04-08 15:03:37 +02:00