What Graphics Library works with Windows 7?

Started by
6 comments, last by Tereth 12 years ago
The last week I have been wandering through the planes of GL bewilderment trying to get a library to work with Microsoft Visual C++ 2010, so I can start learning how to implement graphics into my programs.

The three tutorials I have tried:
NeHe --(didn't work at all)
Learning Modern 3D Graphics Programming--(trouble with unrecognized binary files)
Cprogramming.com --(just an insane amount of library problems)

Is there a combination of IDE and library that is compatible with Windows 7? If so, what is this combination that has been eluding me? And, where is a tutorial that works with Windows 7?

I know how to program in C++, but I am not a computer scientist, I study Biochemistry. So, if there are advanced C++ concepts or programming concepts outside of C++ that I need to know in order to get this all set up, please refer me to somewhere I can learn them, because I will not know them. I am willing to learn though!

Figuring out how to get started in graphic programming is harder than understanding physical chemistry! Is this mind blowingly frustrating process what everyone else has to go through?
Advertisement
Figuring out how to get started in graphic programming is harder than understanding physical chemistry! Is this mind blowingly frustrating process what everyone else has to go through?


If you mean dependency management, then pretty much. It does help if you understand, in principle, and how to configure your IDE's settings for:

  • the overall build process: preprocess, compile, link
  • include search paths: any headers you directly or indirectly #include must be in these
  • difference between static and dynamic linking: static, code used from the .lib is included directly into your binary; dynamic, it's loaded at runtime
  • library search paths: there are separate arrangements for static and dynamic libraries
  • linker dependencies: outside a small set of defaults, you must explicitly direct the linker which libraries to search for


To this end, here are some links to MSDN that help get started:
C/C++ Building Reference
VC++ Directories Property Page
Linker Property Pages
Linking Implicitly (to a DLL)

None of this is OpenGL specific, not least because I don't have much experience setting it up, but it's important to know anyway and should at least help give you an idea of a) what you're looking for and b) what specific questions to ask. It does seem that if you have the Windows SDK installed - in C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A for me - that the necessary OpenGL lib and headers are in there. If you want to use libraries on top of these like GLUT or GLEW, they will probably need downloaded separately. But, again, I have only built against OpenGL once and that was on Ubuntu.
[TheUnbeliever]

[background=rgb(250, 251, 252)]"implement graphics into my programs" "[/background]


[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif][background=rgb(250, 251, 252)]I study Biochemistry"[/background][/font]




[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif][background=rgb(250, 251, 252)]If you're visualizing data, have you taken a look at VTK? No point writing at the graphics API level unless you have to.[/background][/font]



http://www.vtk.org/

VTK's got C++/Python/.NET/etc bindings. Unless you're required to write in C++, python/.NET are excellent choices.

If you mean dependency management,


Thanks a lot for the references. I'll go through them this week and hopefully they'll help me get closer to something I can work with. What do you mean by dependency management? I am unfamiliar with this term. Do you mean something like...

I can't start learning how to use graphics libraries until I set up working libraries with my IDE, which I can't do until I understand what goes into calling all these libraries with my IDE, which I can't do until I understand how my IDE works, etc...?



If you're visualizing data, have you taken a look at VTK? No point writing at the graphics API level unless you have to.


Yeah, I totally agree, however, I want to learn how to use these graphics libraries for both work and personal projects. I was going to use my work projects almost as an exercise to build a skill set for stuff I am working on in my free time. However, even for work, the graphics I want to introduce would be paired with some pretty intense physical chemistry and folding algorithms that would need flexibility in the graphics libraries used. I know the OpenGL and GLEW libraries have this flexibility, but I haven't looked into whether VTK does or not. I'll have to look into this.
As far as moving away from C++, you are probably right that Python and .NET are easier, but they aren't languages that I know. I know most languages have a great deal of overlap, however, I am pretty familiar with C++ because I have been coding in it off and on for years.

I guess at this point, I can rephrase my question a little better:
What C++ IDE works with both GLEW libraries and Windows 7?
I can't start learning how to use graphics libraries until I set up working libraries with my IDE, which I can't do until I understand what goes into calling all these libraries with my IDE, which I can't do until I understand how my IDE works, etc...?


Sorry I wasn't clear - that is dependency management, but not the domain I had in mind. I meant in terms of dependencies on other packages, and particularly where interdependencies between those packages lead into 'dependency hell'. You have situations where you depend on both A and B, A and B both depend on C, and there is no single version of C compatible with both A and B. Or worse.
[TheUnbeliever]

Sorry I wasn't clear - that is dependency management, but not the domain I had in mind. I meant in terms of dependencies on other packages, and particularly where interdependencies between those packages lead into 'dependency hell'. You have situations where you depend on both A and B, A and B both depend on C, and there is no single version of C compatible with both A and B. Or worse.


I understand what you're saying now. I guess I'm in "dependency hell" then. What do you suggest my next step should be?
You know what DRMP, I've been coding for over 10 years and I still occasionally get these problems! A simple check list would be:

(1) Ensure your project include and library paths are pointing at the correct directories (containing the libraries you want to use)
(2) Ensure you add the .libs to your project library dependencies
(3) Ensure you #include the headers you want to use.
(4) If you have any hair left, pull it out.

You know what DRMP, I've been coding for over 10 years and I still occasionally get these problems! A simple check list would be:

(1) Ensure your project include and library paths are pointing at the correct directories (containing the libraries you want to use)
(2) Ensure you add the .libs to your project library dependencies
(3) Ensure you #include the headers you want to use.
(4) If you have any hair left, pull it out.


Haha thanks for the advice, I hope I don't get to the hair pulling stage. I think I'm going to just go through tutorials and recreate the code myself using libraries I can find and by checking out more information on the nuts and bolts of C++.

I really appreciate all of the help. This seems like a great community. Hopefully some day I can give back.

This topic is closed to new replies.

Advertisement