98 Commits
Author SHA1 Message Date
Le Philousophe 4598da7ec1 TINYGL: Add opaque support to RLE blitting routine
This fixes Myst3 transitions.
Before commit 5cc4607ff4, opaque images had a list of lines generated
covering the whole image.
2025-11-16 18:00:43 +01:00
Cameron Cawley 51f0f2c3bf TINYGL: Use createFormatRGBA32() for alpha bitmaps 2025-06-28 16:38:09 +03:00
Le Philousophe 71ba2fc12d TINYGL: Unify clipping rectangles and use a proper name
Clipping is not scissor.
2025-04-28 20:44:07 +02:00
Cameron Cawley bbe8010cd1 TINYGL: Remove use of Graphics::PixelBuffer from the Line class 2023-05-14 23:04:11 +02:00
Cameron Cawley d293a659d3 TINYGL: Remove use of Graphics::PixelBuffer from the FrameBuffer class 2023-05-14 23:04:11 +02:00
Cameron Cawley 5432e4ad40 TINYGL: Fix the incorrect use of tglBlitOpaque for additive blends 2023-03-03 09:59:41 +00:00
Cameron Cawley f40c2ccfbd TINYGL: Remove unused tglBlitNoBlend function 2023-03-03 09:59:41 +00:00
Cameron Cawley 9f13b979d6 TINYGL: Ensure that Z-buffer images are never converted 2023-03-03 09:59:41 +00:00
Cameron Cawley 5cc4607ff4 TINYGL: Add a fast path for rendering opaque BlitImages 2023-03-03 09:59:41 +00:00
Paweł Kołodziejski 0ca414daa0 TINYGL: Removed few more forced inlines 2022-07-17 01:35: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
Paweł Kołodziejski b673e0adf5 TINYGL: Janitorial 2021-12-15 23:55:36 +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 10f6a79ce8 TINYGL: More work on accessing FrameBuffer class 2021-12-07 20:40:32 +01:00
Paweł Kołodziejski 2368991ab6 TINYGL: Rearrange access gl context access from/to frame buffer class 2021-12-07 19:58:03 +01:00
D G Turner b9ef0b49f4 TINYGL: Fix GCC Compiler Pedantic Warning 2021-12-07 00:31:48 +00:00
Paweł Kołodziejski d80bd265d2 TINYGL: Rearrange visibility various functions 2021-12-06 13:57:41 +01:00
Paweł Kołodziejski 0c59f5a673 TINYGL: Moved PixelBuffer to TinyGL 2021-11-27 21:29:02 +01:00
Paweł Kołodziejski d5c1d52198 TINYGL: Added tglDrawElements 2021-10-20 22:20:28 +02:00
Orgad Shaneh a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Orgad Shaneh ce5b27f82f TINYGL: Implement a real operator=
With logic similar to the copy ctor.
2021-03-15 13:25:01 +00:00
D G Turner 7beaae25ba TINYGL: Fix Compilation with pre-C++-11 Compilers 2021-03-13 19:42:56 +00:00
D G Turner 4a5e96ce6f TINYGL: Fix GCC Warning for Implicit Copy Operator
This is emitted when -Wdeprecated-copy is enabled. The fix implemented
is to explicitly declare this to be the default copy operator.

Since this may be a latent bug, this is marked with a FIXME.
2021-03-13 11:28:46 +00:00
Pawel Kolodziejski 27e12d8a96 ALL: Eliminate LOCAL_PI macro 2020-09-23 23:20:23 +02:00
Vincent Pelletier 009d3320b3 TINYGL: Compute surface pixel count once only in BlitImage::loadData
Cartesian coordinates are not actually needed here, so simplify
computations by just using a pixel offset.
2017-05-15 10:31:25 +00:00
Vincent Pelletier eeedf4de06 TINYGL: Deduplicate PixelFormat retrieval in zblit
For some reason, loadData hardcodes a pixel format.
At least avoid duplicating it in Line constructor.
Likewise, avoid duplicating access to framebuffer's pixel format when
constructing a Line from another.
Also, avoid over-allocating Line, as its size argument is counted in pixel,
not in bytes.
2017-05-01 08:34:53 +00:00
Vincent Pelletier bf319b5437 TINYGL: Cache and clip dirty rect on all DrawCall subclasses.
getDirtyRegion will be called twice on each DrawCall instance, so make
repeated work as short as possible.
2017-04-23 12:30:00 +00:00
Vincent Pelletier 50c5aef6e5 Revert "TINYGL: Reuse renderRect instead of accessing fb size."
This reverts commit ec418a9769.
2017-04-23 12:25:58 +00:00
Vincent Pelletier ec418a9769 TINYGL: Reuse renderRect instead of accessing fb size. 2017-04-23 12:03:52 +00:00
Vincent Pelletier 6087492dbd TINYGL: Simplify setting & disabling scissors. 2017-04-23 10:35:04 +00:00
Vincent Pelletier e1de3407f1 TINYGL: Make scissors follow Common::Rect semantics.
As per Common::Rect data model, right and bottom border are excluded, so:
- Make FrameBuffer::scissorPixel reject bottom & right borders.
- Update bounding rectangle definition for dirty rectangle operations
  ClearBufferDrawCall::getDirtyRegion is already correct.
- zblit was almost following, except for an off-by-one mistake.
2017-04-23 10:35:04 +00:00
Vincent Pelletier 112ca82363 TINYGL: Manage BlitImages with a refcount.
So that zdirtyrect can keep an image alive for longer than its creator
intended.
2016-07-28 23:32:43 +00: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
Stefano Musumeci 5bd0a864f5 TINYGL: Fixed line breaks. 2014-08-16 16:04:16 +02:00
Stefano Musumeci 41737fcc21 TINYGL: Added/Updated license header in tinyGL files. 2014-08-16 16:03:54 +02:00
Stefano Musumeci 0be18788db TINYGL: Minor formatting fixes. 2014-08-13 21:21:09 +02:00
Stefano Musumeci 2c8f2ecd0b TINYGL: Moved some variables from public to private access. 2014-08-13 21:13:50 +02:00
Stefano Musumeci e58c1361fe TINYGL: Added const modifier to const variables. 2014-08-13 21:11:35 +02:00
Stefano Musumeci 6c83f83b6c TINYGL: Fixed line breaks. 2014-08-13 21:11:24 +02:00
Stefano Musumeci a5e91722de TINYGL: moved global variable to GLContext 2014-08-13 21:03:42 +02:00
Stefano Musumeci 7cb1fd7c8b TINYGL: Added default values to Line empty constructor. 2014-08-13 20:51:53 +02:00
Stefano Musumeci 85fdaed682 TINYGL: Added safe check on blit image delete. 2014-08-13 15:38:00 +02:00
Stefano Musumeci 1990876f7a TINYGL: Added some more documentation. 2014-08-11 16:38:52 +02:00
Stefano Musumeci c64e2884b2 TINYGL: Added some more documentation to blitting code. 2014-08-10 22:02:06 +02:00
Stefano Musumeci 389bcba20d TINYGL: Renamed blit function template parameters with constants naming convention. 2014-08-10 20:29:09 +02:00
Stefano Musumeci f43d39172b TINYGL: Refactored big complex if else sequence with template function calls. 2014-08-10 20:18:04 +02:00
Stefano Musumeci d747cad5b2 TINYGL: Improved code commenting. 2014-08-10 20:17:31 +02:00
Stefano Musumeci 5adba756e3 TINYGL: Renamed tglBlitScissorRect into tglBlitSetScissorRect 2014-08-10 19:38:06 +02:00