74 Commits
Author SHA1 Message Date
Helco ebc33b9abb TINYGL: Add support for texture environments 2025-09-11 17:30:00 +02:00
Cameron Cawley 62851abfa1 GRAPHICS: Add helper functions for creating RGBA32 and BGRA32 formats 2025-06-19 14:17:51 +03:00
Cameron Cawley 48854f0ace GRAPHICS: Add helper functions for creating RGB24 and BGR24 formats 2025-06-19 14:17:51 +03:00
Le Philousophe 303e91272f TINYGL: Implement scissor test 2025-04-28 20:44:07 +02: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
neuromancer 7ac37265f9 TINYGL: correct initialization of the stipple pattern buffer 2024-06-01 15:33:50 +02:00
neuromancer e232c9d797 TINYGL: make sure the polygon stipple pattern is copied 2024-06-01 15:33:50 +02:00
Paweł Kołodziejski f3c78c18a0 TINYGL: Implement more code for tglGet* functions 2023-02-20 20:49:48 +01:00
Paweł Kołodziejski 82fc499b74 TINYGL: Added multi context support 2023-02-14 19:29:55 +01:00
Paweł Kołodziejski bbd955faee TINYGL: Allow parametrize DrawCallMemory size while creating context 2023-02-12 17:08:32 +01:00
Cameron Cawley ad6dab7bfd TINYGL: Fix memory leak 2023-02-03 22:18:45 +00:00
grisenti 2db6ed40b4 TINYGL: reduce memory allocation 2022-12-23 14:04:18 +01:00
grisenti 304a2df165 HPL1: add basic tinygl impl classes 2022-12-23 14:04:03 +01:00
Paweł Kołodziejski bf8aa5c5b8 GRAPHICS: TINYGL: Added missing framebuffer class de-allocation 2022-10-27 01:02:32 +02:00
Paweł Kołodziejski ffe7bee81e TINYGL: Switch profiling to runtime condition 2022-06-05 23:40:35 +02:00
Paweł Kołodziejski cdaec9de8d TINYGL: Added fog support. 2022-06-05 20:59:38 +02:00
Paweł Kołodziejski de67c1ae54 TINYGL: Latest TinyGL 0.4.1 is relicensed under MIT license. 2022-03-08 15:47:20 +01:00
Paweł Kołodziejski 04b13dc61a TINYGL: Split/move functions to API and internal implementation. 2022-01-01 14:06:10 +01:00
Paweł Kołodziejski 25c4e89b7a TINYGL: Janitorial 2022-01-01 12:00:38 +01: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 c66ca22cbb TINYGL,GRIM: Replace custom shadows to stencil buffer solution 2021-12-10 18:37:24 +01:00
Paweł Kołodziejski 6a591146c8 TINYGL: Added stencil buffer implementation 2021-12-09 21:10:53 +01:00
Paweł Kołodziejski a395700d1f TINYGL: Put debug dirty rects code into runtime condition 2021-12-09 12:38:41 +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
Paweł Kołodziejski c1512a5c40 TINYGL: Eliminate passing context where possible 2021-12-07 00:58:14 +01:00
Paweł Kołodziejski d80bd265d2 TINYGL: Rearrange visibility various functions 2021-12-06 13:57:41 +01:00
Paweł Kołodziejski 86dc65250e TINYGL: Cleanup code 2021-12-04 14:27:35 +01:00
Paweł Kołodziejski eab1fe4097 TINYGL: Implemented tglPolygonOffset function 2021-10-26 21:59:04 +02:00
Vincent Pelletier a6af3a38a3 TINYGL: Fix vertice color when clipped and lighting is disabled
longcurrent_color is assigned per vertex, but it is not saved on each
vertex on creation (unlike their "color" attribute, used when lighting
is enabled).
As a consequence, and because rendering happens asynchronously (rather,
following the draw call queue managed by zdirtyrect.cpp when requested
to flip current buffer), longcurrent_color at clipping time can be
different to the one at vertex declaration time, causing color artifacts.

The effect is most noticeable in EMI set shi, in the grog dispenser +
shipyard manager closeup angle, when Guybrush exits the screen by
crossing its right border: dark triangles become visible on his face.

Instead, always use the color attribute, which is already properly
initialised on vertex creation.
2017-07-20 01:51:07 +00:00
Vincent Pelletier 77a4672530 TINYGL: Enable dirty rectangle by default. 2017-05-02 09:57:09 +00:00
Vincent Pelletier 1d3d581870 TINYGL: Use same default clear depth as OpenGL 2017-05-01 02:19:42 +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 6087492dbd TINYGL: Simplify setting & disabling scissors. 2017-04-23 10:35:04 +00:00
Vincent Pelletier a577b4c6a6 TINYGL: Free disposed textures before images.
Reusing function already defined in zdirtyrect.cpp doing both.
2016-07-28 01:55:48 +00:00
Vincent Pelletier 47a1e826e7 TINYGL: Free draw call lists in glClose. 2016-07-28 01:55:48 +00:00
Vincent Pelletier 786311652a TINYGL: Initialise all light properties (valgrind).
Also, sort initialisation in the same order as declaration, for easier
difference-spotting.
2016-07-28 01:55:48 +00:00
Paweł Kołodziejski d1be78ca49 Merge pull request #1269 from vpelletier/tinygl_optimise_light
Tinygl: optimise gl_shade_vertex
2016-07-20 14:39:05 +02:00
Vincent Pelletier db8cee2a69 TINYGL: Free BlitImage memory on close. 2016-07-18 04:36:37 +02:00
Vincent Pelletier f66026a8aa TINYGL: Only do spotlight & specular computations when actually needed.
Spotlight and specular requires normalized d.
Skip specular if the light source or the material have no specular
component.
2016-07-16 12:17:59 +00:00
Vincent Pelletier 411e16fba5 TINYGL: Fix default diffuse and specular values for lights > 0. 2016-07-16 12:17:59 +00:00
Vincent Pelletier f6bbbc7b28 TinyGL: Use standard initial diffuse and specular values.
As per OpenGL specifications, light 0 is the only light with full diffuse and
specular light initial state. This should not affect residualvm as all enabled
light properties are configured.
2016-01-01 17:37:23 +01:00
Pawel Kolodziejski f039ccd474 TINYGL: make consistent between allocation and free resource 2014-12-27 23:28:11 +01:00
Stefano Musumeci 974f47fa42 TINYGL: Added a way to disable or enable dirty rectangles at runtime. 2014-08-16 16:04:10 +02:00
Stefano Musumeci 2cf70d6d76 Merge branch 'master' into tinygl-dirty-rects-fixed
Conflicts:
	graphics/tinygl/ztriangle.cpp
2014-08-16 16:03:27 +02:00
Pawel Kolodziejski 1b48414d7e TINYGL: cleanup license headers 2014-08-13 18:52:52 +02:00
Stefano Musumeci 5adba756e3 TINYGL: Renamed tglBlitScissorRect into tglBlitSetScissorRect 2014-08-10 19:38:06 +02:00
Stefano Musumeci 72054e87ca TINYGL: Replaced magic numbers with a constant. 2014-08-07 21:47:54 +02:00
Stefano Musumeci a0a17717be TINYGL: Added linear allocator for frames draw call data. 2014-08-06 21:50:49 +02:00