Recent Updates Toggle Comment Threads | Keyboard Shortcuts

  • frankiezafe 22:03 on 2017-01-22 Permalink | Reply
    Tags: , , , , RTT   

    Currently working on PCamera class (a class to manage … camera!). The new samples/0.1/example.cam shows how to create one and render it onto a texture.

    In these images, the pink texture on the cube is the rendering of the camera rotating in the center of the scene, the tall pink cone. It is very ogry to send the camera to the texture:


    RenderTexture * rt = texture->getBuffer( )->getRenderTarget( );
    custom_wp = compositorMgr->addWorkspace( sceneMgr, rt, custom_cam.getOgreCam( ), cwName, true );
    custom_mat->getTechnique( 0 )->getPass( 0 )->createTextureUnitState( )->setTexture( texture );

    There should be a way to make this a bit more handy, I’ll look into it sooner.

     
  • frankiezafe 13:08 on 2017-01-17 Permalink | Reply
    Tags: , , , , ,   

    screenshot01172017_125756932

    New example ready for skeletons manipulation.

    In the example, the skeleton debugging is enabled by default. It shows the bones hierarchy and the local orientation of each bone.

    There is 3 transformation spaces for bones, inherited from Ogre3D:

    • LOCAL
    • PARENT
    • WORLD

    All methods to get or set orientation, scale and position are sensitive to this value, except the moveBone methods, not yet finished.

    The example shows also the different ways to retrieve information about the skeleton: list of bone’s name, list of bone objects, access via name, id or pointer, etc.

    The beautiful model i destroy if from Sophie Khan and distributed by #additivism.

     
  • eurydice 11:23 on 2017-01-17 Permalink | Reply
    Tags: , ,   

    AMazingGameSS0

    AMazingGameSS1

    First little game without pretention done while learning Openframeworks and C++ during my traineeship !

     
  • frankiezafe 23:59 on 2017-01-13 Permalink | Reply
    Tags: , , , , visualisation   

    screenshot01132017_235526088

    screenshot01132017_235531770

    screenshot01132017_235541017

    Working on a debugging view for skeletons, a good way to learn how #ogre3d is storing skeletal data. There’s a scaling issue: the points in the face are not correctly placed, they should be at the lips borders, at the basis of the nose and closer to the eyebrows.

    The visualisation is not the same as in blender: bones are linked to their parent head, not tail. It’s simply because the information about the size of the bone is not available in ogre. The only information available for a bone are its position and orientation.

    A fix will come soon!

     
  • frankiezafe 17:33 on 2017-01-12 Permalink | Reply
    Tags: , , , , ,   

    screenshot01122017_171204940

    Preparation of a 3d model for skeleton example. The model is from Sophie Kahn and distributed by #additivism (their selection is really good!).

    Image of the model in the 3d additivism cookbook:

    rhino

    First step was to reduce (a lot) the number of faces of the model ( around 75% ), generate a UV map and link it to an armature, in blender, obviously. Note that the armature is displayed using Envelope. I never use it to work, but i find it lovely for screenshots.

    rhino-screenshot-002

    rhino-screenshot-001

    The skinning was tricky, due to the mesh mess. There are no arms for instance.

    After the export and conversion via OgreXMLconverter, the model has been easily imported in the engine.

    A lot of fine-tuning has been done on the material, to display solid and wireframe + having a light emission of the wireframe pass in the shadows.

    Here is the material definition:

    pass sophiekhan-mat
    {
    	ambient 0.8 0.8 0.8 1.0
    	diffuse 0.8 0.8 0.8 1.0
    	specular 0.02 0.05 0.05 1.0 0.1
    	emissive 0.0 0.0 0.0 1.0
    
    	alpha_to_coverage off
    	colour_write on
    	cull_hardware clockwise
    	depth_check on
    	depth_func less_equal
    	depth_write on
    	illumination_stage 
    	light_clip_planes off
    	light_scissor off
    	lighting on
    	normalise_normals off
    	polygon_mode solid
    	scene_blend one zero
    	scene_blend_op add
    	shading gouraud
    	transparent_sorting on
    
    }
    pass sophiekhan-wf
    {
    	ambient 0.0 0.0 0.0 1.0
    	diffuse 0.85 0.7 0.75 1.0
    	specular 0.5 0.5 0.5 1.0 30.2
    	emissive 0.31 0.26 0.2 1.0
    	polygon_mode wireframe
    	transparent_sorting on
    }
    

    Other screenshots:

    screenshot01122017_171414743

    screenshot01122017_171208673

     
  • frankiezafe 19:24 on 2017-01-11 Permalink | Reply
    Tags: , , glitch, , , opengl,   

    screenshot01112017_142211314

    screenshot01112017_142217797

    screenshot01112017_142624367

    screenshot01112017_150924058

    screenshot01112017_150940710

    screenshot01112017_150945944

    screenshot01112017_155054726

    screenshot01112017_155102542

    screenshot01112017_160911261

    screenshot01112017_160926611

    screenshot01112017_161703380

    screenshot01112017_161732695

    screenshot01112017_161750328

    screenshot01112017_161757179

    screenshot01112017_161810645

    screenshot01112017_170923978

    screenshot01112017_171052215

    screenshot01112017_171406017

    screenshot01112017_172418511

    screenshot01112017_185234271

    Cool day today: the creation of the example.glitch was quite fun.
    The example demonstrate a bit more extensively the usage of the ogre’s compositor (see here) and the interaction with shaders.

    If you test the example, ckeck CustomApp::createCompositor: you’ll find comments about how to interact with the shader’suniform.

    The superb model in this scene is gearthing4 by shivinteger, distributed by #additivism.

     
    • xuv 00:57 on 2017-01-12 Permalink | Reply

      Wow. Looks awesome. Indeed, add some sound and it’s a finished piece. 🙂

  • frankiezafe 20:13 on 2017-01-10 Permalink | Reply
    Tags: , ,   

    screenshot01102017_200308117

    screenshot01102017_200310217

    screenshot01102017_200315718

    screenshot01102017_200318951

    screenshot01102017_200328133

    screenshot01102017_200347400

    New example about compositor and shader (example.compositor).

    The example concerns the definition of a custom compositor. In Ogre3d, a compositor is a serie of post-processing nodes attached to the camera. It is the place where the image displayed at each frame is created.

    In the example, there’s a shader attach to the background of the window that renders a blurred circle. The shader params can be modifed RT via the mouse.

    • Moving the mouse change the red and green channels of the center color.
    • Dragging with left button modify the radius of the circle.
    • Dragging with right button modify the center of the circle.
      • Compositor is a really strong feature of Ogre, even if it’s a quite difficult one!

     
  • xuv 17:35 on 2017-01-09 Permalink | Reply
    Tags: , installation, ,   

    Polymorph Engine on ArchLinux 

    Thanks to the great work and tutorial from @frankiezafe, I managed to compile and run the basic examples of Polymorph on an ArchLinux system. I had to make a few changes to the documentation and find the right flags for some libraries (instructions here). But everything seems to be running smoothly. More tests to come later, I guess.

    ArchLinux screenshot running Polymorph Engnie basic sample

    Save

     
  • frankiezafe 13:24 on 2017-01-09 Permalink | Reply
    Tags: , , repository   

    selection_748

    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 be used as tutorials;
    • scripts: bash scripts to install polymorph and its examples.

    A lot of doc to be written!

     
  • frankiezafe 22:19 on 2017-01-06 Permalink | Reply
    Tags: , , ,   

    vlcsnap-2017-01-06-22h09m58s983

    vlcsnap-2017-01-06-22h10m17s864

    vlcsnap-2017-01-06-22h11m41s989

    First version of an installation script for linux is ready. It updates system libs, gather repositories, compiles and installs a big bunch of libraries and finally launch a basic example.

    Test machine specs:

    • xubuntu 16.04 64bits (running in a VM)
    • 4 core CPU
    • 2048MB of RAM
    • a weak internet connection

    Complete duration: 25m.

    Find the script and a manual procedure here: https://bitbucket.org/polymorphteam/pe.2.0/wiki/sdk-setup-linux-debian

    See the video log here: https://vimeo.com/198400034

     
  • frankiezafe 18:14 on 2017-01-04 Permalink | Reply
    Tags: , ,   

    install-party

    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 guide for windows will follow.

     
  • frankiezafe 12:54 on 2017-01-04 Permalink | Reply
    Tags: , , fosdem,   

    012-new-project_734

    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!

     
  • frankiezafe 23:42 on 2017-01-03 Permalink | Reply
    Tags: , , , ,   

    screenshot01032017_233404150

    Today, a lot of bug fixes on the basic classes of the polymorph packages.

    New: it is now possible to declare the resources folders in the XML! The common resources.cfg of Ogre can be replaced by a configuration.xml, placed in the same folder as the exec.

    The resources.cfg was looking like this:

    [Essential]
    Zip=../media/packs/PolymorphTrays.zip

    [General]
    FileSystem=../media
    FileSystem=../media/materials/scripts
    FileSystem=../media/materials/textures
    FileSystem=../media/models

    In the XML, it’s converted to this, with control over recursivity and read access.

        <resources>
            <group name=”Essential”>
                <resource path=”../media/packs/PolymorphTrays.zip” type=”Zip”/>
            </group>
            <group name=”General”>
                <resource path=”../media/models” type=”FileSystem” recursive=”1″ readonly=”0″/>
                <resource path=”../media/materials” type=”FileSystem” recursive=”1″ readonly=”0″/>
                <resource path=”../media/materials/textures” type=”FileSystem” recursive=”1″ readonly=”0″/>
            </group>
        </resources>

    The sreenshot comes from an evolution of the XML example, see Dynamic scenes loading

     
  • frankiezafe 22:27 on 2016-12-17 Permalink | Reply
    Tags: , , management, note   

    I reopened today the #peel project, left aside 3/4 month ago. I was a bit worried about opening the IDE because a lot of things have changed.

    Indeed, during the development of Tuning Score, I didn’t do the same mistake as the oneS i did with peel.

    When I’ve started peel, my ideas about the polymorph package, and therefore the architecture of the whole project, were really vague. Due to the lack of global view, I have developped a lot of things in peel, such as a custom camera rig, a custom project format in xml and the classes to manage it, etc, etc.

    The approach was quite different for Tuning Score. From the start, the code specific to the game has been separated form the “core”. The core has given the polymorph package. It is full of virtual methods, and, excepts crucial stuff, the rest of the important methods and params are public or protected. For programmers, this means it can be easily overloaded.

    While I was starting the refactoring on peel, the benefits became crystal clear: I needed to replace the previous xml parser class by the one of polymorph. But for peel, i need a custom structure of data. By creating a custom class “PeelObjectManager” that extends “polymorph::PObjectManager” and “polymorph::PXmlParser”, the code to parse the custom xml tags has been done in 30 minutes 🙂

    I think it will take 30 to 40 hours to have peel on track again.

    Some screenshots will pop-up very soon, and several new features in the package:

    • sound spacialisation in pd
    • camera rig configuration via xml
    • objects parenting via xml
    • graph engine, usable for state engine, etc., with 2d overlay
    • there might be other things…
     
  • frankiezafe 23:39 on 2016-12-16 Permalink | Reply
    Tags: , , , processing.org,   

    Looking for loops in networks.

    It’s seems very simple, but when i’ve started to search for a programmatic way to solve this, you ends up with a kind of complexity that seems much too high compared to the problem.

    After a bit of research, i found the Rocha Thatte method. It is a very elegant way to detect “cycles” in “directed graphs”. Description in wikipedia.

    This is a js implementation, based on the java version, used to study the implementation.

     
  • frankiezafe 18:27 on 2016-12-08 Permalink | Reply
    Tags: choreography, , , ,   

    15418547_1293283904070196_1467331030769321977_o

    15400569_1635827879776765_3035541730260410559_n

    A two days work session with Florence, Lisa Nelson, @louise and Baptiste.

    We went deeper in the improvisation technique of Lisa, by performing a score with Baptiste and also by talking a lot about what Tuning Scores is and is not. The performance and the exchanges have been recorded.

    This is an important step for the future of the project: a prototype is ready but there were a lot of blind spots that are becoming brighter and brighter each time we talk.

    You can discover the project tomorrow: event

     
  • frankiezafe 22:28 on 2016-12-07 Permalink | Reply
    Tags: , , ,   

    selection_717

    Triggering sounds when there is a collision between 2 objects is now feasible with the code. A message is sent to pd with the name of the objet and a “contact” flag (left of the image).

    It has been a hell of a fight to get extract “useable” collisions information out the physical engine. There are 3 or 4 ways to listen to them and for each collision you get a LOT of data:

    • number of points
    • localisation of these points on each objet, in local and world cooridnates
    • impulse, frictions, etc

    And, obviously, all this happens for all objects currently colliding…

    The first version of the code will runs on friday evening. It is certainly not the final version. A more serious approach is on its way, but it was too complex (impossible) to finish for tonight.

    And, the sound design is close from 0 🙂

    Stay tune for more!

     
  • frankiezafe 16:51 on 2016-12-04 Permalink | Reply
    Tags: , ,   

    demo-pd-home-frankiezafe-forge-ogre-polymorph-engine-example-2-sound-app-dist-media-pd_716

    Designing diagram in puredata. Even if the sound is not nice…

     
  • frankiezafe 11:10 on 2016-12-03 Permalink | Reply
    Tags: , , , ,   

    Présentation de Tuning Games 

    9decembre

    fr
    Contredanse ASBL et Polymorph vous convie à une rencontre autour des projets de jeux vidéos et 3D “Tuning Games” en collaboration avec Lisa Nelson

    Vendredi 9 décembre 18h au WTC, de 18h à 21h.

    En présence de Lisa Nelson, Baptiste Andrien, Louise Baduel, Florence Corin et François Zajéga.

    en
    Contredanse ASBL and Polymorph invite you to an encounter around the video & 3D games “Tuning games”, in collaboration with Lisa Nelson, an american choregrapher.

    Friday the 9th of December at the WTC from 6PM to 9PM.

    In presence of Lisa Nelson, Baptiste Andrien, Louise Baduel, Florence Corin and François Zajéga.


    Les éditions Contredanse ont engagé depuis plusieurs années un projet de publication avec Lisa Nelson, désirant par là combler le manque de documentations sur le travail artistique et pédagogique de cette artiste américaine, chorégraphe, improvisatrice et vidéaste. Présenter les enjeux de sa partition d’improvisation appelée Tuning Score, condenser les questions majeures de cette artiste et communiquer de manière directe sa manière d’appréhender et voir le mouvement, est ce qui a mené au projet de création de jeux vidéos. Parallèlement à un projet de publication de livre, ces jeux vidéos – développés par Polymorph et Contredanse – agiraient ici comme analogies à ses processus de composition instantanée, traduisant dans un univers numérique une synthèse des problématiques rencontrées tout au long de son parcours artistique.

    Présentation des deux prototypes « Vidéo Tuning Game » et « 3D Tuning Game » :
    Un premier prototype de manipulation de vidéos en temps-réel permet d’éditer le mouvement et ainsi nous enseigne sur nos stratégies d’analyse et de composition, le deuxième prototype permet la manipulation d’objets dans un univers virtuel, le comportement des objets régis par une physique simulée engendre un questionnement sur notre perception kinesthésique. Se jouant en duo, il implique un écoute et un dialogue, source d’apprentissage et composition commune.

    After many years of planning, a project is in process of creating a “videogame”—an online real-time editing program—that in a sense re-reverse-engineers my initial discovery of the interactive play between visual, kinesthetic, and auditory sensations while editing video. The project, which is being produced by Contredanse in Brussels, will exist online, with the prospect of making it multi-player. The intention of the publication is to provide a set of tools that facilitate the learning process of real-time editing (which our senses do naturally all day long). The clips will offer audiovisual material that engages different senses and invite the player to discover their own patterns of seeing and choice-making as they play. Users will also be able to upload their own clips for play and analysis.
    Lisa Nelson

    Lisa Nelson est chorégraphe, improvisatrice et vidéaste. Depuis le début des années 1970, elle explore le rôle des sens dans la représentation et dans l’observation du mouvement. Partant de son travail vidéo et de la danse des années 70, elle a crée une méthode de composition spontanée et de spectacle de danse qu’elle appelle Tuning Scores. Elle crée, enseigne et donne des spectacles partout dans le monde, collaborant avec de nombreux artistes. Depuis 1977, elle est co-éditrice de Contact Quarterly, revue internationale de danse et d’improvisation, et dirige le projet d’archivage et de distribution de vidéocassettes de danse d’improvisation, dénommé Videoda. Elle habite dans le Vermont, aux états-Unis.

    Contredanse est une association bruxelloise fondée en 1984 par la danseuse et chorégraphe belge Patricia Kuypers. Contredanse s’est donnée pour mission, dès l’origine, de soutenir la création chorégraphique. Elle souhaite offrir des outils et des ressources aux chorégraphes et aux danseurs pour leur permettre de relier leur travail en studio à une analyse de la pensée du mouvement, du corps, de la composition, de l’histoire de leur discipline.
    Ses activités sont orientées principalement vers l’information et la documentation, l’édition ainsi que la formation. Contredanse développe également des partenariats en s’associant à des projets tels que tables rondes, conférences, ateliers de réflexion en liaison avec la danse…

    Polymorph est une plateforme de jeu vidéo libre. Elle est tout autant un espace de recherche technique et esthétique, un lieu d’expérimentation artistique et de réflexion sur le medium jeu vidéo qu’un réseau de personnes intéressées par les logiciels libres. Née en juillet 2016, le projet « Tuning games » est la première production de polymorph. Le prototype présenté ce soir s’appuie sur un moteur en cours de construction, le polymorph-engine.
    Ce projet est développé au sein de l’asbl FLAT, Free Libre Art & Technology.

    Info pratiques

    F/LAT asbl
    28-30 boulevard Albert II
    World-Trade-Center Tour I
    25e étage
    map

    Important : Pour les retardataires, après 19h, l’accès principal est fermé et l’accès se fait avec la liste d’invités seulement. Il est donc indispensable de confirmer votre venue avant le 08/12/2016 à 16h. Présentez-vous alors au 3, rue Willem De Mol et sonnez.

    Un verre vous sera offert à l’issue de la présentation.

    Merci de confirmer votre présence en laissant un commentaire sur ce post.

     
  • frankiezafe 23:31 on 2016-11-27 Permalink | Reply
    Tags: , ,   

    sound-example

    Today, visually, it is ULTRA minimal.

    The two dots are 2 sound objects. The left one is muted and is related to pobject_3_object messages in the pd patch. The right one is on and is related to pobject_6_object messages in the pd patch.

    In human language, this means that the 3d objects are directly connected to the sound engine. For instance, when the right dot moves, it sends a message named “moved” to the sound. In this case, the message triggers a short sound.

    For developpers:

    • main class for sound objects: PSound
    • interface between Ogre thread and Puredata thread: PdSource

    Soon with more!

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel