Editing ogre materials Sublime Text https www sublimetext…
Editing ogre materials: Sublime Text: https://www.sublimetext.com/ Addon for ogre’s materials: https://github.com/TheSHEEEP/ST-OgreScripts
Editing ogre materials: Sublime Text: https://www.sublimetext.com/ Addon for ogre’s materials: https://github.com/TheSHEEEP/ST-OgreScripts
Working an important refactoring of the classes for the next release of the engine (v0.2). The works will starts beginning of 2018. There is a complete description of the new classes here: https://bitbucket.org/polymorphteam/pe.2.0/wiki/pobject
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. …
1K spheres, 7 static boxes. It has been a hard day: the communication between Bullet and Ogre has been completely reviewed: update of the physical world is now linked to the Ogre rendering cycle through Ogre::RenderQueueListener, meaning a more consistent frame cycle; PObjects (any renderable object in the scene) are smart enough to update the …
Working on a two passes material, the shadow pass being potentially added automatically in the material by enabling shadows. Here is how it looks: material two_pass_shadows { receive_shadows on technique { shadow_caster_material shadowscaster pass standard { ambient 0.0 0.0 0.0 1.0 diffuse 0.8 0.8 0.8 1.0 specular 0.0 0.0 0.0 1.0 0.0 emissive …
Juste pour vos yeux, le dump d’un matériau Ogre: PMaterial: group: General name: shadows_pssm_cube receive shadows: 1 transparency cast shadows: 0 size: 3862 techniques: 1 technique[0] name: scheme: Default lod index: 0 passes: 1 pass[0] name: 0 ** programs: vertex program: Shadows_pssm_vs fragment program: Shadows_pssm_ps compute program: shadow caster fragment program: shadow caster vertex program: …
Back to shadows problem, currently implementing a clean version of the Parallel-split shadow maps (pssm) in a way it could be packed nicely in the standard assets of the engine. , source: https://www.researchgate.net/publication/220805307_Parallel-split_shadow_maps_for_large-scale_virtual_environments End of the day PSSM shadows are applied “correctly” in the materials. Still a lot do to to be able to set …
Long time no see, but polymorph engine development is back on track! The XML describing a polymorph’s project is now able to configure the Ogre’s compositor, understand the post-processing module. The first screenshot is using a custom compositor with this configuration: <workspace name=”TuningScoreWS”> <script group=”General” workspace=”CustomCompositor” /> <colors> <color name=”background_center” value=”0,1,0″ node=”0″ pass=”1″ index=”4″/> <color …
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 …
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” ); …
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 …
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 …
New example showing how to go from world space to camera space. A bit of explanation. The black sphere is attached to the pink camera. Therefore, it is located in the camera space, meaning that its position, rotation and scale depends on the camera ones. By default, the sphere is static in the point of …
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 …
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 …