Recent Updates Page 2 Toggle Comment Threads | Keyboard Shortcuts

  • frankiezafe 18:25 on 2017-03-05 Permalink | Reply
    Tags: , ,   

    A bit of sight seeing:

    Inside buidling:

    super low resolution far buidlings:

    Orange atmosphere (bg + fog + texture color adapted):

     
  • frankiezafe 22:42 on 2017-03-03 Permalink | Reply
    Tags: clipping, , , , navigation   

    End of the week video. with a navigation through 2 isles, generated with different configuration:

    • first one have thin and spaced towers;
    • second one have fatty towers.

    The clipping is clashy, and i think i’ll leave it like that.

     
    • FdeCd 23:03 on 2017-03-04 Permalink | Reply

      cool!

      • frankiezafe 11:21 on 2017-03-05 Permalink | Reply

        merci – je suis en train de faire des recherches sur la génération de réseaux routiers: passionnant 🙂

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

    Buildings generation is on its way.

    A texture controlling the border of the building has been tuned via a python script. Based on a source image:

    the script generate this:

    The brightness is changing gradually and is controlled by the source image pixels. This avoids the basic gradient.

     
  • frankiezafe 16:15 on 2017-02-28 Permalink | Reply
    Tags: , , , ,   

    It’s holidays in schools this week in belgium, a good occasion for me to pull out of the grave an old project: disrupted cities.

    4 years ago, the scenes have been generated within blender: city maps, meshes and uvs. I was certain it wouldn’t be too hard to port in real-time, and that’s what i’ve started this morning! The planes are generated at runtime inside the engine, the uvs also, and after a rather long loading, everything runs nice and smooth (see the 2 screenshots above). A huge batch of highres textures, scans of a monotype, are necessary for the visual quality of the rendering.

    The background is not full white, leaving some room for bright events.

    The whole project is about wandering in an abstract city.

    As it is holidays for students, i’ll spend mine working on this, thanks to the devs made since the beginning of the year.

     
    • xuv 17:54 on 2017-02-28 Permalink | Reply

      Nice. Though RT? WTF? Isn’t it PE? Maybe TMA.

    • frankiezafe 19:11 on 2017-02-28 Permalink | Reply

      Video is rendered with blender, but it will be done in real-time with polymorph engine in several days!!! 🙂 – currently generating the levels of the towers.

  • frankiezafe 11:39 on 2017-02-25 Permalink | Reply
    Tags: citation, philosophie, stiegler, theory   

    Un peu de philo ce matin:

    “La soumission des technologies de l’esprit aux seuls critères du marché les maintient dans une fonction de technologies de contrôle, au service de “sociétés de contrôle”[…]. Cette fonction, qui a pour but de systématiser le développement des applications et des usages des moyens de calcul, de communication et d’information au seul service d’une massification des comportements de production et de consommation dans le sens des intérêts financiers investis à très court terme et à très forts rendements financiers dans les entreprises industrielles, bloque l’accès à ces technologies pour une toute autre finalité. Et en particulier, elle interdit et obstrue systématiquement le développement des pratiques sociales nouvelles et inédites que non seulement elle permettent, mais par lesquelles seulement, là est notre thèse, ces technologies pourront devenir la base d’une nouvelle époque de la civilisation […].”
    Bernard Stiegler, Ars Industrialis, Flammarion, 2006, p. 28

    Cette manière de penser la technologie, en la découplant de ses applications mercantiles, est une des raisons d’être de polymorph. Le code source d’outils complexes et le matériel pour l’exécuter sont accessibles facilement. Ne “reste” qu’à acquérir les connaissances nécessaires et à les mettre au service d’autres enjeux!

    links

     
  • frankiezafe 21:10 on 2017-02-22 Permalink | Reply
    Tags: , , ,   

    Several hours of work later, the class PMaterial is fully integrated to PNode. This part has been tricky: materials and textures are shared objects, managed by managers below the objects.

    The approach is to create PMaterial on demand, when you call pnode.getMaterial, for instance. Once created, it stays in the pnode until you destroy it or overwrite the material with another.

    This limits the memory consumption and force the coder to always retrieve the material pointer from the pnode, and not to store it.

    Another cool feature of the pnode.getMaterial is that the material can be created RT if the mesh doesn’t specify one.

    On the PMaterial level, it is becoming very easy to add the methods to access the different layers of the Ogre material.

    For instance, here is the code used to create the 2 materials applied on the balls in the image above:

    pmat_even.create( "Test", "Nice material" );
    pmat_even.diffuse( 1, 0, 0 );
    // activation of fog
    pmat_even.fogMode( Ogre::FOG_EXP );
    pmat_even.fogDensity( 0.1 );
    pmat_even.fogDistance( 10, 15 );
    pmat_even.fogColor( 0.4, 0.4, 0.4 ); // same as background
    // cloning pmat_even in pmat_odd
    pmat_odd.clone( &pmat_even );
    pmat_odd.fogColor( 0.8, 0.8, 0.8 );
    pmat_odd.shading( Ogre::SO_FLAT );
    // adding a pass on the material
    pmat_odd.addPass();
    // there are now 2 passes in technique 0 of this material
    uint tid = 0;
    uint pid = 1;
    pmat_odd.emissive( 1,0,1, tid,pid );
    pmat_odd.shading( Ogre::SO_FLAT, tid,pid );
    pmat_odd.polygon( Ogre::PM_WIREFRAME, tid,pid );
    

    It’s super easy to clone a material, at creation or via the clone method. The second pass of the odd material have to be set manually. Passes are not cloneable (yet?).

    As you may notice, mentioning the technique or pass to attack is optional. If your material has only one technique and one pass, the call is very short. Once you beginning to build a more complex material, adding 2 uint at the end of your arguments should not be too difficult…

    The material of the cube is also created manually:

    PMaterial pmat2( pmat_even );
    // disabling the fog
    pmat2.fogMode( Ogre::FOG_NONE );
    pmat2.diffuse( 1, 1, 1 );
    // checking the number of textures
    if ( pmat2.getTextureUnitCount( ) == 0 ) {
    	// adding one 
    	pmat2.addTexture( "General", "child-computer.jpg" );
    } else {
    	// modifying the first one
    	pmat2.setTexture( "General", "child-computer.jpg" );
    }
    cube.material( &pmat2, true );
    

    More, soon!

     
  • frankiezafe 13:38 on 2017-02-17 Permalink | Reply
    Tags: , , ,   

    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" );
    ptr.getTechnique(0)->getPass(0)->setDiffuse( 1,0,0 );
    

    Using PMaterial, it looks like this:

    polymorph::PMaterial ptr;
    ptr.load( "mat", "group" );
    ptr.diffuse( 1,0,0 );
    

    Selection of technique and pass is optional. The image above shows the fog configuration:

    pmat.fogMode( Ogre::FOG_EXP );
    pmat.fogDensity( 0.1 );
    pmat.fogDistance( 10, 30 );
    pmat.fogColor( 0.4, 0.4, 0.4 );
    

    All methods are not yet there, do not worry, they will come soon.

     
  • frankiezafe 19:57 on 2017-02-12 Permalink | Reply
    Tags: , festival, report   

    Screenshake, quick and dirty report 

    Just coming back from screenshake festival in antwerpen (be). I only spent a few hours there, here is several interesting projects presented.

    Catacombs of Solaris

    itch.io

    Triennale Game Collection

    More especially 2 games:

    steam

    Lieve Oma

    itch.io

    Everything

    everything-game.com

    Guys i’ve met

    A nice afternoon 🙂

     
  • frankiezafe 22:39 on 2017-02-10 Permalink | Reply
    Tags: , , , , ,   

    I’ve learned something really important today: an OpenGL context can be accessed by one and ONLY one thread! See Under what circumstances would glGenBuffers/glGenBuffersARB fail?.

    And this is the first time I feel annoyed by the singleton approach of Ogre3D. In my asset converter util, I use Ogre object, the MeshManager mainly, to convert xml files to .mesh files. Due to the limitation of OpenGL and the singleton pattern, I can’t declare a new OpenGL context in my conversion thread by using the Ogre managers…

    I struggled for several hours with that before find the post on stackoverflow.

    This implies a freeze during mesh conversion, wich prevent me to animate a progress bar and keeping the conversion strickly in background.

    I’ll work on the loading and display of the processed meshes next week.

     
  • frankiezafe 18:46 on 2017-02-08 Permalink | Reply
    Tags: , , ,   

    I’m currently working on a more user friendly mesh, skeleton & materials converter.

    For the little story, when you export a model from blender, the blender addon outputs xml files. These files have to be parsed by the OgreXMLConverter to produce the final files. *.mesh & *.skeleton files are binaries.

    It’s a tedious process, especially when you want to organise your files in the folder structure of the application.

    The polymorph xml converter wlll make this a bit more handy (when ready):

    • hotfolder: define the folder where the blender exports lands after export;
    • output models: define the folder where the .mesh files will be exported after conversion;
    • output skeleton: define the folder where the .skeleton files will be exported after conversion;
    • output material: define the folder where the .material files will be moved;
    • output textures: define the folder where images will be moved;

    These paths will be saved in a preference file next to the application, to avoid having to reset them each time you open the application.

    A demo will come once it will starts to work. For the moment, only the GTK filechooser is plugged in.

     
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