Max Schmeling
Max Schmeling

Reputation: 12509

What environment should I use for 3d programming on Linux?

One thing I always shy away from is 3d graphics programming, so I've decided to take on a project working with 3d graphics for a learning experience. I would like to do this project in Linux.

I want to write a simple 3d CAD type program. Something that will allow the user to manipulate objects in 3d space. What is the best environment for doing this type of development? I'm assuming C++ is the way to go, but what tools? Will I want to use Eclipse? What tools will I want?

Upvotes: 3

Views: 2956

Answers (9)

Martin Beckett
Martin Beckett

Reputation: 96109

It depends on what exactly you want to learn.
At the heart of the 3d stuff is openGL, there is really no competitor for 3d apps, especially on non-windows platforms.

On top of this you might want a scenegraph (osg, openscengraph, coin) - this handles the list of objects you want to draw, their relationship to each other in space the ability to move one relative to the others, selecting objects etc. It calls opengGL to do the actual rendering.

Then on top of this you need a gui library. Qt, Fltk, wxWigets or one built into the scene library or written directly in openGL. This handles the menus, dialogs frames etc of your app. It provides an openGL canvas to draw into.

Personal choices are openscenegraph and Qt

Upvotes: 8

Torleif
Torleif

Reputation: 2354

If you want to program at "a higher level" than opengl, use vtk. It is quite easy to get started and has bindings to many languages.

See www.vtk.org

Upvotes: 2

Aiden Bell
Aiden Bell

Reputation: 28386

OpenGL/SDL, and the IDE is kind-of irrelevant.

My personal IDE preference is gedit/VIM + Command windows. There are tons of IDE's, all of which will allow you to program with OpenGL/SDL and other utility libraries.

I am presuming you are programming in C, but the bindings exist for Python, Perl, PHP or whatever else, so no worries there.

Have a look online for open-source CAD packages, they may offer inspiration!

Another approach might be a C#/Mono implementations ... these apps are gaining ground ... and you might be able to make it a bit portable.

Upvotes: 9

Liran Orevi
Liran Orevi

Reputation: 4903

On Linux you have no competition to OpenGL.

It's one of the big players in the 3D field, so it's definitely worth learning.

This site has some excellent guides and code examples (on various languages).

You can use OpenGL with many languages, naturally on C and C++ but also for example with JAVA using LWJGL or other API's.

Upvotes: 2

ufukgun
ufukgun

Reputation: 7209

you may use OpenSceneGraph for rendering.. it is an OpenGL based library..

and you may use OpenCascade.. it is good for 3D modelling...

we are implementing such an IDE at work and we use these things.. using pure OpenGL may be hard for you... anyway you may try...

for interface it is good to use Qt..

and i suggest you to use Eclipse if it is Linux..

(if it was Windows, suggestion would be Visual Studio)

Upvotes: 1

jsight
jsight

Reputation: 28409

For a C/C++ IDE, you have the following options:

Of course, you could also use a language like C# or Java:

There's really no reason why a simple CAD application would have to be written in C++.

Upvotes: 0

Cagdas Altinkaya
Cagdas Altinkaya

Reputation: 1730

Maybe you should consider using a graphics rendering engine such as OGRE. Coding a CAD program from scratch using OpenGL will take lots of time.

Upvotes: 2

Mike McQuaid
Mike McQuaid

Reputation: 9814

Qt has a pretty decent OpenGL-based graphics module.

Upvotes: 2

ThibThib
ThibThib

Reputation: 8210

For the 3D part, I strongly recommend the SDL Library with the OpenGL library

You can get some tutorials here

Upvotes: 3

Related Questions