by Julio Jerez » Fri Feb 25, 2011 7:28 am
Oh I agree with you in many points some point and disagree on few others.
for example the tearing on the screen is not as bad as you think, yet you are correct, but this viewer is not meant to be a high quality rendering engine,
it is merely a tool for visualizing functionality and performance, therefore minor glitches like tearing and are no of major concerns.
But that is not even a relevant point, I am quite happy with the fps synced to the monitor.
In the future Alchemedia the editor will have a launch viewer command when will call a viewer to check out the work.
The default viewer will be the editor, but later I will add other like OpenSceneGraph, maybe Ogre, or Irrlitch, and those engine do focus of high quality rendering.
The second point, I believe you are not right when you say the FPS sit akin the computer resource if ti runs at 3000 fps, but that is not so if you run on and idle event.
The idle event is only displace when the system if not doing anything, this is why you see that the drop so dramatically if you add any kind of load.
What you say is true if the display is force to be called at a fix rate on a timer, if the timer itself is a separate task that requires attention at a fix frequency, the high the frequency the more resurce it takes.
On the physics part, I use to have the same opinion that you have now, I always though that make demos step by step with the code was the way to present the potential of the engine.
But I realized that this is no so. Even for season physic programmers, visual modeling is way more powerful than procedurally programming.
To make an analogy, in early day of graphics before 3dstudio, Maya, and Softimage graphics was done mainly by highly trained programmers from SGI and it was all procedurally.
the with the introduction of graphics packages, graphics became the domain of any Game programmer, and I do not have to tell you the story of how computer graphics had evolved since them.
as an example it put the case of skinning a model. Programmer can figured out how the weight of the vertices works by just looking at how a loader interpreting the data.
But In any way the case your are making is exactly how the demo viewer is architected. There are two main menus with sub menus.
The file Menu is the part that will load scene made in and xml format in archemedia or any plug in that use the scene.lib archive system. I do not know if you notices but there is a Blender plug in there.
Larter I may make a Google sketchup too.
Then you have the Demo many witch expose the differences hardcode demos that come with the viewer. Adding a demo is a very straightforward thing, and I am sure that but now you provable seen the process.
The major problem with tah kind of demo is that only the interested party put attention to them, for the end user they are only interest in running them,
so if they is no way to expose some kind of physic modeling I will end in the same routine I has being until now. Mainlty every time
someone has a problem they have to make a test demo and I have to spend time figuring out how to debug it.
On the other hand if there was a system where you can take a physical scene and save you a file, they the debugging process become very simple, and contribute to the evolution on the engine and the tools.
The archive now is all c++, but to It will aso be converted to other languages like Pascal, Lua, Phyton, and so on. For that there is a their party tool called swigwin that convert the c++ header to other language.
I used very successfully to convert the scene library to Phyton to write the blender plugin. Later I will use to make convert to Lua, since most of the Archemedia command will be LUA driven.
I lay out a long turn plan for the engine, as you can see it is not small, and this is one of the main reasons I make open source, maintenance was consuming to much of my time and I could never make real progress.
If had not being even a week since the source is public, and you see how much progress we made already.
And the last thing, you are also correct there, the setting are lost when loading a new demo, I have not fix that yet, but it is in the list of the next steps together with the mouse aiming and picking,