Skip to content

This project is a study into the graphics pipeline, software rendering via rasterization and parallel programming (multithreading and SIMD) in C.

Notifications You must be signed in to change notification settings

OzgurCerlet/Malevich

Repository files navigation

alt text

Malevich

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.

Prerequisites

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

Build Instructions

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.

Executable

If you want to try Malevich without building, I added the runtime with an x64 executable into the bin folder.

Using the Demo

  • 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.

Third Party Licences

About

This project is a study into the graphics pipeline, software rendering via rasterization and parallel programming (multithreading and SIMD) in C.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages