This project is read-only.

Project Description
Full Software Render developed in C# and XNA using the Ploobs Engine ( ). Mimic the stages of Directx 11 pipeline in software, including Vertex, Geometric,Pixel, Hull and Domain Shader programable in C#. Uses Barycentric triangle rasterization.


Phong Image         Triangle Tesselation  


Texture Bilinear Filtering         Pixel Shader 



  • Triangle Baricentric Coordinates with Perpective correction
  • Triangle Rasterization using spans (like Bresenham’s line method) without perspective correction
  • Bilinear Texture Filtering
  • Mimic the DirectX 11 pipeline stages, including Vertex, Geometric, Hull, Domain and Pixel Shader (they are programmed in C#, not in glsl or hlsl)
  • Support RenderTarget (just one at time) and Stream Out (Geometric Shader)
  • Just three primitives supported (Triangle, point and PatchWith3ControlPoints). Geometric Shader can transform point in triangles for example
  • Indexed and Normal primitives supported.
  • Alpha mapping enabled
  • Lines not supported
  • Depth Buffer algoritm implemented
  • Tessellator Unit that support fractional Triangle Tesselation (algorith based in the MORETON H.: Watertight Tessellation using ForwardDifferencing paper)
  • Import XNA (.x and .fbx) and XML models (See my other project about Importer and Exporters)
  • Basic Phong Light Model
  • Can be easily programmed (lots of effects can be programmed in the "programmable" stages).
  • Programmed in C# .Net 3.5 and XNA 3.1
  • Uses some helper libs that i made in the past like ModelXML for importer and some helper functions of PloobsEngine ( ).
  • Code in Mercurial Repo and in .rar format
  • ITS NOT REAL TIME, not designed to be.
  • ITS ALL SOFTWARE, no GPU acceleration !!!
  • ITS for experimentation and learning purpouse. Iam planning to port this render to CUDA, but it is just a plan yet :) !!!

I made a big collection of papers about rasterization and tessellation, if someone needs them, contact me:

I have another project about renderization. Its a software Ray Tracing also coded in XNA and C#. Take a Look !!!

Others Projects From this author:

Last edited Apr 13, 2011 at 1:11 PM by tpastor, version 13