Displaying 1 to 7 from 7 results

tinyrenderer - A brief computer graphics / rendering course

  •    C++

Check the wiki for the detailed lessons. My source code is irrelevant. Read the wiki and implement your own renderer. Only when you suffer through all the tiny details you will learn what is going on. I do want to get emails for feedback (dmitry.sokolov@univ-lorraine.fr); do not hesitate to contact me if you have any questions.

svgexport - SVG to PNG/JPEG command-line tool and Node.js module

  •    Javascript

svgexport is a Node.js module and command-line tool for exporting SVG files to PNG and JPEG, it uses PhantomJS for rendering SVG files. datafile can be an object, an array of objects or a JSON file path, see command line usage for its format.

ksim - The little simulator that could.

  •    C

The little simulator that could. ksim is a simulator for Intel Skylake GPUs. It grew out of two tools I wrote a while back for capturing and decoding the output of the Intel open source drivers. Once you're capturing and decoding the command stream output by the driver it's a small step to start interpreting the stream. Initially, it was exciting to see it fetch vertices, but it has now snowballed into a fairly competent and efficient software rasterizer. As of March 22nd, ksim runs all major GL/Vulkan shader stages (vertex, hull, domain, geometry and fragment shaders) as well as compute shaders. It JIT compiles the Intel GPU ISA to AVX2 code on-the-fly using its own IR and compiler.


  •    C++

Yet another small engine that I hope to use to experiment with the latest and greatest in rasterization, ray tracing and image processing.

PicoRenderer - Low-Level, 8-bit Colored, 3D Software Renderer written in C99

  •    C

This project provides a simple, 8-bit colored, 3D software renderer written in C99. It has an interface similiar to OpenGL 1.1. C code is slim, highly portable, compiles fast and for a low-level software renderer one doesn't need lots of object-oriented or templated code.

visor - Vulkan Ignoble Software Rasterizer: Software rasterizer implementing Vulkan. Just for fun.

  •    C++

The Vulkan Ignoble Software Rasterizer. Just a little for-fun side project to experiment with making a full software ICD for Vulkan. No grand plans for a fully compliant or optimised ICD.

Rasterizer - CPU forward/deferred rasterizer with depth-buffering, texture mapping, normal mapping and blinn-phong shading implemented in C++

  •    C++

In order to be able to understand how rendering work I decided to implement a forward/deferred renderer (based on my experience with OpenGL) in the CPU. The goal of this project is not to create a next generation renderer or an efficient CPU renderer. This project aims to understand how the rendering algorithms transforms a set of vertices that make up a 3D World into a 2D image of that World. I tried to be clear in my code to make it readable and easy to understand. Checkout my blog posts about rasterization to understand step by step how it works.