Commit Graph

17 Commits

Author SHA1 Message Date
5397cdd9b9 Better assert(), move some Win32 functions to DQN
Asserts are now more defensive and diagnostic. Initially asserts provide a hard
break in the program, and the intention is to disable asserts for release.
Having experienced bugs in release mode due to optimisations with asserts off
there's little protection against errors that occur in release mode since all
asserts are off.

Now asserts can be used in release mode whilst still evaluating the expression,
and allowing user messages/diagnostics to console.
2017-06-20 02:13:03 +10:00
e860145e77 Lock pixels for multithread more granularly level 2017-06-19 18:22:02 +10:00
e660281211 Fix multithread bug causing invalid ptr references
Mesh rendering was not waiting until all jobs were complete before moving on
causing longer jobs to use old pointer references once the next frame started
rendering.
2017-06-19 14:14:13 +10:00
630522f8a3 Start multithreading mesh render 2017-06-18 23:07:49 +10:00
079e19b58b Make threading work queue platform abstracted 2017-06-18 20:25:57 +10:00
58061786ff Cleanup and better parameterise mesh function args 2017-06-09 15:55:58 +10:00
285d3d2681 Add gouraud shading, can choose lighting options 2017-06-08 21:46:03 +10:00
47d606e297 Make tri rasterisation into SIMD/non-SIMD paths 2017-05-31 16:40:13 +10:00
49270a2826 Accelerate textured triangle rendering using SIMD 2017-05-30 17:41:05 +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
d42d6ef5bf Prepare triangle rendering for zbuffer support 2017-05-23 22:42:54 +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
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
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