[Bf-committers] Improvement of BGE rendering for CAVE systems

Damien Touraine damien.touraine at limsi.fr
Tue Dec 6 11:52:54 CET 2011

We have worked on the patch described below. It's ID is 29512. Could you 
please have a look on it and say me if it may be usefull ?

     Damien Touraine
On 29/11/2011 11:03, Damien Touraine wrote:
> Hi,
> We are working hard on Blender CAVE. Actually, we use a python script to
> synchronize informations (for the moment, position and orientation of
> each object) between the rendering nodes (the master node multicasts the
> information to several slaves).  This script is running as a controller
> triggered by an "always" sensor activated each frame. This Logic is
> attached to a camera.
> However, we don't have find an optimal solution : the scheduling of all
> Logics can make the Blender CAVE script running before the update done
> by other Logic (for instance, translation of an object triggered by
> keyboard). The results is a desynchronization between the master and the
> slaves. In some case (armature mouvement), the update of the slaves may
> not occur.
> Is there any way to force the execution of a given script AFTER all
> other Logic ?
> If not, I can suggest a patch : I have seen that there is
> bge.types.KX_Scene.pre_draw that permits the integration of specific
> function just before drawing the scene. But this is not optimal, as this
> method is call before each redraw. Thus, in case of stereo, it is call
> twice per frame (ie : once per point of view). So, I have devevelopped a
> patch that add bge.types.KX_Scene.pre_render that is called once per
> frame and before the rendering of the frame. But I'm not sure this
> solution is optimale and is in the aim of Blender Game Engine. May I
> post it to projects.blender.org ? Moreover, we may have to add a
> bge.types.KX_Scene.pre_swapBuffers to synchronize the " *SwapBuffer"
> between rendering nodes.
> In addition, I wish to develop blenderCAVE as a plugin. But, as it rely
> on the game engine, I don't manage to do that. Is there any way to link
> an addon with BGE ?
> Regards
>       Damien Touraine
> On 04/11/2011 21:36, Dalai Felinto wrote:
>> Hi Damien,
>> It's strange, I could swear I had replied to your post in the forum
>> [1]. I have been in touch with Jorge Gascon for the BlenderCAVE
>> project and he pointed me to your idea.
>> For your patch the better place to put it is in the
>> projects.blender.org website and post here the link. I'll be glad to
>> look at your patch.
>> What I've been thinking (and it may be a better topic for the tracker
>> instead) is if it wouldn't be more interesting to really support
>> caves. For example, to introduce in the interface the options required
>> to setup the number of walls, the wall distance, ... But I never
>> visited a cave so I don't know how standard the output from the
>> visualization tools are.
>> Anyways, an option to set individual projection matrixes per stereo
>> eye seems good too.
>> Cheers,
>> Dalai
>> [1] -http://www.blender.org/forum/viewtopic.php?p=90396
>> 2011/11/4 PabloVazquez.org<venomgfx at gmail.com>:
>>> BTW, I just tried it live yesterday :)
>>> Here at Universidad Rey Juan Carlos in Móstoles (Madrid), it was awesome,
>>> specially with 3D glasses, still some little things to fix, but the overall
>>> experience is very rich, just needs cool graphics to make it more awesome!
>>> :)
>>> --
>>> Pablo Vazquez
>>> CG Artist
>>> Blender Foundation Certified Trainer
>>> E-mail:contact at pablovazquez.org
>>> Website:http://www.pablovazquez.org
>>> On Fri, Nov 4, 2011 at 17:32, Ton Roosendaal<ton at blender.org>   wrote:
>>>> Hi,
>>>> Interesting stuff! I'll make sure our dome/vr guru Dalai Felinto will
>>>> check on it :)
>>>> -Ton-
>>>> ------------------------------------------------------------------------
>>>> Ton Roosendaal  Blender Foundationton at blender.org      www.blender.org
>>>> Blender Institute   Entrepotdok 57A  1018AD Amsterdam   The Netherlands
>>>> On 4 Nov, 2011, at 14:32, Damien Touraine wrote:
>>>>> Hi,
>>>>> I'm working on the BlenderCAVE project
>>>>> (http://www.gmrv.es/~jgascon/BlenderCave/). Its purpose is to use
>>>>> blender to render on CAVE systems
>>>>> (http://en.wikipedia.org/wiki/Cave_Automatic_Virtual_Environment).
>>>>> We use python API to synchronize the scene across all computers that
>>>>> render on a screen. Python API is also used to adapte the camera to
>>>>> the
>>>>> current screen (ie : the one that is attached to the current
>>>>> computer).
>>>>> For this feature, it is important to be able to define precisely the
>>>>> projection matrices for both eyes independently. More specically, we
>>>>> must be able to adapt the projection to the right position of the user
>>>>> eye. For instance, you can to turn on yourself while looking on the
>>>>> floor screen. With default stereocopy viewing mode of BGE the eyes of
>>>>> the user must stay parallel to the screen and "horizontal".
>>>>> Although we have searched, we haven't found any way to define
>>>>> projection
>>>>> matrix for left eye independently from right eye through the python
>>>>> API.
>>>>> Thus, we suggest a patch we have developped. This patch creates two
>>>>> projection matrices  (left and right eye) besides the current one
>>>>> for a
>>>>> given camera. It manages the rendering for daily use (ie.: outside
>>>>> BlenderCAVE project).
>>>>> I can send the patch that is based on SVN version 41510 (uncompressed
>>>>> "svn diff" : ~12K) on this list. But I'm not sure that it is the right
>>>>> place.
>>>>> Regards
>>>>>       Damien Touraine, long time developper of CAVE applications
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list