Discussion in 'Computer Science & Culture' started by Fydus, May 25, 2004.
Anybody know how to program with openGL?
I need alot of help if you guys can help me...
Log in or Sign up to hide all adverts.
I haven't written up too much or posted too many links on this site, but you should check out this particular page as it has links to some places you might want to look at involving OpenGL.
I use visual c++. I have found sites that give tutorials on how to work with openGL but my include files and .lib files are bad. I can't seem to find glut32.lib anywhere. And my gl.h seems to have errors in it. Anyone know where i can find these files?
I was having the same problem originally... I think it was just the way the project I had was setup.
This link has tons of examples from very basic to fairly complex. I was able to take "Quake3 BSP Loader3" and "MD3 Animation" and make a working 3d chat within a day. The examples there are well commented and compatible with each other (for the most part).
(As an aside, the code on that page did have some funky way of loading textures for quake models... I don't remember exactly what I did, but that took me the most amount of time to fix.)
I tried to open up some of the source code - but it gives me tons of "unresolved external symbol" errors. You mind telling me what you do? or if maybe im missing something? - On the read me it listed the files i needed and I have all of them. *tear* want to learn openGL so baddddd... *btw awesome site lol, if i ever get the sources to work*
hmmm.... I just had to make my own project file.
Start a new project and import all the files. If that doesn't work, I have no idea...
If you have msvc, you need go into project properties and add at least opengl32.lib glu32.lib to linker command line options. This <a href="http://nehe.gamedev.net/">site</a> has a number of good tutorials.
i would suggest downloading the Direct X SDK rather than using OpenGL.
www.truevision3d.com is a good 3d engine if you merely wish to create basic simple stuff.
Actually what I would recommend looking into I believe it covers areas that allow 3D animation which are "Cross platform" (The magic words of the universe currently)
They are creators of the BINK32 Library that is commonly used in such games as Diablo2 and Tropico along with Smacker.
Basically with such additions to your scripts it alters how you setup your graphical buffering and can increase the speed of your gaming.
Btw, Directx might be fine for Windows projects and even XBOX but it's pretty useless for any other platform/architecture out there.
okinrus has it right. It looks like you're just not linking to the libraries. You can find fresh versions of the GLUT headers and library file here: http://www.xmission.com/~nate/glut.html
If you're using MSVC, make sure you include gl.h after you include stdlib (or cstdlib), if you include it. gl.h has a definition for the exit() template that's different than the stdlib definition, and MSVC doesn't like it.
If this is your first 3D experience, I definitely recommend going OpenGL. It may be a little stale and outdated, but it's much easier to get a grasp on than DirectX is. You'll need to use extensions to get some of the newer and more advanced functionality, however.
okinrus was right, thanks all!
I'd go openGL simply because it is platform independant... mostly...
The best tutorials of opengl i've ever seen it's nehe's tutorials...
Its interesting to note that you all give openGL the thumbs up for one reason.. cross platform, then tell everyone to use VC6, which for all intensive purposes is a windows base compiler. Go directX, its easy, its fast, and it does everything a good mutimedia app needs, all in the one package. 2D/3D, sound, sound capture, music, video, video capture, mouse, joysticks (in their 100's of forms), force feedback, and networking. It is easy to use with hundreds of samples just from Microsoft. It takes advantage of the latest hardware because most hardware creators and Microsoft are on the same path.
For example the ATI 9700 -9800 offer edge only antialias and multi-sample antialias. Edge only is much faster, doubling at least the frame rate, turning a dog display at sub 30fps, to a smooth as silk monster antialiased 120fps. Unfortunately edge only does not seem to be part of the OpenGL extensions.
Then your customer asks if he can use a joystick to move around, then he wants sound, then he wants his associate down the hall to move with him in the model, then he wants to display the corporate video, then he wants to have a live image sent to his associate over the web super imposed over the current working display, and talk to him. I would hate to have to create a multi platform app to do all this. Imagine all the problems with different libraries and packages, testing for every possible driver. You should be using Java, which is at least 2-3 years behind the times.
If you want cross platform, you hire two programers, and write the app twice, or three times, etc..
Don't be fooled by the cross platform bandwagon. It simply means that your apps will run slower and have less features.
Actually, i use opengl because it is extremely simple, if you want to do simple things... I´m not a game developer (not yet), and the app i do i'ts to simple to go to directx, it has to much initialization to do something simple...
Some of the aplications:
Reversi game, not worth to use directx:
If i'd have to write a fully functional game, undoubtly i would choose directx...
Whether something is cross platform becomes a good reason when someone wants to do anything besides game. Besides, the performance and lack of driver support depend on who develops the drivers for the video card. I suspect one of the new SGI graphic workstations running opengl will out perform just about any window's workstation running directx.
There's no reason you cannot use opengl together with the other directx libraries microsoft provides.
At twice the cost Please Register or Log in to view the hidden image!
Opengl is not really cross platform. It's merely a standard that specific implementations can use. It need not need be slower than a platform specific library.
Please Register or Log in to view the hidden image!
Separate names with a comma.