Commit graph

97 commits

Author SHA1 Message Date
neuromancer
e232c9d797 TINYGL: make sure the polygon stipple pattern is copied 2024-06-01 15:33:50 +02:00
neuromancer
fdd84fd08a TINYGL: initial implementation of tglPolygonStipple 2024-06-01 15:33:50 +02:00
Donovan Watteau
18ab6803d6 JANITORIAL: Fix various "an" typos in comments 2023-03-16 14:47:28 +01:00
Paweł Kołodziejski
e1118a6882
TINYGL: Few functions are not allowed to be on call lists 2023-02-20 23:39:10 +01:00
Paweł Kołodziejski
f3c78c18a0
TINYGL: Implement more code for tglGet* functions 2023-02-20 20:49:48 +01:00
Paweł Kołodziejski
adb6d340a3
TINYGL: Cleanup variable types for context states 2023-02-14 20:08:51 +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
Cameron Cawley
e7c405f933 TINYGL: Remove unused code 2023-02-02 18:54:14 +00: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
a37fdcf2f1 TINYGL: Move gl_vertex_transform to GLContext 2022-01-02 10:43:29 +01:00
Paweł Kołodziejski
cf8b3cc1f9 TINYGL: Move function to GLContext 2022-01-01 17:42:32 +01:00
Paweł Kołodziejski
a70168e416 TINYGL: Split/move functions to API and internal implementation. 2022-01-01 17:21:42 +01:00
Paweł Kołodziejski
af399f0a50 TINYGL: Janitorial 2022-01-01 17:16:10 +01:00
Paweł Kołodziejski
69198d5d30 TINYGL: Corrected variable type 2022-01-01 14:07:07 +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
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
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
a395700d1f
TINYGL: Put debug dirty rects code into runtime condition 2021-12-09 12:38:41 +01:00
Paweł Kołodziejski
3b9f9804ee
TINYGL: Rearrange access to TinyGL 2021-12-08 14:52:18 +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
4e34da3746
TINYGL: Eliminate passing context 2021-12-07 09:54:19 +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
44b4b2f740
TINYGL: Fixed multi texture generation calls 2021-12-04 14:29:25 +01:00
Paweł Kołodziejski
86dc65250e
TINYGL: Cleanup code 2021-12-04 14:27:35 +01:00
Paweł Kołodziejski
bb340c3b2b
TINYGL: Moved static global array to dynamic array 2021-12-04 11:47:03 +01:00
Paweł Kołodziejski
41cc63588d
TINYGL: Fixed vertex arrays 2021-11-09 08:04:08 +01:00
Paweł Kołodziejski
06b5c259d6
TINYGL: Fixed index in arrays and expanded to other data types. 2021-10-27 22:11:59 +02:00
Fiodar Stryzhniou
894f4916f5 GRAPHICS: Fix warnings for header search failure.
WARNING: Can't find following headers in User or System Include Paths "opinfo.h"
2021-06-26 08:46:07 +03:00
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Vincent Pelletier
f8c72b5967 TINYGL: Move texture resampling from create time to render time
Thanks to pixel repacking using cpu data cache, this has a low runtime
cost even for TGL_LINEAR.
Adds support for TGL_NEAREST.
Adds support for TGL_MIRRORED_REPEAT, TGL_CLAMP_TO_EDGE and TGL_REPEAT.
Also, add support for more texture clamping and resampling options.

Mipmaps are not supported, although their sampling modes will be
applied - but to the full-size texture instead of selected mipmap.

Note: Texture sampler is still chosen at texture creation time.
2020-11-12 08:15:39 +01:00
Vincent Pelletier
bd37cd3012 TINYGL: Make gl_resizeImage* pixel-format-independent 2020-11-12 08:13:49 +01:00
Pawel Kolodziejski
27e12d8a96 ALL: Eliminate LOCAL_PI macro 2020-09-23 23:20:23 +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
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
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
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
97dc3881e0 TINYGL: Add free_texture variant taking a GLTexture * argument.
To avoid looking texture up in the hash table when caller has a pointer to
it already. Aka, O(0) is better than O(1).
2016-07-18 04:34:09 +02:00
Vincent Pelletier
95cc5127e0 TINYGL: Consistently consider Texture::handle as unsigned.
Texture handles are unsigned integers everywhere else.
2016-07-17 15:06:30 +00: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
Stefano Musumeci
23385b3a4a TINYGL: Fixed compiler warnings. 2014-08-16 16:04:20 +02:00
Stefano Musumeci
974f47fa42 TINYGL: Added a way to disable or enable dirty rectangles at runtime. 2014-08-16 16:04:10 +02:00