This project is a study into the graphics pipeline, software rendering via rasterization and parallel programming (multithreading and SIMD) in C. I tried to mimic Direct3D 11 in both api and rendering capabilities but there are still some features missing. I plan to improve Malevich's capabilities to match WARP's in the future.
The project is set to build with the following configurations:
- Windows 10 SDK (10.0.17134.0)
- Visual Studio 2017 (v141)
- Intel Compiler 18.0 (x64)
- An Intel CPU that support AVX
The repository contains Visual Studio 2017 project files that are ready to build with Intel Compiler 18.0 on Windows 10. At the time of writing, Intel System Studio 2018 has a free commerical license in which you can download Intel Compiler 18.0 as a module. You also need to install Desktop development with C++ component of Visual Studio if you have not done before.
Only external dependency is Remotery which is included in the project. You can use index.htlm under vis folder to see the profiler in action.
If you want to try Malevich without building, I added the runtime with an x64 executable into the bin folder.
- To navigate in a scene use the Q, W, E, A, S, D keys while pressing the RMB.
- To switch displaying the statistics press SPACE.
- To change the scene use the + and - keys.
- Libraries:
- Remotery: Apache License 2.0
- Assets:
- FTM by luyssport : CC BY-NC-SA 4.0
- Toon by by luyssport : CC BY-NC-SA 4.0
- Locomotive by Willy Decarpentrie : CC BY-SA 4.0
- Emily by The Wikihuman Project