Learn 3D Graphics Programming with OpenGL for Physics

  • Thread starter cscott
  • Start date
  • Tags
    Physics
In summary, the conversation is about learning 3D graphics programming from a mathematical perspective. The participants recommend various books such as the official OpenGL books, VTK, Nehe Tutorials, Nate Robins, SDL, GLUT, OpenGL for Game programming, 3D game engine development, 3D Mathematics for Game programming, Realtime collision detection, and Chris Hecker's papers. They also mention the book "The Art of Computer Programming" and suggest skipping OpenGL and writing a ray-tracer instead.
  • #1
cscott
782
1
I want to learn 3d graphics programming from a math point of view. Can anyone recommend a good book? The best I've found is

[I'm a physics major and like doing computational science stuff]
 
Last edited by a moderator:
Technology news on Phys.org
  • #2
cscott said:
I want to learn 3d graphics programming from a math point of view. Can anyone recommend a good book? The best I've found is

[I'm a physics major and like doing computational science stuff]

If you want OpenGL, maybe try the official OpenGL books? They'll have a lot on the basics of rendering pipelines, etc.

If you'd like something a little higher level, maybe try VTK: http://www.vtk.org. The emphasis in their books (and free software) will be more on visualizing scientific data, less on the actual algorithms.
 
Last edited by a moderator:
  • #3
i would avoid using vtk...as a physics student i would assume you want to do dynamics rendering and not just static. VTK is inherently slow if you do lots of dynamics and the books for VTK are written in script(python? no wait tcl/tk). Its not hard to learn VTK C syntax through the script but its annoying and takes a long time, time away from other stuff you can do as a student.

If you just want to learn how to use opengl: the red book and blue book(the official books mentioned above) are probably your best bet. They are on the official site,i think its opengl.org or its from SUN? just search "opengl red book"

If you want hands on tutorials: Nehe Tutorials and Nate Robins(i hope that's the correct name and spelling) used to be open source i Don't know if they are now...but Nate Robins code is probably better because it follows most opengl book schemes

if you want to learn about interactive camera navigation:
www.libsdl.org OR glut(opengl's version) which are the easier GUI sdks to use with Opengl.

if you want to learn about 3D math involved in 3D engine progrmaming:
with opengl: I suggest picking up the Opengl for Game programming books, the one i learned from is from the primatech series(do they still exists) editor andre lamothe
This one has an entire physics one at the back but its in OO design

OR david eberly's "3D game engine development" also in OO design

[and the better 2 that i have been introduced]
if you want to learn just the coding for the mathematics & physics(classical?) components
Eric Lengyel: 3D Mathematic for Game programming( or something by a similar name)
has no code but its structure will lead you in the order you should code stuff and it covers so much of 3D math & physics including basic numeircal principles if you haven't already covered them as well as curves/surfaces and bounding volumes/collision stuff.

Christof Ericson: Realtime collision detection. The book I am currently working through.
Its got all the geometry stuff that the lengyel book doesn't have organized in a better order but its first few chapter orders don't compare to the lengyel book.
The great thing abotu this book its got code, gives you a great starting point for the code, has an extensive geometry section, and talks about spatial partitioning as well as robustness. Bad thing is that though most of the functions are complete..there are a lot of snippet codes and "if you want to go further look at this reference".

Lastly
[0] Chris Hecker's papers on 3D physics if you can find them (siggraph or the gaming one)
[1] THe bible for graphics Foley and Van Damm (u go to waterloo right? this book should be in the library).
 
  • #5
Thanks for all the suggestions. I'll definitely look up some of these books.

Has anyone heard of the book I linked? It was linked on the OpenGL website and I was especially interested in the bit on raytracing. Based on the contents, at what level is it at? I've only taken a year of CS and a basic numerical analysis class.
 
  • #6
If I were you, I would actually skip OpenGL completely, and just write your own ray-tracer. Look into the open-source povray, for example.

- Warren
 
  • #7
ooo I never knew about povray. Thanks!
 

Related to Learn 3D Graphics Programming with OpenGL for Physics

1. What is OpenGL and why is it important for 3D graphics programming?

OpenGL is a cross-platform graphics API (application programming interface) that is used to create 2D and 3D graphics. It allows developers to access the graphics hardware of a computer and render images, animations, and other visual effects. It is important for 3D graphics programming because it provides a standard set of functions and commands that can be used to create high-quality and efficient graphics across different platforms.

2. How can learning 3D graphics programming with OpenGL benefit a physicist?

Learning 3D graphics programming with OpenGL can benefit a physicist in several ways. It can allow them to create realistic visualizations of physical concepts and models, which can aid in understanding and communicating complex ideas. It can also be used to simulate and visualize physical phenomena, such as fluid dynamics or electromagnetism, which can be helpful in research and experimentation.

3. Do I need any prior programming knowledge to learn 3D graphics programming with OpenGL?

Yes, it is recommended to have a basic understanding of programming concepts and a familiarity with a programming language such as C or C++. Having a strong foundation in mathematics, particularly linear algebra and geometry, can also be helpful in understanding 3D graphics programming concepts.

4. Are there any resources available to help me learn 3D graphics programming with OpenGL?

Yes, there are many resources available online, such as tutorials, books, and forums, that can help you learn 3D graphics programming with OpenGL. Additionally, there are online courses and workshops that can provide hands-on learning experiences and support from experienced instructors.

5. Can learning 3D graphics programming with OpenGL be useful for other fields besides physics?

Yes, learning 3D graphics programming with OpenGL can be useful for various fields, including computer science, game development, animation, architecture, and more. It is a versatile skill that can be applied to create visualizations and simulations in many different industries and disciplines.

Similar threads

  • Programming and Computer Science
Replies
3
Views
1K
  • Programming and Computer Science
Replies
9
Views
2K
  • Programming and Computer Science
Replies
1
Views
1K
  • Programming and Computer Science
Replies
8
Views
1K
  • Programming and Computer Science
Replies
1
Views
1K
  • Programming and Computer Science
Replies
4
Views
3K
  • Programming and Computer Science
Replies
10
Views
3K
  • Programming and Computer Science
Replies
8
Views
897
  • Programming and Computer Science
Replies
4
Views
1K
  • Programming and Computer Science
Replies
15
Views
2K
Back
Top