Luke Benstead
d9fa69c288
Fix invalid memory access bug
2018-09-06 19:46:04 +01:00
Luke Benstead
b4539443f5
Allow toggling debug logging
2018-09-06 19:45:52 +01:00
Luke Benstead
af54c96ff4
Implement new culling algorithm, still some issues when GL_CULL_FACE is enabled
2018-09-06 19:19:00 +01:00
Luke Benstead
517d21b487
Begin implementing a new clipping algorithm
2018-09-03 21:48:42 +01:00
Luke Benstead
8b3bf5a579
Fix lighting wrapping
2018-08-27 21:35:07 +01:00
Luke Benstead
b29303fb6c
Implement glColorMaterial
2018-08-22 09:24:49 +01:00
Luke Benstead
21f8f9d855
Properly restore state after glEnd
2018-08-21 16:15:43 +01:00
Luke Benstead
9b0322ce8a
Properly restore enabled client state when using immediate mode
2018-08-21 16:08:06 +01:00
Luke Benstead
edae8a9166
Properly pop active client texture in immediate mode
2018-08-21 15:50:59 +01:00
Luke Benstead
25de48b3f6
Fix a bug where only one texture would bind
2018-08-21 15:50:41 +01:00
Luke Benstead
8b834ac3f1
Avoid an additional copy of every vertex. Fixes #22
2018-08-21 09:37:19 +01:00
Luke Benstead
bccd1aa788
Start refactoring the submission process
2018-08-20 21:19:12 +01:00
Luke Benstead
80c65d4aff
Remove conditional header sending, it's slightly slower
2018-08-20 20:34:11 +01:00
Luke Benstead
da97483eee
Switch to using 4-byte colours internally rather than floats
...
These are stored in BGRA format so they can be directly cast to a uint32_t to get the
correct format for the argb param in pvr_vertex_t (yay endianess)
This results in a performance improvement as it reduces the data requirements.
2018-08-20 09:28:30 +01:00
Luke Benstead
25e4518501
Performance optimisations
2018-08-19 21:10:42 +01:00
Luke Benstead
348e09b4aa
Further optimisations
2018-08-17 21:40:27 +01:00
Luke Benstead
ba66608a96
Add a basic profiler and optimise some code
2018-08-16 17:51:15 +01:00
Luke Benstead
021237f258
Fix a number of issues with texture loading
2018-08-14 09:49:31 +01:00
Luke Benstead
6942e597f4
Untested multitexture implementation
2018-08-04 21:00:26 +01:00
Luke Benstead
0bf023b8df
Fix a bug where headers weren't sent to a list
2018-08-02 19:56:50 +01:00
Luke Benstead
9371a8164f
Don't send headers unnecessarily
2018-08-01 20:41:59 +01:00
Luke Benstead
39ac10af00
Simplify colour handling
2018-08-01 12:00:56 +01:00
Luke Benstead
bebca59796
Allow toggling z clipping
2018-08-01 11:32:07 +01:00
Luke Benstead
31e666c77a
Implement support for GL_UNSIGNED_INT indices
2018-08-01 11:08:51 +01:00
Luke Benstead
47d3c0f478
Minor optimisations
2018-08-01 09:57:44 +01:00
Luke Benstead
cdef5972f5
Fix bug when clipping triangle strips
2018-07-15 19:48:56 +01:00
Luke Benstead
81b52e7a18
Finish initial pass at a zclipping implementation
2018-07-14 21:54:43 +01:00
Luke Benstead
5387734e6c
Implement z clipping for the single-vertex case
2018-07-10 19:48:25 +01:00
Luke Benstead
e90b5e424a
Fix up triangle strip rendering
2018-07-09 19:00:50 +01:00
Luke Benstead
ae335eeff1
Large refactor of vertex submission
...
This should be much faster as matrix loading is now minimized. Also splits transform from perspective divisionn
to lay the groundwork for near-z clipping. This also fixes GL_POLYGON submission.
Lighting can be made faster, this doesn't change the lighting algorithm, but the matrix changes should speed things up.
2018-07-09 08:57:01 +01:00
Luke Benstead
a8d5d2f506
Add NeHe lesson 3, and a Vertex Array version of lesson 2
2018-05-29 17:02:57 +01:00
Luke Benstead
b6b1591010
Add the first nehe sample and make it work
2018-05-29 13:12:38 +01:00
Luke Benstead
396ea82856
Drop all of the old libGL files
2018-05-20 16:16:53 +01:00
Luke Benstead
23e564269b
Fix lighting bugs
2018-05-19 09:17:24 +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
ab11a02056
Diffuse should be ignored if lighting is enabled
2018-05-13 09:00:38 +01:00
Luke Benstead
97f4e020ad
Rename experimental and update the Makefile
2018-05-12 21:06:22 +01:00