Commit Graph
101 Commits
Author SHA1 Message Date
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 3b9f9804ee TINYGL: Rearrange access to TinyGL 2021-12-08 14:52:18 +01:00
Paweł Kołodziejski d80bd265d2 TINYGL: Rearrange visibility various functions 2021-12-06 13:57:41 +01:00
Paweł Kołodziejski af37825be3 ENGINES: Replace PixelBuffer with Surface 2021-11-27 20:14:44 +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
Pawel Kolodziejski b8ae32d71b GRIM: Remove unused return value from GfxBase::setupScreen 2020-10-05 20:03:16 +02:00
Pawel Kolodziejski 490bedb584 ALL: Fixed some compiler warnings while using c++11 2020-09-25 18:51:18 +02: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
Bastien Bouclet 0362ac0dbc GRIM: Don't use OSystem::getScreenPixelBuffer in the OpenGL renderers 2016-06-11 12:07:38 +02:00
Christian Krause d6ed076e5a EMI: Use half-transparent plane to implement dimScreen (TinyGL)
- instead of re-calculating the color values when dimming the screen,
  better draw a half-transparent plane after drawing all non-overworld
  characters
- fixes the issue that overworld actors were dimmed and that the
  pause screen is transparent when the inventory is open
2014-09-13 10:49:21 +02:00
Joseph Jezak ff9f26981c EMI: Refactor to use a matrix for the camera. 2014-08-19 18:35:26 -04:00
Stefano Musumeci d0ce4482f9 GRIM: Changed the way strings are rendered. 2014-08-13 15:39:03 +02:00
Stefano Musumeci 8abb5b008c Merge branch 'master' into tinygl-dirty-rects
Conflicts:
	graphics/tinygl/zbuffer.cpp
	graphics/tinygl/zbuffer.h
2014-08-13 14:06:34 +02:00
Joni Vähämäki 9a87fa5d51 EMI: Parse per-texture blending mode from model data. 2014-08-12 17:46:42 +03:00
Stefano Musumeci 4ec96c515e Merge branch 'master' into tinygl-dirty-rects 2014-08-07 18:11:22 +02:00
Joseph Jezak e057c003c1 EMI: Calculate the bounding box using the actor's bounding box info. 2014-08-04 11:14:28 -04:00
Joseph Jezak 60fa48490e EMI/GRIM: Rename getBoundingBoxPos to getScreenBoundingBox to better describe the behavior. 2014-07-30 15:23:53 -04:00
Stefano Musumeci 89adcf8b97 GRIM: Replaced z blitting with newer tinyGL implementation. 2014-07-25 16:02:27 +02:00
Pawel Kolodziejski a39576d921 GRIM/EMI: attempt to fix over read buffer. cleanup types 2014-07-24 15:37:11 +02:00
Joseph Jezak 0866354007 GRIM/EMI: Rename setupCamera to better describe what it does. 2014-07-22 23:28:00 -04:00
Joseph Jezak 6068e94938 EMI/GRIM: Remove unsused roll parameter from setupCamera calls. 2014-07-22 23:27:56 -04:00
Stefano Musumeci 3633a87297 GRIM: Replaced tinygl sprite blitting with new API. 2014-07-18 18:50:03 +02:00
Christian Krause 1e82136592 EMI: Implement screenshot thumbnails for savegames 2014-07-16 23:18:43 +02:00
Joni Vähämäki 88ec1d5285 EMI: Implement lighting for OpenGL Shaders renderer. 2014-07-05 14:09:56 +03:00
Pawel Kolodziejski 1b8dd28bc7 TINYGL: implemented tglDepthFunc 2014-07-04 23:14:44 +02:00
Joel Teichroeb 5f87912e91 Merge pull request #949 from Akz-/grim-quat
GRIM: Use quaternions for animation.
2014-07-04 10:45:32 -07:00
Joni Vähämäki dbfec3b1e8 GRIM: Use quaternions for animation. 2014-07-02 22:29:37 +03:00
Christian Krause 565f488c58 GRAPHICS: Refactoring
Rename some variables and functions of the graphics drivers to distinguish properly betwen textures and materials.
2014-07-02 02:07:06 +02:00
Stefano Musumeci 109767e513 TINYGL: Implemented alpha blending and color transformation in sprite blitting for Grim TinyGL renderer. 2014-07-02 00:09:13 +02:00
Stefano Musumeci 63fd685589 TINYGL: Implemented alpha interpolation in triangle rasterization routine. 2014-07-01 14:29:44 +02:00
Stefano Musumeci b9e0b28ed9 TINYGL: Renamed ZBuffer into FrameBuffer 2014-06-28 20:39:08 +02:00
Christian Krause bf8501fd37 EMI: Clear depth buffer before starting to draw the Overworld
- all actors of the Overworld should cover any non-Overworld drawings
- Overworld actors need to use the depth buffer so that e.g. the
pause screen is drawn above the inventory

- this fixes issue #927 (inventory is drawn above background of pause
  or menu screen)
2014-06-21 23:59:07 +02:00
Christian Krause ec43bc6755 GRIM/EMI: Cleanup
- add override to overridden functions
- make sure that all overridden functions are virtual
- make local functions protected
2014-06-21 23:59:04 +02:00
Joel Teichroeb a539832c78 Merge pull request #910 from JoseJX/FixGLTextureParams
EMI: Clamp sprites, repeat other textures.
2014-06-20 08:30:44 -07:00
Joseph Jezak df3d63fc24 EMI: Add support for clamping sprite textures and repeating other textures. 2014-06-18 22:19:42 -04:00
Joni Vähämäki b5cdd1240f EMI: Only draw models for actors inside the view frustum.
This adds math classes for doing frustum culling in software. These could be used for optimizing performance in many other places as well. For example, if an actor is outside the view frustum, it may not be necessary to do expensive keyframe animation and vertex skinning calculations for that actor.
2014-06-16 15:42:18 +03:00
Pawel Kolodziejski 8759900b6a ALL: synced with ScummVM 2014-04-05 18:18:42 +02:00
sietschie 98e9b41010 EMI: Implement GetBoundingPos for EMIModel
Added the ability to compute the bounding boxes of models so that the
text can be correctly placed near the actors.
2013-12-10 17:19:07 +01:00
Dries Harnie b1a910c800 GRIM/EMI: Refactor GfxBase::startActorDraw 2013-12-04 14:31:06 +01:00
Dries Harnie 43fcfa765f GRAPHICS: Pass Mesh* to GfxBase::drawModelFace 2013-11-05 07:29:30 -08:00
Einar Johan Trøan Sømåen fe3883cecd GRIM: Reformat code to be closer to convention. 2013-07-09 21:12:55 +02:00
Dries Harnie 3196c0a0fb EMI: Draw to depth buffer if sortorder >= 100 2013-07-02 00:22:58 +02:00
Dries Harnie a723b0e3f5 EMI: Draw background layers at intervals
Previously, we split the background layers into everything
before SO 15 and after, and drew like that. However, this caused
the pink ship in shi.setb to not be drawn.

This patch draws the layers of the background at intervals of ten.
So if a set has six layers, layer 5 is the background and 4,3,2,1,0
are rendered at sortorder 40,30,20,10,0.
2013-06-29 14:41:17 +02:00
Giulio Camuffo 570164a2cd GRIM: Fix switching fullscreen crashing with tinygl 2013-02-04 12:33:17 +01:00
Giulio Camuffo 80109ca3fe GRIM: Fix ActorToClean behaviour. Bump save version to 22.4. Fix #701.
The clean buffer code needs two layers. Every actor needs its buffer,
but we also need a global one. The actors' buffers blit to the global buffer
which then gets blitted to screen.
2013-01-11 12:44:30 +01:00
Paweł Kołodziejski 175620b62a ALL: change license headers from LGPL to GPL, and few updates 2012-12-19 23:15:43 +01:00
Dries Harnie 7b490b228b TINYGL: Allow blitting of subimages 2012-11-26 02:08:58 +01:00
Dries Harnie bde37f96a8 EMI: Over-draw some actors in Set::drawForeground
EMI draws portions of the background over actors
with sortOrder >= 15.
2012-11-26 02:08:58 +01:00
Dries Harnie 6334cc0290 EMI: Gfx::startActorDraw() accepts a quaternion 2012-11-13 21:51:11 +01:00