Commit Graph
341 Commits
Author SHA1 Message Date
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
Pawel Kolodziejski c00c43dfcd GRIM: Added comment regarding working blending without enabling in RGB565 mode case 2016-07-23 18:18:11 +02:00
Vincent Pelletier 49259659e1 GRIM: Enable blending around Graphics::tglBlit calls.
For some reason blending happens in RGB565 even without blend enabled.
Prepares for 32bits color support.
2016-07-23 17:46:01 +02:00
Vincent Pelletier 7c1a15c6e8 TINYGL: Expect colorKey in the same pixel format as surface.
So caller does not have to depend on the pixel format used internally to
BlitImage.
Update callers which do request for color keying (GRIM/EMI only).
Also, remove a special-casing of transparent color when converting image
format which sets a color in a packed format independent from actual
destination format.
Also, in GfxTinyGL::createTextObject, prefer changing invisible colorKey
value than actually-visible color.
2016-07-21 16:17:32 +02:00
Paweł Kołodziejski 9acb1b9039 Merge pull request #1275 from vpelletier/valgrind
TINYGL, GRIM: Fix various errors (mostly memory leaks) found by valgrind
2016-07-20 14:09:52 +02:00
Paweł Kołodziejski d467980499 Merge pull request #1262 from vpelletier/tinygl_dirty2d
GRIM: Fix drawLine/Rect/Polygon in TinyGL renderer
2016-07-18 05:17:35 +02:00
Vincent Pelletier f12cb15801 GRIM: release movie frame in GfxTinyGL::~GfxTinyGL. 2016-07-18 04:36:37 +02:00
Vincent Pelletier 21c3d9234f GRIM: Delete emergency font before calling glClose.
So TinyGL knows it can free underlying structures.
2016-07-18 04:36:37 +02:00
Vincent Pelletier c4d884967c GRIM: Reuse existing blit image.
Fixes a memory leak when playing videos: each frame would leak as the
previous one does not get reused or freed.
2016-07-17 06:38:35 +00:00
Vincent Pelletier a0201afc37 GRIM: Enable TGL_ALPHA_TEST in GfxTinyGL::drawSprite. 2016-07-15 12:43:06 +00:00
Vincent Pelletier 9b7548ccf7 GRIM: Enable alpha test in GfxTinyGL::drawModelFace.
Fixes the appearance of textures using alpha (ex: game card).
2016-07-14 15:36:33 +00:00