Tagged: graphics Toggle Comment Threads | Keyboard Shortcuts

  • frankiezafe 23:24 on 2017-10-12 Permalink | Reply
    Tags: , , , graphics, , , ,   

    same video on peertube

    (a bit more than a technical demo this time)
    After finishing the work on shadows, it was time to play with the different materials possibilities.

    To explain a bit what you are seeing:

    • at the top left, the 3 textures containing the shadow maps;
    • transparent walls (wireframes) are not take into account in the shadow map because they are using a specific material called invisible_for_shadows, i think the name is obvious;
    • the foggy volume above the ground is made of a stack of 25 thin boxes, using another cool material: solid_shadows_no_cast, they receive shadows but don’t cast them;
    • and the balls, using the solid_shadows material and having the standard behavior, but in wireframe, implying that fog is hollowed when you look through them.

    A cool feature is the ability to set the alpha of the shadows material per material. For the jelly fog, the material is looking like this:

    material screen_mat : solid_shadows_no_cast
    {
      technique
      {
        pass standard
        {
          diffuse 0.6 0.7 0.95 0.2
          emissive 0.2 0.3 0.45 0.4
          depth_write off
          scene_blend alpha_blend
        }
        pass pssm
        {
          fragment_program_ref ShadowsPssm_pix
          {
            param_named shadow_alpha float 0.2
          }
        }
      }
    }

    The speed control over the physic simulation (when everything freeze) is modifying the time multiplier of bullet. The call is looking like this:

    polymorph::PBullet::time_multiplier(0.85);

    Complete projects is accessible in the engine, under samples/0.1/example.pssm_shadows.

    I need to rest a bit, it has been a harsh road to get this packed. The last part of the job is to ensure the compatibility low opengl versions!

     
  • frankiezafe 19:48 on 2017-09-24 Permalink | Reply
    Tags: , , graphics,   

    PLine, a class to draw … lines! It might seems stupid, but drawing lines is no the default purpose of a game engine. Drawing a line that connect 2 objects for instance is painfull to do with a parallelepiped, especially when you need its thickness to stay constant!

    The class PLine is there to help. You define once the number of vertices it contains, and you can modify their position at each draw.

    PLine is using the marvellous Ogre’s ManualObject and is updated only when needed thanks to Ogre::RenderQueueListener. A drawback of this flexibility is the independence to the hierarchy: if the line is attached to another object, it is not influenced by its transformation…

    Note: see http://www.ogre3d.org/forums/viewtopic.php?f=2&p=538467#p538467

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

    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, , , graphics, 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: , graphics,   

    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: , , , , graphics   

    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 22:03 on 2017-01-22 Permalink | Reply
    Tags: , , graphics, , 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 17:33 on 2017-01-12 Permalink | Reply
    Tags: , , graphics, , ,   

    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: , , , graphics, , , ,   

    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. 🙂

  • Louise 21:46 on 2016-09-21 Permalink | Reply
    Tags: , , game design, graphics,   

    TUNING SCORES 

    Tuning Scores’s visuals are slowly progressing…
    We have made some new objects with several layers of textures and a floating toolbar!
    In the projet, users can make “calls” to the space. These calls are a way to invite the other users to do something – these calls can be triggered via icons. To avoid the “overlay” effect, we placed the icons in the 3d space. Therefore, they have the same status as the other objects in the playground.

    rendu_object_21sept4

     
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