system and kernel basic reflection.
preliminary work to make job queue creation a manual process.
initial work to make kernel not require a scheduler for workers.
New job system working. Still need to tidy up the pushing of new job queues and write some unit tests.
removed global mutex from kernel that was used by the workers. should all run in parallel properly now.
jobwork
Added HLSLCrossCompiler to externals.
Shared utility shader code.
Move semantics in BcBinaryData
Added shader importer and started work on the HLSL compilation pipeline:
- Old pipeline that takes raw GLSL is still supported.
- Shaders will be rolled into 1 single file now, and only entry points will be specified by shader type.
- Permutations will be done with preprocessing.
- HLSLCrossCompiler is used for conversion, using Boost::Wave to strip comments from output GLSL.
- Vertex attributes are passed in on program creation so we know what to bind to what name.
Added particle and instancing utility code.
Changed to take vertex input, and properties separately.
Split vertex stuff into it's own header.
Uniform jiggle around to enable/disable constant buffers (for earlier GL targets)
remove dxsdk dep
Start putting in permutation generation table.
shader importer work
New shader import pipeline basic impl. Not being used, but import is successful and shaders are valid:
- HLSL is converted appropriately into GLSL150.
- BinaryData cleaned up a bit.
- New permutation for post processing later.
- Still to deprecate old pipeline.
write out intermediates and some more params
Rendering using uniform buffer objects for all parameters except lit objects + particle system.