PDA

View Full Version : Drawing a 3D realistic looking coordinate system



gourou
03-03-2008, 07:29 AM
Hello,

I have already asked this question on the beginners forum because I'm a beginner but did not receive any helpful answer.
Does anyone have any experience in drawing a 3d realistic looking coordinates system ? I know how to draw an axis system using GL_LINES straightforward but I would need a 3d axis system, which is to say using eventually a cylinder with a cone at the tip.
Could someone give me an idea of how to draw that ?
Thanks a lot in advance !

Ilian Dinev
03-03-2008, 09:13 AM
A concept sketch is necessary, the more specific the better.
Or a screenshot from some app that shows such a "realistic" coordinate sys. (o_O will that be 3 rulers glued together with duct-tape? There are no "real-life coordinate systems").
Then again, it'll usually just be a bunch of lines, procedurally generated to look like many facets, and 3 cones drawn somewhere. It's boring stuff for most, so maybe that's why no-one replied with a solution - one can usually code such graphics with just enough understanding of the 3D basics, some imagination, and possibly spend boring time in tweaking the parameters.

gourou
03-03-2008, 09:37 AM
Thanks Ilian ! On the Eyeshot's (http://www.devdept.com) index page there is a picture showing a sample of what I would need.

HenriH
03-03-2008, 09:48 AM
It's easy. You draw one box, three cylinders and three cones. You could implement this by creating three functions to draw each shape. Then you set up correct kind of transformation matrix before calling them.

gourou
03-03-2008, 10:02 AM
Thanks Henri! It's exactly what I did however using glCylinder the outcome doesn't looks...realistic :p I mean the color doesn't have the shading and texture effects on the arrows like in the desired picture and not sure where the issue is.
Should I use another drawing technique or textures ?
Thanks a lot for any hint !

Chris Lux
03-03-2008, 10:05 AM
hint: use materials and lighting.

gourou
03-03-2008, 11:35 AM
Thanks a lot Chris! Do you have a snippet of code to see how it works ?

Chris Lux
03-03-2008, 12:14 PM
glMaterial(...);
glLight(GL_LIGHT0, ...);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);

Some further reading:
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=07

gourou
03-03-2008, 12:24 PM
Thank you very much Chris ! That was helpful!