Commit Graph

45 Commits

Author SHA1 Message Date
Luke Benstead
026bdeff09 Fix infuriating memory corruption bug 2023-05-20 07:47:39 +01:00
Luke Benstead
bd47f333d6 Add more assertions 2023-05-20 07:43:57 +01:00
Luke Benstead
e57b503355 Fix memory errors 2023-05-18 16:44:11 +01:00
Luke Benstead
9cffe14ad6 Clean up aligned vector 2023-05-12 20:51:36 +01:00
Luke Benstead
cba2fb7ceb Fix a memory corruption issue 2023-05-11 15:22:46 +01:00
Luke Benstead
e54494e995 More clipping work 2023-04-20 20:45:59 +01:00
Luke Benstead
c195d471e1 Faster memcpy 2023-03-06 14:05:14 +00:00
Luke Benstead
be4c1bc14c Add missing header 2023-03-06 13:54:31 +00:00
Luke Benstead
a9f3e3a744 Fix alignments 2023-03-06 13:44:17 +00:00
Luke Benstead
6184208598 Don't include platform.h from aligned_vector.h 2021-09-18 17:40:10 +01:00
Luke Benstead
dd16530a1f Fix an assertion in debug, and building on PC 2021-09-18 14:36:47 +01:00
Luke Benstead
66d09e7d77 Error cleanup and immediate mode perf improvements 2021-09-13 10:29:04 +01:00
Luke Benstead
4adc49cd40 Optimisations 2021-09-12 15:04:52 +01:00
Luke Benstead
28c14fdb0e Add fast path for glDrawElements 2021-04-22 17:48:15 +01:00
Luke Benstead
5a9b7bb37e Force inline aligned vector functions 2021-04-20 16:49:00 +01:00
Luke Benstead
ea25251944 Optimisations 2021-04-20 16:08:58 +01:00
Luke Benstead
b6a5ac6ce6 Optimisation in aligned_vector_extend 2021-04-19 21:29:19 +01:00
Luke Benstead
fe616028bb X86 2021-04-09 15:24:47 +00:00
Luke Benstead
71c25829f1 Remove reference to private.h 2020-03-18 20:33:04 +00:00
Hayden Kowalchuk
19374bc1a4 chore: change containers
- move some math to integer
- inline some smaller functions
- whitespace fixes
2020-03-05 14:44:09 -05:00
Luke Benstead
937ad56c26 Fix out of bounds read 2020-02-29 09:48:52 +00:00
Luke Benstead
093b1af056 Add some assertions to aligned_vector 2019-03-28 13:08:23 +00:00
Luke Benstead
26c943c548 Optimize memory allocations 2019-03-13 07:28:23 +00:00
Luke Benstead
3e1ed8a5f7 Don't reserve more space than we need 2019-03-06 08:31:06 +00:00
Luke Benstead
d89997a277 Simplify the element drawing 2019-03-04 20:41:33 +00:00
Luke Benstead
b0c9ac7207 Remove zero special casing from named array 2019-02-28 18:33:37 +00:00
Luke Benstead
3345e17e3c Fix marker indexing 2019-02-28 08:34:32 +00:00
Luke Benstead
11b26c78d5 Fix an off-by-one error 2019-02-28 06:37:18 +00:00
Luke Benstead
111d4ca83e Handle calling glBindTexture on an unknown name 2019-02-27 20:45:53 +00:00
Luke Benstead
b9f8fe4a4d Clean up the memalign switching a bit 2018-10-18 09:54:34 +01:00
Hayden Kowalchuk
0718ab0697 Fix compilation windows targets 2018-10-16 01:00:34 -04:00
Luke Benstead
0d69740231 Fix a subtle bug in NamedArray (thanks @Chilly Willy!) 2018-08-21 15:50:27 +01:00
Luke Benstead
8b834ac3f1 Avoid an additional copy of every vertex. Fixes #22 2018-08-21 09:37:19 +01:00
Luke Benstead
ba66608a96 Add a basic profiler and optimise some code 2018-08-16 17:51:15 +01:00
Luke Benstead
2067115385 Handle multiple triangle strips with single-vertices behind the plane 2018-07-10 20:27:15 +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
f9809ec2b7 Make the containers C++ compatible 2018-05-28 08:52:44 +01:00
Luke Benstead
fef6387120 Move the initial capacity definition to the header file 2018-05-28 07:16:50 +01:00
Luke Benstead
c363a37e30 Fix the containers to compile on C89 and C99 2018-05-26 19:17:42 +01:00
Luke Benstead
2f014f55b6 Fix compiling on OSX 2018-05-25 21:08:39 +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
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