Commit Graph

623 Commits

Author SHA1 Message Date
Luke Benstead
71da98a0cd Clean up some state 2026-03-04 21:13:42 +00:00
Luke Benstead
21a66c8284 Fix behaviour of current color, normal etc. 2026-03-04 21:04:24 +00:00
Luke Benstead
f0eefc4125 Get non textured polys working 2026-03-01 08:13:04 +00:00
Luke Benstead
13a7de3633 Fix software build 2026-02-28 22:04:08 +00:00
Luke Benstead
bf45f36e82 More float color work 2026-02-28 14:26:22 +00:00
Luke Benstead
cb3153d763 Start refactoring everything 2026-02-23 21:41:00 +00:00
Luke Benstead
ba10615722 Allow compiling containers on Xbox
Obviously GLdc doesn't work on XBox but the containers are fairly generic and are (ab)used
in the Simulant engine which does compile there.
2026-02-15 07:33:44 +00:00
Luke Benstead
b67c8976db Don't fail when passing GL_TEXTURE_BINDING_CUBE_MAP_ARB to glGet 2025-11-01 21:15:03 +00:00
darc
67f2671618 Allow for proper shutdown/deinitialization 2025-09-15 16:50:02 -05:00
jnmartin84
cae97a2cce mirrored repeat param should only alter mirrored repeat state 2025-09-15 16:50:02 -05:00
jnmartin84
b5bde0a259 sorry, I was wrong about the clamp state for MIRRORED_REPEAT 2025-09-15 16:50:02 -05:00
Falco Girgis
88e7130e98 Changed fabs() to fabfs() within glClipEdge(). 2025-09-15 16:50:02 -05:00
jnmartin84
7ff32cec48 clear clamp when setting mirrored repeat 2025-07-13 01:07:49 -04:00
jnmartin84
0cd447dbcf don't waste a full byte on mirror/flip setting
moved MIRROR bits into bits 2 and 3 of what used to be `uv_clamp` member of TextureObject
renamed `uv_clamp` member to `uv_wrap`
updated and commented code accessing `uv_wrap` for both clamp and mirror settings
2025-07-13 00:16:43 -04:00
jnmartin84
708566af72 initial support for GL_MIRRORED_REPEAT 2025-07-12 12:07:04 -04:00
Luke Benstead
f09760dda3 Merge branch 'tnl_effects' into 'master'
Add support for texture and colour matrices

See merge request simulant/GLdc!157
2025-05-24 20:19:01 +00:00
bruceleeto
dccc26d532 Fix compiler ICE with double-to-float macro conversion 2025-05-24 05:32:04 +01:00
UnknownShadow200
b4f2a80a0b Optimise twiddle index calculation 2025-04-12 10:46:09 +10:00
UnknownShadow200
cf3a29e097 Fix clipped triangle in THIRD_VISIBLE case producing vertices in wrong direction, which would result in them being culled when face culling was enabled 2025-03-31 21:12:05 +11:00
UnknownShadow200
135f4c58c5 Fix gluBuild2DMipmaps not returning a value 2025-03-31 21:08:53 +11:00
T_chan
ca8ebf7fc0 Change all ifdefs to support both DC & Naomi 2025-02-22 14:42:00 +01:00
UnknownShadow200
6ce38521c9 Fix tnl_effects sample not working at all on native desktop OpenGL 2025-02-22 22:41:49 +11:00
UnknownShadow200
0e112ffb3c Merge branch 'master' into tnl_effects 2025-02-22 22:35:41 +11:00
Luke Benstead
0285e2027d Merge branch 'sketchy_vertex_formats' into 'master'
Implemented support for all vertex attribute fmts.

See merge request simulant/GLdc!156
2025-02-22 08:23:38 +00:00
Luke Benstead
6bd42b87b9 Merge branch 'fog_fix' into 'master'
Fixed OpenGL Fog implementation + Added New Sample

See merge request simulant/GLdc!155
2025-02-22 08:23:16 +00:00
Luke Benstead
d630041cc8 Merge branch 'glCompressedTexSubImage2D-recreated' into 'master'
creates new GLext function glCompressedTexSubImage2D, updated nehe_06_vq.elf sample to use the new function.

See merge request simulant/GLdc!147
2025-02-22 08:21:10 +00:00
David Reichelt
32e3f4374e Call fsincos with angle degrees instead of passing in radians 2025-02-22 08:20:21 +00:00
UnknownShadow200
ff942e804e Add texture/color matrix sample 2025-02-22 10:52:09 +11:00
UnknownShadow200
2669a9266f When texture validation fails, log reason why using INFO_MSG 2025-02-22 10:08:55 +11:00
UnknownShadow200
e3f61f3c78 Initial work on texture and colour matrix support 2025-02-22 09:33:08 +11:00
UnknownShadow200
ebdb454a75 Simplify T&L effect code 2025-02-22 08:46:58 +11:00
UnknownShadow200
9ca7c002be Slightly optimise matrix code to a single pointer lookup 2025-02-22 08:17:56 +11:00
UnknownShadow200
5e2ea81593 Avoid lighting unless needed 2025-02-22 07:40:12 +11:00
UnknownShadow200
93c81739ba WIP on a separate T&L effects file 2025-02-22 06:43:44 +11:00
Falco Girgis
70e0d503a9 Fixed incorrect alpha vertex color value.
- _readColorXXXARGB() macros were being passed the incorrect input index
  for the alpha channel from the outer macros, fixed.
- Thanks for finding it, UnknownShadow200!
2025-02-19 13:03:05 -06:00
Falco Girgis
b09e630304 Implemented support for all vertex attribute fmts.
1) GLdouble was incorrectly being treated as GLfloat which is now broken
   with -m4-single as default. Fixed.
2) Implemented all missing double-precision vertex attribute reader
   functions.
3) Implemented all missing vertex reader/extracter functions for
   unsigned/signed ints and unsigned/signed shorts.
4) Added (void) argument lists to every function missing them.
    - Not the same as accepting no arguments in C, as with C++.
5) Added KOS's __restrict to software.h so it can be used in common code.
2025-02-19 08:54:21 -06:00
Falco Girgis
643685a7b7 ifdef-ing more DC-specifics from Nehe16
- Attempting to fix build.
2025-02-18 22:04:49 -06:00
Falco Girgis
56f5b24d85 Fixed OpenGL Fog implementation + Added New Sample
- Redid fog.c OpenGL fog back-end implementation
    * only reconfigure fog values when changed
    * properly clamp between 0.0f and 1.0f colors
    * error out on negative densities
    * separate fog statics became single struct
- Added Nehe16 example (adapted from KGL)
    * Made spinning much faster (so you can see it better)
    * fixed a few issues with KGL code (invalid GL enums, lol)
    * swapped to new controller API
    * added #ifdef for non-DC file paths
2025-02-18 21:52:19 -06:00
Luke Benstead
e71560f31b Merge branch 'platform_h_support_Naomi' into 'master'
platform.h: support Naomi again

See merge request simulant/GLdc!150
2025-02-09 20:21:51 +00:00
David Reichelt
08b2d58b4e Add support for glGetIntegerv(GL_MATRIX_MODE,...)
(cherry-picked from commit 52011fe9efeb2e997637876be8a3f600bf91df25)

Co-authored-by: David Reichelt <freakdave@hotmail.com>
2025-02-09 19:13:38 +00:00
Luke Benstead
787b873674 Merge branch 'lighting_fix' into 'master'
Fix lighting using some values calculated for last vertex, instead of the current vertex

See merge request simulant/GLdc!151
2025-02-08 07:07:59 +00:00
UnknownShadow200
b7ac22ec34 Fix lighting using some values calculated for last vertex, instead of the current vertex 2025-02-08 12:23:43 +11:00
T_chan
72f11428d3 platform.h: support Naomi again 2025-02-05 20:29:21 +00:00
Troy Davis
9d2c1fb3e8 Merge branch GLdc:master into glCompressedTexSubImage2D-recreated 2025-02-05 18:00:14 +00:00
GPF
41e30028df fixed gluPerspective to use GLdouble instead of GLfloat for m4-single compilation. 2025-02-05 10:42:05 -07:00
GPF
af460af119 Recreated glCompressedTexSubImage2D implementation 2025-02-04 14:27:18 -07:00
UnknownShadow200
5b5e6d3ee6 Fix alloc_count_continuous calculation 2025-02-03 06:53:16 +11:00
Luke Benstead
acee4b5c37 Merge branch 'quicker_transform' into 'master'
Quicker vertex transform in non-fast path

See merge request simulant/GLdc!144
2025-02-02 08:34:36 +00:00
Luke Benstead
9100660c78 Merge branch 'attribute_speedup' into 'master'
Move attribute parsing into separate file and avoid recomputing parse/read functions unless necessary

See merge request simulant/GLdc!143
2025-02-02 08:32:06 +00:00
UnknownShadow200
a566bba082 Call TransformVertex directly instead of using TransformVertices 2025-02-02 15:58:19 +11:00