My project (Skyscraper) was originally written in Visual Basic 6 along with the TrueVision3D graphics engine
www.truevision3d.com, and I'm in the process of rewriting it in C++/Crystal Space. Since Truevision is a very high-level 3d object-oriented engine, I'm trying to figure out what the CS equivalents would be (I've got some very simple things working, but I'm having major issues). In the Skyscraper app, a 138-story building is generated in realtime (mostly at startup) using Truevision calls in VB code, and the only 3D models are minor things like windows. I'm wondering if CEL provides similar functionality, since I've read some stuff about it, but don't fully understand what it does.
Here's my main thread for my project:
http://community.crystalspace3d.org/forum/index.php/topic,155.0.htmlHere I'll explain Truevision stuff so that you'll understand what I'm talking about, because if I can get CS to do the same stuff, development will start flying (right now it's crawling haha).
Here's the current C++/CS code for Skyscraper in CVS:
http://www.tliquest.net/cgi-bin/viewcvs.cgi/skyscraper/And here's the last build of the abandoned VB/TrueVision rewrite (this is 1.1 alpha code - the 1.0 stable code is very messy and 1.1 is much much cleaner):
http://www.tliquest.net/cgi-bin/viewcvs.cgi/skyscraper/?only_with_tag=build_177I would recommend looking at this VB file (this is the floor class):
http://www.tliquest.net/cgi-bin/viewcvs.cgi/skyscraper/src/Attic/Floor.cls?rev=1.1.1.6&only_with_tag=build_177&view=markupSo for example, this is how you would create a mesh and add some walls in it, using Truevision (this is just the mesh code, and not the rendering, etc code):
Dim Level As TVMesh
Set Level = Scene.CreateMeshBuilder("Level")
Level.AddWall GetTex("stone"), x1, z1, x2, z2, height, altitude, tw, th
Level.AddFloor GetTex("stone"), x1, z1, x2, z2, altitude, tw, th
where x1, z1, etc are the coordinates; altitude is the base Y coordinate, height is the top Y coordinate, tw and th are the horizontal and vertical texture resolution parameters (the CS equivalent of that seems to be SetPolygonTextureMapping, where the last value would be both the tw and th combined).
I've tried making CS versions of those, but with bad results.
I also am trying to figure out what the equivalent of this would be:
Level.Enable False
That command entirely disables a mesh from rendering, collision detection, etc.
So those are just some examples. I code like mad in VB with Truevision, but I'm still building up my C++ skills (took classes on it before, but never could fully jump off of VB). I mainly want my stuff to be fully cross-platform, and to not be limited by proprietary MS crap haha.
-eventhorizon