Archived

This topic is now archived and is closed to further replies.

linuxopengl

how can I 3D-modeling...

Recommended Posts

I`ve started Opengl about 3 months, well,I just want to know about 3D-Modeling.I downloaded lots of Nehe Projects,like Dolphin, Ship,,etc.. How can they render things like ship or cars with startling reality?? only they use glBegin() and glEnd()?? if they do isnt it so hard to do???? anyway. annybody who know the answer,,please reply me...thank you for reading and sorry fot my so sloppy english.

Share this post


Link to post
Share on other sites
They use modelling programs like 3ds Max, Milkshape, blender and probably hundreds of other modellers out there.

3dsMax and other expensive modellers(Maya,etc..) are also used to create cgi, special effects for hollywood movies.They have many advanced features which are usually not required for models to be used ingame.

I have heard that Milkshape which costs about 20 US$ is an excellent modeller for game models.

If all you want is a modeller which can model models for your games, you can get a cheap modeller like MilkShape.

Share this post


Link to post
Share on other sites
Yeah, I use Milkshape, it''s very easy to learn, and it exports to a huge number of formats + it''s easy to write your own exporter/importer if you need to. Check out the site at www.milkshape3d.com, there''s also a tutorial on loading .ms3d files at rsn.gamedev.net. Milkshape currently cost 25$ or 25€.

For a totally free modelling prog, try Blender, I don''t use it myself, mostly because the interface is very cluttered IMO. I mention it because of all the praise I''ve heard from users I thought it was worth to list.

Share this post


Link to post
Share on other sites
I''ve noticed that hardly anybody talks about Lightwave when mentioning 3D modelling / animating packages. Why is this? I mean, many would say its the finest available (yes, even better than 3ds max).

Share this post


Link to post
Share on other sites
I use it, and it''s one of the best ones out there.
It''s the best modeler, but erlier versions lacked a little when it comes to texturing with uv maps and when it comes to animation, thus Max and Maya have become the 3d packages of choice.
But all those flaws are mostly fixed now so that will all change.
Just ask id software, they use lightwave for all teir modelling needs.

The only bad thing with lightwave is that it''s hard as hell to write a loader since their byte order is reversed.

Share this post


Link to post
Share on other sites
Light wave sucked back when I first got started in 3d art. So I avoid it like the plauge.

As for a free one you may one to check out blender. Ive seen impressive stuff done in it.

Share this post


Link to post
Share on other sites
I''ve used the older versions compared to the newer ones ... the newest version (the one i have - there may be newer) 7.0 is da bomb.

but like lc_overlord said, its a pain the ass to write a loader. i tryed and gave up if anyone has a way to use lwo and/or lws files please write me @ robert@zoomtown.com, I would be interested to see it.

But for now i have been using milkshape, and well worth every penny so far. I was actually considering writing my own editor lol

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I''ve written a loader for .lwo files... the LWO2 version, to be precise.. im not sure if theres a more recent one than that. It only supports the vertex, polygon, UV map and morph target chunks so far, but it does the job...

Share this post


Link to post
Share on other sites
I really dislike lightwave.. the interface is just dumb. Plus extruding doesn''t even work right(when I extrude a face on a box, I expect the normals to be pointing OUTWARD), and the camera control isn''t for me. Plus the renderer is horribly slow. In short, it was tried, deleted, and forgotten on my system. Don''t get me wrong though, I''ve been using 3ds Max for 3-4 years and Maya looks like it has good potential(but WHY is the interface so ugly???) but I don''t see a reason to use it yet. All of the game companies seem to release plugins first/and work best for Max, with Maya not far behind.

Share this post


Link to post
Share on other sites
Well as i said Lightwave has the best modeler, polygon modeler that is.
Infact i have seen many cases where people make the geometry in lightwave and then finish the rest in whatever other program they may have.

I am currently writing a LWO loader, it has support for v5.0 LWOB, v5.0 LWLO and LWO2(though it''s a bit buggy).

O, if your thinking about using blender i have only one word to say, DON''T!
There is a reason it''s free.

Share this post


Link to post
Share on other sites
Really thank for everybody who answer me. well, I just downloaded MilkShape and also Nehe tuts Lesson31 loader for *.MS3D. (it was hard to unserstand all the sorce code.)

by the way, I realized Milkshape can export ASCII file(text file contains vertics.trangle,,etc). if anybody has a way to use MilkShape 3D ASCII files,, please reply me.

Share this post


Link to post
Share on other sites
Hey, I just want to make sure you fully understand the way models work.

Models are rendered the same way anything else is rendered - as polygons through glBegin/glEnd. However, it is highly inefficient to hard-code the data into the program using a bunch of glVertex calls, for more obvious reasons than one (if it is even humanly possible, it would make the code huge). So people use 3d Modelling programs to design what those coordinates should be, and then the programs write those coordinates to a file.

The ASCII format, when you get down to it, functions no different than the MS3D format does. The difference is that 1, the ASCII format is easily readable for you, making it easy to write a loader for, but as a result bigger. 2, the ASCII format is probably restricted to the basic requirements of the 3d model.

I can remember being new to OpenGL and thinking that models were magical things that ought to be rendered like triangles are. I wanted a glBegin( GL_MESH ) to handle it for me. That simply isn''t so. Models are data like anything else, merely seperated from the program, and loaded into data structures for easy access.

Here is the trick - for you, if you can''t write a loader for the ASCII format on your own (and I doubt there will be one already out there), you are better off learning the MS3D format from one of the many many tutorials. It can be complex, yes, but if you take your time and really try to understand it, you can learn it.

Good Luck.

Share this post


Link to post
Share on other sites
Loading a binary file (like ms3d) is actually simpler than loading a text file, as long as you know the way data is organised inside.

For loading text I use:

fgets (line, 100, file );
sscanf ( line, "%i", &model->numFace );

And for loading a binary value:

fread( &model->numFace , sizeof(short int), 1, file );

look around the net for ms3d loaders, there are a few lying around. Once the data is loaded you render it with GlBegin / GlEnd calls as usual.

Share this post


Link to post
Share on other sites