documentation

Terrain LOD & tesselation

While working on a gdscript to generate a terrain with several level of details (LOD), a tricky issue popped up: the terrain had holes scattered across its surface… There is a difference of definition on the tesselation frontiers, the vertices at the lower level joins 2 distant areas of the texture while the vertices at

Ogre3d really deserves some attention to deliver its…

Ogre3d really deserves some attention to deliver its full potential. A good example is the management of different version of shaders in a single program. In the image here above, the graphical cards are very different: the laptop has a low-end integrated intel chipset, the workstation is working with a GTX 980. The supported opengl

Camera rig example in engine

A new example showing how to use the class PCamRig object is available in the engine’s samples. PCamRig is using PRange objects to describe all rotations (pitch, yaw & roll), enabling a simple control of the angles. In the example, roll is going from 0° to 90° and yaw from -45° to 45°, the mouse

Today certainly one of the less sexy thing…

Today, certainly one of the less sexy thing i’ve ever posted… How to create a unique key out of two pointers in C++? After some investigation and a poor attempt to use boost uint128_t, i found my way using a char array. Here is the code: SomeClass* a = new SomeClass(); SomeClass* b = new

new class in package PMaterial This class is…

new class in package: PMaterial. This class is an helper that simplify the access to the multiple layers of Ogre’s materials. There are 3 levels in a material: technique pass texture units The usual Ogre way to access to modify a pass diffuse is looking like this: Ogre::MaterialPtr ptr = Ogre::MaterialManager::getSingleton( ).load( “mat”, “group” );

Big revision of the repository structure this morning…

Big revision of the repository structure this morning. assets: contains blender project & python scripts, ogre 2.0 materials, puredata & processing patches; custom: Ogre classes overload or common configuration files, to deplou in SDK folder; empty.0.1: an empty project to start with; package: the polymorph engine, containing source code; samples: a folder containing examples to

Planning an install party next tuesday 10 01…

Planning an install party (next tuesday 10/01/2016 TO BE CONFIRMED) at the WTC with @xuv & @ptr_h to test the installation guide of the polymorph engine. If you want to be part of it, no probl’, everybody is welcome, just let me know! Note: the installation guide will be completed this week for linux. A

Updates the engine wiki done guide for project…

Updates the engine wiki done: guide for project setup with cmake guide for project import in netbeans I realise that the installation procedure is not complete yet, and it must be done before fosdem. It’s becoming urgent!

First version of doxygen documentation It’s quite cool…

First version of doxygen documentation. It’s quite cool to see the mental structure i’m building since several weeks come to life in the diagrams. There a huge work to be done to comment and clarify the code! The documentation is available online: http://polymorph.cool/doxygen/

New object for lights in polymorph package The…

New object for lights in polymorph package. The image above shows that plights can be manipulated with the same methods as pnodes. This seems obvious, but it required a serious refactoring of the existing code: from now on, all “visible objects”, including sound sources, inherits from a common object, called … PObject (unexepected, isn’t it).

Today XML Until now @louise was not able…

Today: XML Until now, @louise was not able to access objects position and configuration… I guess it was quite frustrating for her, as she is working on the assets of the Tuning Score game. Now it’s better. Based on the work made for #PEEL, a XML description of the objects to load is available. It

Long time no seen After fixing tiny and…

Long time no seen! After fixing tiny and absolutly not sexy issues in bullet code, programming went to an even less fancy topic: efficient temporary storage of udp packets. Indeed, OSC messages (basically udp messages) arrives asynchronously. The display thread is running at ~60fps, but messages can pop in at any time. To avoid a