For a few years I have worked with Crystal Space, using Cal3d, and since the
cal3d CS plugin wasn't totally to my liking and lacked some things I
customised it to do what I wanted. The features I have worked on :
-mixmode: set and get mixmode work, tests with alpha fading seem ok
-slowdown bug: start a level and the first time the camera looks at a cal3d
model it slows or freezes for a bit. I seem to have eliminated the bug. To
me it was an important fix.
-LOD cal3d's built in LOD works. Example image, to me this is actually a
good result: http://fadedearth.infinityanalog.com/crystal/bookeaterex1.png
One thing you can do with this type of lod is let the user set how detailed
the meshes are, depending on their hardware.

-idle animations: I decided to change the idle animation system. It randomly
generates which animation to use for all mesh objects. This isn't very
logical, but neither was the previous system, and this is the only way I
tried that gave different random things for different meshes instead of the
same for all meshes. There is still more to tweek on this feature.
-clearallanims() also clears actions now, and sets is_idling to false, in
the future it would be good to be able to remove each action individually

Future: I intend to add face sorting for alpha faces which works with
animation and lod, I have some ideas but am not experienced with it. Feel
free to give me some suggestions.
Another thing I may do is some easy feature to get and set bone rotations,
this can be used for motion trails, rag-doll, various things...

So far I havn't changed the interface or anything, or any other parts of CS,
so there are some issues.
Problems:  It's possible that some debug asserts will trigger with LOD -
Assertion failed: (indexCompsBytes * mymesh->indexend) <=
iIndexbuf->GetSize() Location:
plugins/video/render3d/opengl/gl_render3d.cpp:1677
There should be work arounds for that, if someone can tell me how to be
compatible with that I can fix it.

With LOD it may not seem to work if the model was exported with a poor LOD
system. My exporter has a high degree of face reduction though it's a bit
unpredictable  :
http://fadedearth.infinityanalog.com/project_tools/bookblender2cal3d_2.5.py.
txt : Another thing, if your models look like their winding order/normals
are wrong, you can try uncommenting the line in sprcal3d.cpp that has
setAxisFactorX(). If it is still off, it seems to be related to several
problems, I'm looking in to it.

This is a zip with my sprcal3d source code
http://fadedearth.infinityanalog.com/crystal/sprcal3dm.zip

use at your own risk, let me know if you have problems or want help. Also if
you have your own improvments or want to tell me how to improve something
that would be great.



Bookeater



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: mailto:[EMAIL PROTECTED]

Reply via email to