Luke Benstead
62e001c288
Reimplement or refactor Texturing, State, and Drawing
...
Things working:
- glDrawArrays / glDrawElements et al.
- Texturing
- Blending
Things missing:
- Lighting
- Multitexturing
- Near Z-clipping
- Framebuffer extension
- Immediate mode
2018-05-11 15:39:28 +01:00
Luke Benstead
1356ae352c
Begin experimental new renderig code
2018-05-05 20:38:55 +01:00
Luke Benstead
493c078b19
Replace the texture linked list with a new NamedArray container type
2018-05-02 09:31:24 +01:00
Luke Benstead
42d2a1e091
Refactor glTexImage2D and associated enums
...
- Enums now respect GLs defined ranges
- Short formats are now correctly supported
- Duplicated (and incorrect) enums removed
- New conversions supported
- Fixes a number of bugs
2018-05-01 09:07:09 +01:00
Luke Benstead
4653957c85
Make things compile under c99
2018-04-29 08:32:06 +01:00
Luke Benstead
2bff44ce6a
Don't reset the client state when flushing arrays
2018-01-27 14:02:08 +00:00
Luke Benstead
bd80c9ae7f
Add build and link targets to the makefile
2018-01-18 19:52:54 +00:00
Luke Benstead
3f364c6a12
Disable auto sorting features of PVR
2017-09-15 19:14:21 +01:00
Luke Benstead
100e6980a5
Move to a dynamically resizing vertex buffer
2017-09-15 13:11:10 +01:00
Luke Benstead
95b71c8291
Small cleanup
2017-09-15 10:21:17 +01:00
Luke Benstead
e616b0fb90
Remove the option for statically allocated buffers
2017-09-15 10:19:34 +01:00
Luke Benstead
ed05c5feb8
Make things a little more explicit in the depth write toggling
2017-09-14 19:43:33 +01:00
Luke Benstead
63aa2ec47c
Check that textures are a power of two early rather than dying in PVR code
2017-07-23 21:11:29 +01:00
Luke Benstead
4bf579f7bc
Replace custom glKosLightAmbientX functions with glLightModelfv
2017-07-23 18:58:57 +01:00
Luke Benstead
08417324eb
Fix logging of glDrawElements errors
2017-07-22 21:19:10 +01:00
Luke Benstead
79b8e9af3c
Simplify gl-error.c
2017-07-22 21:12:26 +01:00
Luke Benstead
6a4a6a157b
Initialize KOS_GL_ERROR_CODE to zero
2017-07-22 17:40:53 +01:00
Luke Benstead
8a77a34a79
GL spec says that drawing without calling glEnableClientState(GL_VERTEX_ARRAY) is a no-op, not an error
2017-06-01 13:42:51 +01:00
Luke Benstead
c3a9877fdb
Fix backface culling
2017-06-01 09:39:53 +01:00
Luke Benstead
824b7a64ab
Fix a number of bugs with texture bindings
2017-06-01 09:32:28 +01:00
Luke Benstead
3a1f7d24d8
GLushort is required to store GL_CCW or GL_CW
2017-05-31 19:35:15 +01:00
Luke Benstead
1a80a70614
Implement gl(Enable|Disable)ClientState
2017-05-31 19:32:46 +01:00
Luke Benstead
f36fc72334
Default to CCW front faces
2017-05-31 19:22:38 +01:00
Luke Benstead
cdaee856cc
Fix up normal stride
2017-05-31 14:34:43 +01:00
Luke Benstead
6829dcada4
Only enable multitexturing if a texture is bound to unit 1
2017-05-31 13:34:30 +01:00
Luke Benstead
1307f43bc5
Fix texture coordinate stride
2017-05-31 12:36:01 +01:00
Luke Benstead
5fef5546ee
Take into account vertex stride when transforming positions
2017-05-31 11:17:55 +01:00
Luke Benstead
6aacdcf573
Fix start offset of glDrawArrays for colours and vertices
2017-05-31 11:12:34 +01:00
Luke Benstead
a51cedad79
Fix vertex stride
2017-05-31 11:07:28 +01:00
Luke Benstead
46b927fa8a
Fix glColorPointer pointer arithmetic by using bytes consistently and properly calculating stride
2017-05-31 10:59:32 +01:00
Lawrence Sebald
a1185f3369
glIsEnabled(GL_CULL_FACE) should return the status of culling, not fog.
2017-05-23 09:11:52 -04:00
jlf65
c960b24f07
Handle change in texture parameters in glCompressedTexImage2D
2016-08-02 15:07:27 -06:00
jlf65
b897a2abad
Handle change in texture parameters in glTexImage2D
2016-08-02 14:42:09 -06:00
Lawrence Sebald
30f408caa3
Fix a store-queue related issue in the primitive submission code.
...
The primitive list submission code in libgl never sets the QACR0 or QACR1
registers when it uses the store queues. Thus, if any other code accesses the
store queues, rendering may well grind to a halt.
This fixes the issue by setting QACR0 and QACR1 each frame.
Note: This solution is still not thread-safe. Of course, many GL implementations
are not thread-safe at all...
2016-07-02 23:37:04 -04:00
Lawrence Sebald
0fa6e42b55
Remove +x permissions bits...
2016-01-03 22:24:52 -05:00
Lawrence Sebald
9fc75b6772
Add glGetError() and gluErrorString().
2016-01-03 22:23:32 -05:00
Josh Pearson
dd765f80d6
Foramt cleanup on gl-rgb.c
2015-09-09 11:45:09 -07:00
Josh Pearson
3df4244bc2
Formatting cleanup, and cleanup on gl-fog.c
2015-09-09 11:25:51 -07:00
Lawrence Sebald
46ed1d5353
Don't allocate texture conversion space on the stack, as it is likely to overflow the stack and corrupt heap memory.
2015-09-09 10:39:22 -04:00
Josh Pearson
5fce3e1897
Added Texture Format Conversion to glTexImage2D, Added GL_TEXTURE Matrix Transformations when glEnable(GL_KOS_TEXTURE_MATRIX), various bug fixes, few more API functions added
2015-09-06 09:47:57 -07:00
Lawrence Sebald
25ba67b9b1
Fix compilation inside the new kos-ports tree.
2015-05-08 22:35:16 -04:00
Josh Pearson
763ec99483
Added multi-texture support and glCompressedTexImage2D to the GL API
2015-01-04 15:07:57 -08:00
Josh Pearson
4af2c8aacc
Added support for 2D vertices using glDrawArrays. Fixed a small bug in matrix transform stack.
2014-12-20 16:49:56 -08:00
Josh Pearson
8b276ca731
Fixed const pointer function definitions
2014-12-19 19:07:11 -08:00
Josh Pearson
2b37d7ba61
Fixed change that removed allignment on L vector on gl-light.c
2014-12-13 15:50:47 -08:00
Josh Pearson
704a46e8dc
Fixed stride on glDrawArrays, clean up on lighting code, added glRect function
2014-12-13 15:17:57 -08:00
Lawrence Sebald
8c34258eb4
Make sure output parameters to _glKosSpotlight() are aligned to an 8-byte boundary.
2014-10-25 19:41:00 -04:00
Josh Pearson
97dc25918a
First major update to the API 9-28-14
2014-09-28 19:40:41 -07:00
U-PH3NOM-PC\PH3NOM
b6e9ff70b5
Fixed bugs reported as of 9-06-2014
2014-09-07 15:41:26 -07:00
Lawrence Sebald
092a04cccf
Ignore the noise... Just testing something.
2014-08-30 13:33:02 -04:00