Commit Graph

142 Commits

Author SHA1 Message Date
Luke Benstead
1c6bb24b86
Create LICENSE 2018-05-20 19:51:36 +01:00
Luke Benstead
f3339e1868 Implement gen/delete/bind framebuffers 2018-05-20 16:44:16 +01:00
Luke Benstead
8a4e53a9c7 Fix fog enable/disable 2018-05-20 16:37:45 +01:00
Luke Benstead
0021a1ca87
Update README.md 2018-05-20 16:25:37 +01:00
Luke Benstead
dd75ae3caf
Merge pull request #7 from Kazade/experimental
Complete rewrite of libGL, now called GLdc
2018-05-20 16:24:31 +01:00
Luke Benstead
396ea82856 Drop all of the old libGL files 2018-05-20 16:16:53 +01:00
Luke Benstead
1421736733 Remove another old file 2018-05-19 13:43:22 +01:00
Luke Benstead
23e564269b Fix lighting bugs 2018-05-19 09:17:24 +01:00
Luke Benstead
cd71de76ee Add a readme 2018-05-16 21:50:05 +01:00
Luke Benstead
9e54126de7 Remove some old code 2018-05-16 21:43:56 +01:00
Luke Benstead
278ba01538 Fix up the makefile 2018-05-16 21:41:12 +01:00
Luke Benstead
2d9c439490 Implement normal matrix calculation 2018-05-16 21:30:11 +01:00
Luke Benstead
f9cdefcd81 Replace the entire matrix stack handling to work towards fixing lighting 2018-05-16 21:00:41 +01:00
Luke Benstead
4218111ab8 Make things C89 friendly 2018-05-14 17:10:53 +01:00
Luke Benstead
de1fb05ac1 Fix bugs in immediate mode 2018-05-14 16:58:58 +01:00
Luke Benstead
4106206562 Implement glMaterialfv 2018-05-13 19:48:55 +01:00
Luke Benstead
2cef0cb25e Implement glLightf 2018-05-13 09:34:44 +01:00
Luke Benstead
ab11a02056 Diffuse should be ignored if lighting is enabled 2018-05-13 09:00:38 +01:00
Luke Benstead
c76338b16f Add glNormalX, remove more dead code 2018-05-12 21:20:26 +01:00
Luke Benstead
97f4e020ad Rename experimental and update the Makefile 2018-05-12 21:06:22 +01:00
Luke Benstead
a09e05b01a More lighting work 2018-05-12 21:01:51 +01:00
Luke Benstead
4b8991e45f More immediate mode 2018-05-12 14:54:06 +01:00
Luke Benstead
146be442f4 Start reimplementing immediate mode and removing dead code 2018-05-12 14:39:20 +01:00
Luke Benstead
e96d379796 Stub out lighting functionality 2018-05-12 14:05:54 +01:00
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