Open source project: Graphics Origin


I released a compilation of the code I use for my research, my prototypes and my Computer Graphics lesson. Its name is Graphics Origin and it is intended to be used by students, researcher and practitionners in Computer Graphics, with a beginner to intermediale level in graphical application development. It does not aim to be used by professional or for profesionnal products, since it would require much more features and time to obtain a good quality solution. For those particular cases, I would recommend to read about projects such as Ogre or Unity.

Graphics Origin is composed of three libraries. The first one is the tools library, will utilities commonly used in an application, such as log, file system function or tight buffer management with handles. The second library is for geometry, to represent geometric objects such as triangles, points, boxes, meshes as well as operations on those objects like intersection tests. The last library is application, to easily setup 3D application, currently containing camera, a Qt/QtQuick 5 interface and script engine and an OpenGL 4 renderer executed in its own thread.

I intend to release in this project, as tutorials, the next version of the practicals I have made with Pierre-Luc Manteaux for the 3D Computer Graphics course of ENSIMAG (course for engineering students during the sixth semester). Those practicals are to introduce Computer Graphics to student by using OpenGL 4, with, among other topics, dynamic systems, procedural and key-framed animation, texturing and lighting. Also, demos should be soon available as well in Graphics Origin

Starting to release open source projects


I invest a lot of my time on tools projects or computer graphics projects. Those projects are based on code source that I cannot freely release. I started to isolate the source code that need to remain private in order to be able to release parts of my code base. It takes a lot of time, as this is where my students and I are doing our research projects (let's just say it is quite messy :-}). So in the meantime, I am rewriting small parts in open source repositories. I will post details about that in the Projects page.

The first of such projects is about Mean Curvature Flow (MCF) Curve Skeletonization. In order to test some of my research ideas, I reimplemented and I played with the method described in the article Mean Curvature Skeletons, written by Andrea Tagliasacchi, Ibraheem Alhashim, Matt Olson and Hao Zhang en 2012. The authors released a demo on github as well as a version of the article.

My MCF curve skeletonizer project is kept as simple as possible. For example, there is no way to visualize the computed skeletons, in order to ease its use in other projects or its installation on a computer. I provide a web application to visualize the produced skeletons such that it is possible to check the results without implementing a renderer.

New design of the website


The website has now a new design. First I used solutions like Google Sites, WordPress, and Weebly, where you do not really hand code your website. I was never completely satisfied with the design nor of the functionalities. Those solutions are great when you are not interested in fully controlling your website or you do not want to learn about the underlying technologies. Then, I completely hand coded the website and was able to include WebGL canvas and functionalities as I wanted. The problem was about the design and the reactivity of the web pages. Indeed, even if I am knowledgeable about Web technologies, I am far from being an expert and I will never be such an expert! What I needed was a solution where I can hand code contents and functionalities, with a set of tools to improve the website on the aspects I am less knowledgeable. Apparently, Bootstrap was the framework I needed!

I like the idea under Bootstrap and I feel at ease with it. It was easy to install the framework and to draft some pages. I recommend you to give it a try. :-)