Doyle Thai
e7ebe1e243
Update dqn lib
2017-06-24 15:33:18 +10:00
Doyle Thai
54c6abd9d7
Update dqn with CPP api for memstacks
2017-06-23 19:03:36 +10:00
Doyle Thai
26e6892d64
Fix some dqn platform compile problems
2017-06-20 22:22:39 +10:00
Doyle Thai
08b2832436
Fix minor bugs in dqn
2017-06-20 19:36:58 +10:00
Doyle Thai
e1545c7977
Update DQN with work queue and minor changes
2017-06-20 18:37:35 +10:00
Doyle Thai
eeb773747a
Improve assert with variadic macro for user msg
2017-06-20 15:31:44 +10:00
Doyle Thai
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
Doyle Thai
e860145e77
Lock pixels for multithread more granularly level
2017-06-19 18:22:02 +10:00
Doyle Thai
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
Doyle Thai
630522f8a3
Start multithreading mesh render
2017-06-18 23:07:49 +10:00
Doyle Thai
079e19b58b
Make threading work queue platform abstracted
2017-06-18 20:25:57 +10:00
Doyle Thai
5a6564fa94
Start creating multithreading work queue
2017-06-17 22:25:29 +10:00
Doyle Thai
64fb913239
Add auto scoped memory regions
2017-06-17 17:57:06 +10:00
Doyle Thai
35bdbb65de
Platform ability to query system (logical) cores
2017-06-17 16:20:35 +10:00
Doyle Thai
92953e9d7c
Add documentation
2017-06-09 18:24:37 +10:00
Doyle Thai
58061786ff
Cleanup and better parameterise mesh function args
2017-06-09 15:55:58 +10:00
Doyle Thai
d9f50d4581
Fix gaps on rendered mesh during rotation
...
Gaps caused by mistakenly calculating the transformation matrix per face loaded
in causing the matrix to continually update rotation prematurely.
2017-06-08 22:38:29 +10:00
Doyle Thai
285d3d2681
Add gouraud shading, can choose lighting options
2017-06-08 21:46:03 +10:00
Doyle Thai
ee31383906
Start moving model around in 3d space
2017-06-08 01:18:55 +10:00
Doyle Thai
4c5f8d43a0
Merge textured/non-textured tri rendering to one
2017-06-02 18:23:15 +10:00
Doyle Thai
e4913e5242
Merge triangle to textured triangle path
2017-06-02 14:12:50 +10:00
Doyle Thai
68616f3a8b
Reorganise non/SIMD triangle rendering code
2017-06-02 02:45:37 +10:00
Doyle Thai
1c1ee6b5e3
Add better debug cycle diagnostics API
2017-06-01 21:07:44 +10:00
Doyle Thai
9b4072f5bc
Start separating inline SIMD to own functions
2017-06-01 18:52:50 +10:00
Doyle Thai
6bcdb6d1fb
Reorganise SIMD paths to reuse abit more code
2017-05-31 20:57:11 +10:00
Doyle Thai
47d606e297
Make tri rasterisation into SIMD/non-SIMD paths
2017-05-31 16:40:13 +10:00
Doyle Thai
bb5fc03bda
SetPixel accelerated with SIMD
2017-05-30 18:46:04 +10:00
Doyle Thai
c1a5b41442
Process color with SIMD for textured triangle
2017-05-30 18:07:01 +10:00
Doyle Thai
49270a2826
Accelerate textured triangle rendering using SIMD
2017-05-30 17:41:05 +10:00
Doyle Thai
4d2a7a7c06
Improve allocation compactness and add DTRMesh
2017-05-26 22:25:09 +10:00
Doyle Thai
254d80749b
Draft impl. of malloc to memstack for obj loading
2017-05-26 18:33:13 +10:00
Doyle Thai
96ac39724d
Add asset array memory api stubs
2017-05-26 13:31:01 +10:00
Doyle Thai
f89b3ff706
STBImage now allocates from our memory
2017-05-26 02:39:16 +10:00
Doyle Thai
3874526a79
Reorganise asset files
2017-05-26 01:12:39 +10:00
Doyle Thai
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
Doyle Thai
a03de5de80
Start zbuffering pass of pixels for triangles
2017-05-24 00:04:18 +10:00
Doyle Thai
d42d6ef5bf
Prepare triangle rendering for zbuffer support
2017-05-23 22:42:54 +10:00
Doyle Thai
e922efb897
Add temp fix for model gaps in tri rasterisation
2017-05-23 18:23:31 +10:00
Doyle Thai
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
Doyle Thai
2c745d3571
Rename membuffer to memstack
2017-05-22 18:34:10 +10:00
Doyle Thai
8ce4221ad2
Minimal viable wavefront object parser completed
2017-05-22 15:54:44 +10:00
Doyle Thai
ce539d4903
Start parser for Wavefront 3D Object file format
2017-05-20 22:56:57 +10:00
Doyle Thai
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
Doyle Thai
b6daf43f33
Add profiling support using easy_profiler
2017-05-19 17:10:04 +10:00
Doyle Thai
1d0e9b8a07
All render paths go through srgb->linear pipeline
2017-05-19 02:21:44 +10:00
Doyle Thai
f040c377e9
Add gamma correction with SRGB<->Linear converting
2017-05-18 21:33:39 +10:00
Doyle Thai
e2ac14ffb7
Add bilinear filtering for bitmaps
2017-05-17 19:34:26 +10:00
Doyle Thai
ceb37ec4b0
Add proper bitmap rotation and 1:1 texture mapping
2017-05-17 16:18:03 +10:00
Doyle Thai
ce69de7aeb
Add mem diagnostics, prepare for bitmap rotation
2017-05-17 02:49:33 +10:00
Doyle Thai
13860e4089
Organise functions to files
2017-05-16 22:53:28 +10:00