After some fighting with multi-threading issues, texture renderer and Line anti-aliasing, I now have CPU consumption detail appearing in the right side of the screen. I've been inspired from Ghost In The Shell SAC (which contains great ideas about GUI).
In the lower left part of the screen, we can see the active number of sessions, ie the number of connected ACTIVE sessions:
The number of detailed sessions is up to 5 but I guess I could display more.
Regarding the displayed information, I may add other ones (Logical IO, Physical IO...) :o)
dimanche 10 août 2008
samedi 9 août 2008
jeudi 31 juillet 2008
Session Control Panel r2.0, finally working!
lundi 28 juillet 2008
A new problem: user interaction with the mouse
Currently, I'm trying to solve a common problem mainly related to multithreading, dynamic mesh (vertices moving inside a mesh), accurate collision detection (between the mouse cursor and the scene) using dynamic bounding volumes.
Following the mouse cursor (white cross) is over a far tablespace but the session control panel (dynamically extruded quarter of sphere) is in front of it. Thus the collision detection failed (I think because of the Bounding Sphere I'm using for the session panel:
Following the dynamic Bounding Sphere of the session control panel:
Small one:
Large one:
Following the mouse cursor (white cross) is over a far tablespace but the session control panel (dynamically extruded quarter of sphere) is in front of it. Thus the collision detection failed (I think because of the Bounding Sphere I'm using for the session panel:
Following the dynamic Bounding Sphere of the session control panel:
Small one:
Large one:
dimanche 27 juillet 2008
mardi 22 juillet 2008
jME 2.0 threadsafe problem with the Sphere shape
Session control panel r1.0
Yes!
I finally get something working:
The quarter of sphere in the bottom displays information about Oracle sessions. The more a face is extruded, the more the CPU it is currently consuming. Using fast FloatBuffer copy allows a good framerate while the TriMesh vertices are quicky updated (20 times per second).
Next: memory representation + data flows!!!
I finally get something working:
The quarter of sphere in the bottom displays information about Oracle sessions. The more a face is extruded, the more the CPU it is currently consuming. Using fast FloatBuffer copy allows a good framerate while the TriMesh vertices are quicky updated (20 times per second).
Next: memory representation + data flows!!!
jeudi 3 juillet 2008
Face extrusion under JME?
lundi 30 juin 2008
Dynamic mouse cursor!
dimanche 22 juin 2008
samedi 21 juin 2008
vendredi 20 juin 2008
CamStudio - Free Streaming Video Software
This tool is free and available here.
To download it: http://camstudio.org/dev/CamStudio.2.5.b1.bin.zip
Thanks nymon ;o)
To download it: http://camstudio.org/dev/CamStudio.2.5.b1.bin.zip
Thanks nymon ;o)
mercredi 18 juin 2008
Next tutorial about material: colors fading
And it seems I should use a com.jme.scene.Controller. Hopefully, the JME forum provides an example.
mardi 17 juin 2008
First Material tutorial
Can be found here.
Step 1: diffuse reflection only; no ambient no specular
Step 2: diffuse and specular reflection; low shininess; no ambient
Step 3: diffuse and specular reflection; high shininess; no ambient
Step 4: diffuse reflection; emission; no ambient or specular reflection
Step 5: ambient (gray) and diffuse reflection; no specular
Step 6: ambient (gray), diffuse and specular reflection; low shininess
Step 7: ambient (gray), diffuse and specular reflection; high shininess
Step 8: ambient (gray) and diffuse reflection; emission; no specular
Step 9: colored ambient and diffuse reflection; no specular
Step 10: colored ambient, diffuse and specular reflection; low shininess
Step 11: colored ambient, diffuse and specular reflection; high shininess
Step 12: colored ambient and diffuse reflection; emission; no specular
Step 1: diffuse reflection only; no ambient no specular
Step 2: diffuse and specular reflection; low shininess; no ambient
Step 3: diffuse and specular reflection; high shininess; no ambient
Step 4: diffuse reflection; emission; no ambient or specular reflection
Step 5: ambient (gray) and diffuse reflection; no specular
Step 6: ambient (gray), diffuse and specular reflection; low shininess
Step 7: ambient (gray), diffuse and specular reflection; high shininess
Step 8: ambient (gray) and diffuse reflection; emission; no specular
Step 9: colored ambient and diffuse reflection; no specular
Step 10: colored ambient, diffuse and specular reflection; low shininess
Step 11: colored ambient, diffuse and specular reflection; high shininess
Step 12: colored ambient and diffuse reflection; emission; no specular
samedi 7 juin 2008
vendredi 6 juin 2008
The HUD tutorial migrated to JME 2.X
In order to understand texturing, transparency and HUD in JME 2.X, I proposed a migration of the JME 1.X tutorial:
samedi 31 mai 2008
Tablespaces organized and scaled according to their allocated size
Finally, my tablespaces look good. The size of the "container" is proportional to the allocated size of the tablespace:
Also I've included picking feature to be able to select one tablespace and (in the future) get detailed information. However, I note right now that the BoundingBox class that I use for bounding volumes (mainly used for collisions detection and picking) is not very good for cylinders...
Also I've included picking feature to be able to select one tablespace and (in the future) get detailed information. However, I note right now that the BoundingBox class that I use for bounding volumes (mainly used for collisions detection and picking) is not very good for cylinders...
vendredi 30 mai 2008
At last, normals work (flat and auto-smooth)
Well how may I say that... the normals present in a .blend file must not be used. They must be recomputed on a per face basis. For auto-smoothing, one must recompute per vertex normals. I've used this doc to do it.
Now I get auto-smoothed models and "faceted" models:
Now I get auto-smoothed models and "faceted" models:
lundi 26 mai 2008
Translation, scaling and rotations for import
Oups I forgot to say that when a model is build in Blender then moved, scaled or rotated, these transformations are not "permanent". To make them permanent, select the object(s) then Apply the transformations using CTRL + A in Object mode.
Normals... the sequel
Well I've fought some days because of strange behaviour regarding normals in Blender and I'm beginning to know what I'm talking about (at last).
To export a Blender model in JME, consider modeling as if the rendering view (JME) is Y axis Up (keypad 7). Thus you won't have to rotate by yourself while exporting (or worse importing).
After that you'll have to deal with the normals as I've done. Your normals can be displayed in Edit mode using the Edit Panel called "Mesh Tools 1" (F9 key):
Note that the panel may be hidden on the right of the window so either scroll or collapse some panels (see in red). To display the vertices normals, you'll have to push down the "Draw VNormals" button.
Then you'll perhaps be able to detect normals inconsistencies as I did: a same point had several different normals.
Also it would be useful not to rely on vertices normals but preferably to recompute the normals for every faces. Thus you get a "solid" looking object but at least you don't get annoying effects when moving your objects while lights are activated.
Finally, you may want to flip the normal when in Object mode, a face seems to disappear.
To export a Blender model in JME, consider modeling as if the rendering view (JME) is Y axis Up (keypad 7). Thus you won't have to rotate by yourself while exporting (or worse importing).
After that you'll have to deal with the normals as I've done. Your normals can be displayed in Edit mode using the Edit Panel called "Mesh Tools 1" (F9 key):
Note that the panel may be hidden on the right of the window so either scroll or collapse some panels (see in red). To display the vertices normals, you'll have to push down the "Draw VNormals" button.
Then you'll perhaps be able to detect normals inconsistencies as I did: a same point had several different normals.
Also it would be useful not to rely on vertices normals but preferably to recompute the normals for every faces. Thus you get a "solid" looking object but at least you don't get annoying effects when moving your objects while lights are activated.
Finally, you may want to flip the normal when in Object mode, a face seems to disappear.
mardi 20 mai 2008
Next steps: material and UV-mapping!
The next steps in my Java Blender file reader/parser: interpret material data and particularly UV-mapping :) How fun this will be, I've no idea ^_^;
Blender and normals argh!!
Being relatively a newbie to Blender, I fought to render properly my tablespace object during days until today! I've found that some normals of the faces of the fan are fliped thus producing a very bad render!
After fliping them back to normal (W key in Edit Mode), the rendering is now good; at least not more "annoying light effect" :)
After fliping them back to normal (W key in Edit Mode), the rendering is now good; at least not more "annoying light effect" :)
samedi 17 mai 2008
Rotation and normals weird behaviour
As I'm struggling with JME 2.0, I encountered a strange issue, while applying a continual rotation on my object, I can see different light applications which produce weird effects. Displaying the normals (thanks to the DebugGameState), it appears that the rotation is not applied to them :(
Rotation 1:
Rotation 2 (the rendering is quite different!):
Rotation 1 and normals:
Rotation 2 and normals:
Rotation 1:
Rotation 2 (the rendering is quite different!):
Rotation 1 and normals:
Rotation 2 and normals:
Development state
As it is really hard to distinguish something in the default black world of JME, I'm developping a DevlopmentState inspired by Blender "3D view" and DebugGameState:
But as you can see, it seems my Lines are subject to light. Now looking in the Spatial class, I've found quite easily (thanks to the documentation and the simplicity brought by Java 5 Enums) that I should have set the LightCombineMode of my Lines. Setting it to Off solved my problem:
But as you can see, it seems my Lines are subject to light. Now looking in the Spatial class, I've found quite easily (thanks to the documentation and the simplicity brought by Java 5 Enums) that I should have set the LightCombineMode of my Lines. Setting it to Off solved my problem:
mercredi 14 mai 2008
Multiple mesh to build an object... or a Node
Now, the BlenderReader class can interpret Blender parent/children hierarchy and implements it as Node/Geometry for JME. :)
mardi 13 mai 2008
JME 2.0 - pre alpha
JME version 2.0 is currently under development, more information: here
After having downloaded Subversion and Maven 2, a quick installation of the thirdparty libraries (see: ./lib/mvn-lib-install); a simple mvn install run successfully!
Just one very small mistake: the version in the pom.xml file should be set to "2.0-SNAPSHOT ".
And the tests run with success, well done!
Now I'm waiting for the wiki to have more information on this release ;o)
After having downloaded Subversion and Maven 2, a quick installation of the thirdparty libraries (see: ./lib/mvn-lib-install); a simple mvn install run successfully!
Just one very small mistake: the version in the pom.xml file should be set to "
And the tests run with success, well done!
Now I'm waiting for the wiki to have more information on this release ;o)
vendredi 2 mai 2008
Lamp, Camera and Object data blocks
Each Lamp and Camera is linked to an Object through there blockAddress. This address can also be found in the correponding Object in the data property.
Now, I can import lights into JME!!!
Next: meshes!
Now, I can import lights into JME!!!
Next: meshes!
mercredi 30 avril 2008
Deeper into Blender file format
It appears that the DNA1 data block is the most important one. It is a sort of meta-block because it describes the structure of all other blocks.
I've successfully created a Java class generator that can write a Java class file from DNA1 information. I've worked only on the 32bits / little endian version of the format.
Using these classes (280+), I'm now able to decypher a Blender file.
The next step will consist of understanding the links between data blocks and the meaning of the data blocks of type DATA.
I've successfully created a Java class generator that can write a Java class file from DNA1 information. I've worked only on the 32bits / little endian version of the format.
Using these classes (280+), I'm now able to decypher a Blender file.
The next step will consist of understanding the links between data blocks and the meaning of the data blocks of type DATA.
mercredi 16 avril 2008
From Blender to JME
I'm currently having a close look (thanks to open source) on the way .blend files (version 2.45) are formated. I'm confident to be able to directly import .blend file into JME then saving them into JME native format.
The .blend file structure is simple and consists of multiple blocks independent from each others thus guarantiing compatibility among different Blender versions (newer and older).
These blocks require to firstly decode the DNA1 structure which mainly consists of the description of the internal C object types (length and C structs...).
The .blend file structure is simple and consists of multiple blocks independent from each others thus guarantiing compatibility among different Blender versions (newer and older).
These blocks require to firstly decode the DNA1 structure which mainly consists of the description of the internal C object types (length and C structs...).
JME - Java Monkey Engine
Java Monkey Engine has of course been chosen to handle 3D in Java.
Importing objects created in Blender into JME seems complex and require export of the models (MD5 or Collada) and then thirdparty Java classes to import them into JME object definition... Somewhat hard regarding the tools being no more supported or not complete.
Importing objects created in Blender into JME seems complex and require export of the models (MD5 or Collada) and then thirdparty Java classes to import them into JME object definition... Somewhat hard regarding the tools being no more supported or not complete.
mardi 8 avril 2008
mercredi 2 avril 2008
Tablespace design
A tablespace will look like this. The upper part will turn according to write and read activity. The two tubes will show read and write activity as well. If intense activity is detected, it may turn to bright red. The tablespace name will appear on the 3D object. Clicking on the object will display a small chart displaying tablespace files activity.
Starting
Oracle Fun: work with the Oracle database while having fun.
I'll try to detail the steps I'll use to build a new tool around the Oracle database: a 3D monitoring tool !?!
I'll try to detail the steps I'll use to build a new tool around the Oracle database: a 3D monitoring tool !?!
Inscription à :
Articles (Atom)