Willing to step up to help the community
by Sam Contapay · in General Discussion · 03/27/2002 (4:45 pm) · 17 replies
I for one would love to step up and help out the community, and I currently have a project that will help do that, I hope ;) Currently, I'm writing a Maya Exporter check out my .plan file. I'm waiting to release the source to the exporter, and a new resource on writing an exporter once this exporter is working, if you guys want to see the current *messy* source let me know.
And because of the problem I am having with my exporter now, a tool I'm going to write tonight is an actual DTS file reader. Where you can see the raw file information in the DTS file, this is to help me find out what part of the exporter I am currently writing is not writing out correctly. If others want I would be happy to add a model viewing aspect to this tools as well, so you don't have to launch Torque -show all the time, and to help others write exporters.
But as a programmer I would like to give back to the community, since I have no artistic quality, writing my own game is futile, but since I can code, I don't mind writing tools for others to use. Are there any other pressing tools needed? I wouldn't mind starting on the modeller program but it will be Windows native since I've been coding in Windows for years and forgot how to write "actual" C/C++ code. And it would have very simple features for a pre-alpha release:
-Viewer
-Basic shapes
-Everything just has one material assigned
-Save as DTS file
Plus what is everyone's opinion on me using DirectX or OpenGL, I am more DirectX affluent but I would love an excuse (hint, hint) to start using and learning OpenGL ;) Basically, anything I write I'm going to open source it so other's can learn. If it weren't for others letting me view their source I would've never learned how to code. Let me know what you guys think.
And because of the problem I am having with my exporter now, a tool I'm going to write tonight is an actual DTS file reader. Where you can see the raw file information in the DTS file, this is to help me find out what part of the exporter I am currently writing is not writing out correctly. If others want I would be happy to add a model viewing aspect to this tools as well, so you don't have to launch Torque -show all the time, and to help others write exporters.
But as a programmer I would like to give back to the community, since I have no artistic quality, writing my own game is futile, but since I can code, I don't mind writing tools for others to use. Are there any other pressing tools needed? I wouldn't mind starting on the modeller program but it will be Windows native since I've been coding in Windows for years and forgot how to write "actual" C/C++ code. And it would have very simple features for a pre-alpha release:
-Viewer
-Basic shapes
-Everything just has one material assigned
-Save as DTS file
Plus what is everyone's opinion on me using DirectX or OpenGL, I am more DirectX affluent but I would love an excuse (hint, hint) to start using and learning OpenGL ;) Basically, anything I write I'm going to open source it so other's can learn. If it weren't for others letting me view their source I would've never learned how to code. Let me know what you guys think.
#2
A couple suggestions: go ahead and work on the modeller, especially if noone else is working on it. However, like Jeff seems to indicate, it would really be better if it was cross-platform from the get-go. It would be better for the community in general to be less dependent to a single platform.
There are several tools which can you can use to achieve this without having to actually code several different versions of your program. First check out the SDL library. This library will allow you to code for a dozen different platforms without having to change anything in the code (It's basically a open-source cross-platform implementation of a lot of the MS Direct features).
Also check out wxWindow for a decent GUI toolkit. I don't know too much about this, but several others on the forums have mentioned it as a decent cross-platform toolkit. SDL also has a lot of extensions which you can use such as SDL_GUI. It also easily lets you use OpenGL for displaying.
Speaking which, please, please, please use OpenGL. It's not about OpenGL being DirectX or vice-versa (they're not even exactly the same types of libraries. DirectX is more like a full featured input, audio, net, graphics suite). However, if you use SDL in conjunction with OpenGL, you have program which will run on most platforms, including windows. Basically the greatest advantage OpenGL has over DirectX is the open part. It's not controlled by just one entity.
So, please go ahead and take a shot at the modelling tool.
03/27/2002 (6:27 pm)
Wow Sam, I applaud your efforts to help the community.A couple suggestions: go ahead and work on the modeller, especially if noone else is working on it. However, like Jeff seems to indicate, it would really be better if it was cross-platform from the get-go. It would be better for the community in general to be less dependent to a single platform.
There are several tools which can you can use to achieve this without having to actually code several different versions of your program. First check out the SDL library. This library will allow you to code for a dozen different platforms without having to change anything in the code (It's basically a open-source cross-platform implementation of a lot of the MS Direct features).
Also check out wxWindow for a decent GUI toolkit. I don't know too much about this, but several others on the forums have mentioned it as a decent cross-platform toolkit. SDL also has a lot of extensions which you can use such as SDL_GUI. It also easily lets you use OpenGL for displaying.
Speaking which, please, please, please use OpenGL. It's not about OpenGL being DirectX or vice-versa (they're not even exactly the same types of libraries. DirectX is more like a full featured input, audio, net, graphics suite). However, if you use SDL in conjunction with OpenGL, you have program which will run on most platforms, including windows. Basically the greatest advantage OpenGL has over DirectX is the open part. It's not controlled by just one entity.
So, please go ahead and take a shot at the modelling tool.
#3
I also came across some interesting things while working on the MAYA exporter tonight that I will post in a new .plan file tomorrow morning. I came across some ambigiouties in the DTS SDK that seems to be a problem with the save/write of a DTS file. If so, I do not know why everyone extolls the virtues of reading the ms2dtsexporter source code.
This just gives me more respect for the people who have already written exporters. Once more thanks Shawn and Yacine, and I will have some progress updated by this weekend on the modeler. Remember, Windows programmer I am, so writing real C/C++ code escapes me, because of all the Win32 API calls. Just kidding, I know alot of windows programmers who can write really obufscated but working code ;) Whole 1024-bit encrypt/decrypt algorithms on one line of code...lol.
03/27/2002 (11:10 pm)
Thanks for the great replies. I am going to work on a "simple", maybe, can you say base modeller, and hopefully all the extra features can be added by the community. Let me look at the SDL library, and thanks for the link, Yacine. I know Jeff is looking to the community for a modeling program and what I'm hoping to do is start a base that people can work off of, I'm not familiar with programming for other OSes, so I do not want to make promises of writing the modeler Jeff wants :)I also came across some interesting things while working on the MAYA exporter tonight that I will post in a new .plan file tomorrow morning. I came across some ambigiouties in the DTS SDK that seems to be a problem with the save/write of a DTS file. If so, I do not know why everyone extolls the virtues of reading the ms2dtsexporter source code.
This just gives me more respect for the people who have already written exporters. Once more thanks Shawn and Yacine, and I will have some progress updated by this weekend on the modeler. Remember, Windows programmer I am, so writing real C/C++ code escapes me, because of all the Win32 API calls. Just kidding, I know alot of windows programmers who can write really obufscated but working code ;) Whole 1024-bit encrypt/decrypt algorithms on one line of code...lol.
#4
03/27/2002 (11:39 pm)
You might consider using the lower levels of torque itself - it's cross-platform...
#5
Art of Illusion it should be useable on any Java Virtual Machine. I has a bunch of features.
03/28/2002 (12:16 am)
I found an opensource Java modeler:Art of Illusion it should be useable on any Java Virtual Machine. I has a bunch of features.
#6
Sam, I'm currently working on a LightWave to DTS exporter, and am saving out meshes and nodes. If you ever have any questions about saving to the DTS format, feel free to email me.
- LightWave Dave
03/28/2002 (7:35 am)
Greetings!Sam, I'm currently working on a LightWave to DTS exporter, and am saving out meshes and nodes. If you ever have any questions about saving to the DTS format, feel free to email me.
- LightWave Dave
#7
03/28/2002 (7:39 am)
Dave, I would be interested in writing a DTS-plugin for this java editor, if it suits our needs... do you have any DTS guidelines, specifications, whatever? Or could you give a brief overview of what you have done to get the DTS stuff out of LW? I don't know nothing about it yet, so any comment would be helpful... thanks!!
#8
wxWindows *is* a windowing library though, and a lot of people like it. I've dipped my toes into it, and it's rather good - quite familiar concepts for an MFC programmer to get to grips with.
I've been thinking a lot about this Torque-specific 3D tool, in particular thinking of ways to accelerate the development. If a cross-platform windowing library is used with OpenGL, and we could find a good free scene graph, a lot of the hard work is done. I've been trying to find a scenegraph that implements vertex, edge, and face picking, but no luck so far.
03/28/2002 (7:54 am)
I really don't think SDL is what you want here, as it's primary goal is to be a cross-platform base for using graphics "surfaces" (full-screen in particular) and a bit of input & sound code. It's not really a windowing library.wxWindows *is* a windowing library though, and a lot of people like it. I've dipped my toes into it, and it's rather good - quite familiar concepts for an MFC programmer to get to grips with.
I've been thinking a lot about this Torque-specific 3D tool, in particular thinking of ways to accelerate the development. If a cross-platform windowing library is used with OpenGL, and we could find a good free scene graph, a lot of the hard work is done. I've been trying to find a scenegraph that implements vertex, edge, and face picking, but no luck so far.
#9
Simon you bring up some good points, points I was mainly thinking about myself. However, didn't think about going out and getting a SceneGraph tool that would hasten development as well. If you want Simon I would welcome your participation in this, or anyone elses, and would like to start nailing some basics down so I can proceed to code *at least* an infrastructure by this weekend. (Hopefully the problems I have with the exporter can be solved before then :) )
03/28/2002 (9:53 am)
Dave thanks for your offer I will definetly get in touch with you ;)Simon you bring up some good points, points I was mainly thinking about myself. However, didn't think about going out and getting a SceneGraph tool that would hasten development as well. If you want Simon I would welcome your participation in this, or anyone elses, and would like to start nailing some basics down so I can proceed to code *at least* an infrastructure by this weekend. (Hopefully the problems I have with the exporter can be solved before then :) )
#11
OpenSG
sourceforge.net/projects/opensg/
www.opensg.org/
And
Open Scene Graph
sourceforge.net/projects/openscenegraph/
www.openscenegraph.org/
03/28/2002 (11:48 am)
Here is another SceneGraph project at SourceForge... LGPL license:OpenSG
sourceforge.net/projects/opensg/
www.opensg.org/
And
Open Scene Graph
sourceforge.net/projects/openscenegraph/
www.openscenegraph.org/
#12
Its a very mature cross-platform GUI toolkit that is in many ways similar to Win32 API & MFC programming (though better designed, IMO), so it should be easy to pick up if you do a lot of Windows programming. There are ports of it to GTK/Linux, Mac, and many other smaller OSes. And, on systems that support it, it has an OpenGL rendering widget you can use to host the actual 3D views.
03/28/2002 (12:15 pm)
I agree with some of the above posters -- check out wxWindows!Its a very mature cross-platform GUI toolkit that is in many ways similar to Win32 API & MFC programming (though better designed, IMO), so it should be easy to pick up if you do a lot of Windows programming. There are ports of it to GTK/Linux, Mac, and many other smaller OSes. And, on systems that support it, it has an OpenGL rendering widget you can use to host the actual 3D views.
#13
Just posted and got the post from George. I've decided to explore wxWindows and see what happens, so far it has been highly recommended.
03/28/2002 (12:23 pm)
Thanks Yacine and Harold will definetly evaluate those over the weekend plus just d/l'ed the latest wxWindow heads and bought a *new* book on OpenGL *grin*. ;)Just posted and got the post from George. I've decided to explore wxWindows and see what happens, so far it has been highly recommended.
#14
Stefan
Really, the best thing I can recommend is to look at the MilkShape exporter code. Without knowing anything about MilkShape, you should be able to get the general idea as to what needs to be done (that's how I wrote my exporter).
In general, the steps are something like this:
That's a rough idea as to what is happening in the MilkShape exporter. If you have any specific questions, feel free to write me an email.
- LightWave Dave
03/28/2002 (8:21 pm)
Greetings!Stefan
Really, the best thing I can recommend is to look at the MilkShape exporter code. Without knowing anything about MilkShape, you should be able to get the general idea as to what needs to be done (that's how I wrote my exporter).
In general, the steps are something like this:
1. Build material list [optional]
2. Build node list (used for mount points and bones) [optional]
3. Build a default root node for meshes that don't have their own node.
4. For each mesh
{
A. Create an object structure to hold mesh info
B. Build mesh's vertices, normals & triangles
C. Assign flags to the object
D. Transform the mesh's vertices to match the nodes
}
5. Build a detail level and attach all object's to it
6. Build an appropriate collision mesh and attach it to an object.
Then attach the collision object to the collision detail level. [optional]
7. Create a subshape that holds all of the above
8. Build out animation sequences based on the nodes' positions and rotations in the timeline [optional]
9. Save the DTS fileThat's a rough idea as to what is happening in the MilkShape exporter. If you have any specific questions, feel free to write me an email.
- LightWave Dave
#15
thanks very much! I will have a look at the Milkshshape thing... has anybody tried the AOI java modeller / animator? Would it be worth to write a ".dts" plugin?
I got an email from the guy who wrote it, he has written an ".obj" translator/plugin (will be included in v1.1) and some other guy is working on a ".3ds" plugin currently...
03/29/2002 (1:33 am)
Dave-thanks very much! I will have a look at the Milkshshape thing... has anybody tried the AOI java modeller / animator? Would it be worth to write a ".dts" plugin?
I got an email from the guy who wrote it, he has written an ".obj" translator/plugin (will be included in v1.1) and some other guy is working on a ".3ds" plugin currently...
#16
03/29/2002 (5:32 pm)
Stefan to each their own. If you like using it than I would say it is a valuable tool that warrants an exporter :)
Torque Owner Shawn