Commit Graph

39 Commits

Author SHA1 Message Date
47d606e297 Make tri rasterisation into SIMD/non-SIMD paths 2017-05-31 16:40:13 +10:00
bb5fc03bda SetPixel accelerated with SIMD 2017-05-30 18:46:04 +10:00
c1a5b41442 Process color with SIMD for textured triangle 2017-05-30 18:07:01 +10:00
49270a2826 Accelerate textured triangle rendering using SIMD 2017-05-30 17:41:05 +10:00
4d2a7a7c06 Improve allocation compactness and add DTRMesh 2017-05-26 22:25:09 +10:00
254d80749b Draft impl. of malloc to memstack for obj loading 2017-05-26 18:33:13 +10:00
96ac39724d Add asset array memory api stubs 2017-05-26 13:31:01 +10:00
f89b3ff706 STBImage now allocates from our memory 2017-05-26 02:39:16 +10:00
3874526a79 Reorganise asset files 2017-05-26 01:12:39 +10:00
4eb54c09b1 Fix zbuffer bug clipping at poly's behind 0, 0
Mistakenly use FLT_MIN as the largest negative number possible, where we should
be using -FLT_MAX.
2017-05-25 22:22:47 +10:00
a03de5de80 Start zbuffering pass of pixels for triangles 2017-05-24 00:04:18 +10:00
d42d6ef5bf Prepare triangle rendering for zbuffer support 2017-05-23 22:42:54 +10:00
e922efb897 Add temp fix for model gaps in tri rasterisation 2017-05-23 18:23:31 +10:00
237e73253a Fix incorrect indexing into vertex array for model
Wavefront model obj format indexes starting from 1, offset during load by -1 to
make all indexes be 0 based.
2017-05-22 20:54:34 +10:00
2c745d3571 Rename membuffer to memstack 2017-05-22 18:34:10 +10:00
8ce4221ad2 Minimal viable wavefront object parser completed 2017-05-22 15:54:44 +10:00
ce539d4903 Start parser for Wavefront 3D Object file format 2017-05-20 22:56:57 +10:00
a25b50c501 Fix color modulation alpha bug
Phasing color modulation over time would make bitmaps become transparent and
show layers underneath even if alpha was set to 1. This was caused by the
precomputed 1/255 calculation #defined in DTRRender which was missing the
precision required so floating point errors began to accumulate causing
erroneous colours.
2017-05-19 20:45:18 +10:00
b6daf43f33 Add profiling support using easy_profiler 2017-05-19 17:10:04 +10:00
1d0e9b8a07 All render paths go through srgb->linear pipeline 2017-05-19 02:21:44 +10:00
f040c377e9 Add gamma correction with SRGB<->Linear converting 2017-05-18 21:33:39 +10:00
e2ac14ffb7 Add bilinear filtering for bitmaps 2017-05-17 19:34:26 +10:00
ceb37ec4b0 Add proper bitmap rotation and 1:1 texture mapping 2017-05-17 16:18:03 +10:00
ce69de7aeb Add mem diagnostics, prepare for bitmap rotation 2017-05-17 02:49:33 +10:00
13860e4089 Organise functions to files 2017-05-16 22:53:28 +10:00
75f23b6d66 Add proper rectangle rotation 2017-05-16 18:51:57 +10:00
3ec64da44c Fix rotation on triangles 2017-05-16 17:36:51 +10:00
51342122b9 Add some support for rotation and scale 2017-05-16 02:15:28 +10:00
d384a303d3 Draw bitmaps clip are clipped to screen space 2017-05-14 19:18:41 +10:00
2bb16ebe68 Add minor debug display 2017-05-14 17:49:33 +10:00
872ee9efa4 Add alpha blending and alpha for primitives 2017-05-12 18:20:59 +10:00
afcd158d7d Add documentation for barycentric coordinates 2017-05-12 14:45:13 +10:00
0738326384 Add font rendering 2017-05-12 13:07:07 +10:00
85ac211824 Add platform api to access from dll 2017-05-11 22:51:39 +10:00
bdb4b89bbf Improve triangle rasteriser 2017-05-11 17:28:27 +10:00
d9ce1e1079 Add line rendering 2017-05-10 18:48:27 +10:00
0d5f4c6223 Remove timings file 2017-05-08 23:00:33 +10:00
e6d198b232 Add dll reloading 2017-05-08 22:59:44 +10:00
7f62ce23d0 Initial commit 2017-05-03 02:04:12 +10:00