Cameron Cawley
88e2764d13
GRIM: Reduce the amount of format conversion for bitmaps
2024-11-03 09:40:07 +02:00
Cameron Cawley
0825fab676
GRIM: Reduce memory usage for 3bpp textures
2024-11-03 09:40:07 +02:00
Cameron Cawley
4700a4110e
GRIM: Use the best pixel format for video playback
2024-11-03 09:40:07 +02:00
Le Philousophe
1c1125d8ac
GRIM: Refresh screen on a regular basis when possible
...
The only case where it's not possible is when we directly draw on OpenGL
backbuffer.
In TinyGL, we only update the backend screen without doing any
rendering.
2024-08-31 16:29:21 +02:00
KOLANICH
1fb6489072
GRIM: Add runtime introspection of renderer type used via get_renderer
console command.
2023-06-21 09:44:05 +03:00
Donovan Watteau
09419beae0
GRIM: Fix MSVC C4245 char/uint8 warning
...
Related to commit 6df761e70e
.
2023-03-07 13:52:18 +01:00
Vladimir Serbinenko
829eab2f72
GRIM: Split TTF fonts from bitmap fonts and add a drawing interface
...
This cleans up the code and allows adding double-byte charsets easier
2023-03-05 22:39:27 +01:00
Cameron Cawley
366e0c5f67
TINYGL: Replace tglFrustum, tglOrtho and tglClearDepth with float versions
2023-03-05 22:36:31 +01:00
Cameron Cawley
9f13b979d6
TINYGL: Ensure that Z-buffer images are never converted
2023-03-03 09:59:41 +00:00
Paweł Kołodziejski
c4686ee84c
TINYGL: Rename copyToBuffer to copyFromFrameBuffer
2023-02-09 07:31:09 +01:00
Paweł Kołodziejski
d8d42bf2fe
GRIM: Ported debug shadow plane draw from opengl to tinygl
2022-06-18 18:56:30 +02:00
Paweł Kołodziejski
ce0427e130
GRIM: Moved debug color shadow draw
2022-06-18 18:55:35 +02:00
Paweł Kołodziejski
06902574b4
GRIM: Janitorial
2022-06-08 01:12:00 +02:00
Paweł Kołodziejski
680772b8af
GRIM: Use generic description in game for TinyGL renderer
2022-06-07 23:10:26 +02:00
Paweł Kołodziejski
300a56ee46
GRIM: Put debug trace on different level
2022-06-07 23:09:15 +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
Paweł Kołodziejski
df8776b191
GRIM: Removed dead code
2021-12-20 12:23:43 +01:00
Paweł Kołodziejski
a4e50f9f9c
GRIM: Synchronise portions of opengl vs tinygl
2021-12-15 20:31:04 +01:00
Paweł Kołodziejski
c66ca22cbb
TINYGL,GRIM: Replace custom shadows to stencil buffer solution
2021-12-10 18:37:24 +01:00
Cameron Cawley
06e79f2adf
TINYGL: Use the existing list of rectangles when copying to the screen
2021-12-09 22:01:46 +01:00
Paweł Kołodziejski
6a591146c8
TINYGL: Added stencil buffer implementation
2021-12-09 21:10:53 +01:00
Paweł Kołodziejski
3b9f9804ee
TINYGL: Rearrange access to TinyGL
2021-12-08 14:52:18 +01:00
Paweł Kołodziejski
776cfe7585
GRIM: Moved getting tinygl buffer reference out of loop
2021-12-07 14:14:16 +01:00
Paweł Kołodziejski
d80bd265d2
TINYGL: Rearrange visibility various functions
2021-12-06 13:57:41 +01:00
Paweł Kołodziejski
66bc1955e8
GRIM: Cleanup pixel formats for textures
2021-12-04 22:21:12 +01:00
Paweł Kołodziejski
6f3b535752
GRIM,STARK,TINYGL: Fixed BE drawing issues.
2021-11-29 22:34:13 +01:00
Paweł Kołodziejski
af37825be3
ENGINES: Replace PixelBuffer with Surface
2021-11-27 20:14:44 +01:00
Orgad Shaneh
33a4eaa4d2
GRIM: Replace new[]/memset with new[]()
2021-11-10 19:53:15 +01:00
Cameron Cawley
757a819da9
GRIM: Remove unneeded use of Graphics::createPixelFormat
2021-06-24 11:55:54 +02:00
Orgad Shaneh
a05e54f00c
JANITORIAL: Remove trailing whitespaces
2021-05-04 11:46:30 +03:00
Laurent Merckx
741cd5ddc7
GRIM: use GL_UNSIGNED_SHORT for glDrawElements instead of GL_UNSIGNED_INT (not supported for GLES <= 2)
2020-11-12 05:58:36 +01: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
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
Pawel Kolodziejski
b8ae32d71b
GRIM: Remove unused return value from GfxBase::setupScreen
2020-10-05 20:03:16 +02:00
Pawel Kolodziejski
fb636cadde
GRIM: Drop setting windows title with used renderer.
2020-10-05 07:59:10 +02:00
Pawel Kolodziejski
27e12d8a96
ALL: Eliminate LOCAL_PI macro
2020-09-23 23:20:23 +02:00
Bastien Bouclet
f4e3bd0424
GRIM: Take adventage of kFeatureFullscreenToggleKeepsContext
2017-09-01 09:26:57 +02:00
Vincent Pelletier
198554a211
GRIM: Log front buffer pixel format on TinyGL initialisation
2017-05-15 10:31:25 +00:00
Vincent Pelletier
e7073dc037
ALL: Add an option to control dirty rectangless TinyGL optimisation
...
Exposed to command line via --[no-]dirtyrects.
As dirty rectangles make the workload vary a lot between frames, it makes
performance regressions harder to spot. Disabling it produces lower, but
much more regular FPS counts.
2017-05-03 16:52:36 +00:00
Vincent Pelletier
1ca4e22223
GRIM: Use drawBitmap in GfxTinyGL::copyStoredToDisplay
...
Removes image down-sampling to texture resolution - much nicer !
2017-05-02 12:49:04 +00:00
Vincent Pelletier
bad3de8a12
GRIM: Drop off-screen buffers
...
These were present to implement actor freezing in software rendering mode
in the way original engine was intended for performance reason.
In residualvm, software rendering will generalise the principle through
dirty-rectangles management, so off-screen buffers should not be needed.
Also, properly implementing them requires invasive changes (move previous
draw call list from global OpenGL context to individual off-screen buffers,
along with associated linear vertex allocator, adding a new draw call to
track requested buffer changes until final on-screen frame buffer
presentation).
So instead of such added complexity, lie to lua API about actor not being
in set but keep it in so it is part of normal redraw sequence.
Fixes disappearing actors in cn, bi.
Likely also fixes at, ly, sh, mn, dd which uses free/thaw lua API, but
which I did not check.
2017-05-02 09:51:47 +00:00
Vincent Pelletier
d92e9581b4
GRIM: Use default clear depth
...
For consistency with OpenGL.
2017-05-01 03:19:45 +00:00
Vincent Pelletier
ee66143a90
GRIM: Disable lighting in GfxTinyGL::drawEMIModelFace
...
As is done for OpenGL. It allows TinyGL to take shortcuts in coordinates
transformations of all vertices.
Also, reduce trivial diffs with gfx_opengl.cpp .
2017-05-01 03:19:45 +00:00
Vincent Pelletier
a0886193f0
GRIM: Do not convert type-1 bitmap data on submission
...
Instead, generate color key in a consistent pixel format.
2017-04-29 15:17:37 +00:00
Vincent Pelletier
090dc58a83
GRIM: Drop outdated comment
...
This came from code in TinyGL which was removed during the 32bits works,
but I forgot to remove this comment.
2017-04-29 14:40:14 +00:00
Vincent Pelletier
8fc17a49e2
GRIM: {T,}GL_LINES does not need to be interrupted between each line
2017-04-28 21:55:36 +00:00
Vincent Pelletier
a8612e130f
GRIM TINYGL: Do not force conversion to RGBA8888
...
createScreenshotBitmap internally converts to RGB565 anyway.
2017-04-26 13:11:00 +00:00
Vincent Pelletier
f8ef0b2261
GRIM: Draw to buffer before storing display
...
Fixes save game screenshots with TinyGL: without this, the screenshot
content is the menu at the time user confirmed the save, and not the
original scene.
This is consistent with OpenGL behaviour, where framebuffer-reading
operations implicitly call glFlush.
2017-04-25 11:31:49 +00:00
Vincent Pelletier
a3a6218060
GRIM: Avoid writing to buffer directly.
2017-04-23 01:44:51 +00:00