Descend is an open source program for drawing 3D surfaces from parametric equations. It uses a custom, very fast language called Misc to calculate the geometry. It also uses OpenGL to render scenes with high quality shaders.

Main features:

  • Drawing three-dimensional curves and surfaces from parametric equations
  • Drawing complex objects and scenes consisting of multiple curves and surfaces
  • Different color for front and back face of a surface; support for calculated per-vertex color
  • OpenGL with custom shaders is used for high quality rendering with Phong lighting
  • Custom, very fast language called Misc with built-in vertex and matrix types, user-defined functions, conditional statements and loops
Learn more about Descend · Download Descend

Descend 0.2 released

The first official version of Descend is available for download. It's quite simple, but it's already possible to create quite impressive graphs and scenes, as you can see in the screenshots section. Descend comes with three built-in project templates that you can use when creating a new project, so you can quickly start playing and experimenting with it. Also don't forget to check the documentation, available by pressing F1 and clicking the Quick Guide button.

Note that Descend requires OpenGL version 3.3 and a compatible graphics card. If Descend refuses to run, make sure that you have the latest graphics drivers installed. Sometimes the drivers provided by laptop manufacturer include an older version of OpenGL, even though the graphics chipset supports newer versions, so you can also try using the drivers from the chipset vendor.

In case you are wondering what happened to version 0.1... I made a few attempts at creating it in the last eight years, but I wasn't satisfied with the results and until now I never made any official release. You can read more about the history of Descend on my website. In fact, many of the scenes in the project templates are borrowed from Grape3D, which is one of the predecessors of Descend.

Obviously there's still a lot to be added to this project. My TODO list is already quite long, and I appreciate any comments and suggestions. However I treat Descend as a side project, made for fun, so don't expect frequent updates.