Commit Graph

595 Commits

Author SHA1 Message Date
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
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
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
Falco Girgis
dc0c8148cb API FP ABI conformity fixes. 2025-01-27 00:53:23 -06:00
Falco Girgis
9653bf8c12 Got rid of a memset4() call from KOS. 2025-01-23 21:27:34 -06:00
Luke Benstead
b4c2dd0a5e Merge branch 'micro_opts' into 'master'
Few micro optimisations

See merge request simulant/GLdc!133
2024-12-22 22:31:47 +00:00
Luke Benstead
aa383913cd Merge branch 'nonPOT2glTexSubImage2D' into 'master'
update for glTexSubImage2D, now checks the active texture size and not the...

See merge request simulant/GLdc!136
2024-12-07 23:27:52 +00:00
GPF
f7830df480 removed the commented out debug printing 2024-12-07 16:24:05 -07:00
Luke Benstead
55a912b621 Fix continuous free count 2024-12-07 19:54:16 +00:00
Luke Benstead
c4786a62e6 Fix bug in allocations (thanks @skmp) 2024-12-07 19:35:40 +00:00
GPF
553f6016f3 Only initialize the texture buffer with zeros if it's a partial update 2024-10-15 12:11:17 -07:00
GPF
b44dddbaff removed some unneeded code 2024-10-15 12:04:17 -07:00
GPF
4adf11543b fixed the case where xoffset and yoffset !=0 in glTexSubImage2D 2024-10-15 11:25:56 -07:00
GPF
a11847e513 update for glTexSubImage2D, now checks the active texture size and not the subimage size to draw the glTexSubImage2D pixelas into drawing with the xoffset and yoffset into the existing POT2 texture, so subimage size doesn't need to be a POT2. 2024-10-14 13:26:17 -07:00
GPF
72136bb7f5 quick implementation of glTexSubImage2D/_glTexSubImage2DValidate, update to nehe06 example to show usage of glTexSubImage2D, and a compile issue to primitive_modes fixed. 2024-10-13 12:58:09 -07:00
Falco Girgis
6407353121 Removed opb_count hack for older KOS versions 2024-10-09 22:20:32 -05:00
UnknownShadow200
490bf3de6d Unify and slightly simplify specialised matrix multiply functions 2024-10-07 18:06:42 +11:00
UnknownShadow200
91b59ceca8 glXYZPointer methods now avoid recomputing state when only the data pointer changes
It is relatively common to call glXYZPointer multiple times with a different pointer but the same type/size
2024-10-07 18:06:03 +11:00
Luke Benstead
31676d9dc8 Merge branch 'sq_fix' into 'master'
Use direct render APIs instead of manually locking/unlocking store queues

See merge request simulant/GLdc!129
2024-10-04 14:29:12 +00:00
Luke Benstead
98577ebb31 Merge branch 'twid_speedup' into 'master'
Only check whether twiddle table needs updating once instead of every pixel

See merge request simulant/GLdc!130
2024-10-04 14:28:16 +00:00