Commit Graph

612 Commits

Author SHA1 Message Date
Falco Girgis
7f2fb41122 Changed fabs() to fabfs() within glClipEdge(). 2025-07-15 10:01:47 +00: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
UnknownShadow200
3b2e549934 Optimise vertex transform in non-fast path to avoid storing xyz to memory and then loading it again 2025-02-02 14:36:40 +11:00
UnknownShadow200
9d717800bd Reorganise attribute parsing functions 2025-02-02 13:51:30 +11:00
Luke Benstead
ea4073fbdc Merge branch 'error_coldpath' into 'master'
Move error handling code into the cold path

See merge request simulant/GLdc!142
2025-02-01 11:10:52 +00:00
UnknownShadow200
e2c3ff0ed6 Fix not building for desktop 2025-02-01 20:12:23 +11:00
UnknownShadow200
e2fc2da055 Move error handling code into the cold path 2025-02-01 19:58:22 +11:00
UnknownShadow200
5318f11f11 Defer recomputing attributes state when possible 2025-02-01 18:17:28 +11:00
UnknownShadow200
3550c89501 Make non-textured non-fast drawing a little bit faster 2025-02-01 17:04:42 +11:00
UnknownShadow200
a35659ce3d Fix enable/disable attribute calls not updating read functions 2025-02-01 16:05:07 +11:00
UnknownShadow200
bdecf90d64 Calculate read attribute functions when attribute states changes, instead of at every draw call 2025-02-01 15:38:59 +11:00
UnknownShadow200
3b4b1b6975 Fix compile error 2025-02-01 14:00:49 +11:00
UnknownShadow200
71d0094ac4 Prefer relying on built in codegen rather than relying on sh4_math.h 2025-02-01 13:06:37 +11:00