Skip to content

othieno/clockwork

Repository files navigation

Clockwork

Clockwork is a software renderer written to understand the nitty-gritties of the graphics pipeline.

Blender's Suzanne rendered in Clockwork.

Configuring Clockwork's rendering context.

Blender's Suzanne rendered (wireframe) in Clockwork.

Adjusting the renderer's scissor box.

Requirements

Clockwork requires Qt version 5.5 and above, as well as a compiler that implements the C++14 standard, at least.

Compiling and Execution

For GNU/Linux distros, open up a terminal and run the following commands

$ git clone https://github.com/othieno/clockwork.git --recursive
$ cd clockwork/
$ qmake
$ make
$ ./build/clockwork

Hierarchy

The folders provided with this software are structured in the following manner:

  • documentation contains research, design and implementation documentation;
  • resources contains binary or data files such as 3D model assets;
  • scripts contains scripts that automate various tasks;
  • src contains the full source code tree;
  • tests contains unit tests as well as benchmarks.

Contributing

This is a work in progress and while I've done my best to make sure the code is void of nefarious intentions such as attempting to launch nuclear ABMs or, more realistically, destroying the content of your hard drive, a few bugs may still run wild. If you do find one, please don't hesitate to open an issue or create a pull request!

References and Further Reading