Commit Graph

961 Commits

Author SHA1 Message Date
bruceleeto
dccc26d532 Fix compiler ICE with double-to-float macro conversion 2025-05-24 05:32:04 +01:00
Luke Benstead
0057076958 Merge branch 'twiddle_optim' into 'master'
Optimise twiddle index calculation

See merge request simulant/GLdc!159
2025-04-12 05:59:35 +00:00
UnknownShadow200
b4f2a80a0b Optimise twiddle index calculation 2025-04-12 10:46:09 +10:00
Luke Benstead
dfeb32c609 Merge branch 'misc_fixes' into 'master'
Some small fixes

See merge request simulant/GLdc!158
2025-03-31 10:53:41 +00: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
Luke Benstead
8d6435d9dc Merge branch 'full_naomi_compat' into 'master'
Change all ifdefs to support both DC & Naomi

See merge request simulant/GLdc!154
2025-03-01 19:27:12 +00:00
T_chan
ca8ebf7fc0 Change all ifdefs to support both DC & Naomi 2025-02-22 14:42:00 +01: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
Luke Benstead
5af0d5831d Merge branch 'fix_glRotatef' into 'master'
Call fsincos with angle degrees instead of passing in radians

See merge request simulant/GLdc!153
2025-02-22 08:20:21 +00:00
David Reichelt
32e3f4374e Call fsincos with angle degrees instead of passing in radians 2025-02-22 08:20:21 +00: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
5466dc227f Tenth time is a charm! 2025-02-18 22:09:48 -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
d2eb58d7e8 Moved DC include into #ifdef to fix x86 build. 2025-02-18 22:00:46 -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
Luke Benstead
388df1d1d5 Merge branch 'cherry-pick-52011fe9' into 'master'
Add support for glGetIntegerv(GL_MATRIX_MODE, ...)

See merge request simulant/GLdc!152
2025-02-09 19:21:53 +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
David Reichelt
810d0fdc19 Merge branch GLdc:master into master 2025-02-09 19:00:07 +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
Luke Benstead
84281ca329 Merge branch 'depthsample_fix' into 'master'
Depthsample fix

See merge request simulant/GLdc!148
2025-02-05 17:47:57 +00:00
Luke Benstead
d3b8b89d47 Merge branch 'gluPerspective' into 'master'
fixed gluPerspective to use GLdouble instead of GLfloat for m4-single compilation.

See merge request simulant/GLdc!149
2025-02-05 17:47:29 +00:00
GPF
41e30028df fixed gluPerspective to use GLdouble instead of GLfloat for m4-single compilation. 2025-02-05 10:42:05 -07:00
UnknownShadow200
62cb72091d Fix wrong glEnable call 2025-02-05 21:47:35 +11:00
UnknownShadow200
455ad29e4c At least the provided .dtex files load now 2025-02-05 21:42:50 +11:00
UnknownShadow200
72baba7a5e Refactor dtex parser again 2025-02-05 21:36:28 +11:00
UnknownShadow200
4255767f9f Refactor dtex parser 2025-02-05 20:34:04 +11:00
GPF
af460af119 Recreated glCompressedTexSubImage2D implementation 2025-02-04 14:27:18 -07:00
Luke Benstead
a34f18965d Merge branch 'alloc_fix' into 'master'
Fix alloc_count_continuous calculation

See merge request simulant/GLdc!145
2025-02-02 23:00:08 +00: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
Luke Benstead
8a572f5a51 Merge branch 'builtin_math' into 'master'
Prefer relying on built in codegen rather than relying on sh4_math.h

See merge request simulant/GLdc!141
2025-02-01 11:09:59 +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