Are there any extensions to do the following (RayT, , Phong, Color Bleed etc...)

I’m just wondering, if there are any extensions for OGL that will do things like:

  • ray-tracing (simple)
  • some form of color bleeding/global illumination
  • Phong shading?

If there are, what speed can you get with Phong + ray trace on? :slight_smile:

Thank you,

There is no (consumer market) graphics chip that is able to do ray tracing in hardware, and phong shading is more or less the same as per pixel lighting, which is more or less the same as bump mapping, for which there are a number of techniques in OpenGL.

In general, none of the features you mentioned are supported “out of the box” as someone else (forgot name) mentioned, which is the reason why I said that d3d also does not direclty support them, they are all quite advanced programming compositions which take some effort. I really suggest that you

a) trust in us as we say that OpenGL is worth the effort of learning (and better than d3d)


b) start with the basics, as the techniques you are asking about are very advanced, in OGL as well as d3d, and you first should learn the basics.


Thanks Jan,
I hope a graphic chip that could do ray-tracing and global illumination in mainstream cards is not too far away. I wonder if there are any articles or predictions about that.
Thanks again,

I would really like to know what you are planning to do, as it does NOT sound like a beginner who wants to learn OpenGL .

However I guess that a graphics chip that can do raytracing in realtime is very far away as this is a task that is far more complex than that what graphics chips do at the moment.

And again, before you can do something like that, you should learn the basics (render a triangle g). Then, you would be able to answer a lot of your questions yourself, e.g. the one with the background image.

Thanks for your constant help Jan and for your advices. You have asked me what I want to do. Well, ok… My real passion is high end animation :slight_smile: I’ve used XSI and Maya on daily basis ever since they came out. I didn’t really care about the outsides, what really intrigued me were the insides of those software :slight_smile: E.g. how did Mental Ray render that… what was involved etc… I have a degree in genetics but doing second degree, I have one year left in CS. I have not yet taken any graphics programming courses, but will have 4 this year. But I really like to learn on my own, that’s why I do it now :slight_smile: Anyway, my final goal? To work for Alias or Softimage (Avid) or a company that works on a great game with awesome graphics :slight_smile: I’ve tried to learn DirectX, but I absolutely hate it :slight_smile: It’s syntax, its ugly code etc. etc. but it does seem to me that (extensions excluded) it is better suited for games (just talking about 3d part, not whole DirX) than OpenGL. Anyway, I’m on 250pg of OpenGL programming guide and plan to finish it this week. Then I’ll go to extensions and cG possibly and learn those. Eventually, after I use OpenGL to understand all the graphics and math that is involved, I might try to toy around with my own ideas, perhaps write a plugin or two for XSI or Maya.
Anyway, that’s the story :slight_smile:

You may also want to consider becoming a mathematician and study algorithms. I think OpenGL is more about creating illusions with texture mapping as ray tracing is a non-deterministic polynomial time operation (is this correct?).

Once you get through the book, you will probably know tecniques that a lot of other people already know.

I suggest you start getting creative and try to design your own method to fake real time ray tracing. This will probably be a lot of pencil and paper work.

Well, you may not need to be a mathematician, but try to think outside the “book” as well.

good luck,

Hey hkyProgrammer :slight_smile:
Thanks for your suggestions. I have basic university math, but math for me is no longer fun :slight_smile: I used to love it, until I had to take 2 courses in Discreen Mathematics for my CS degree. No more math, proofs of math research after that… never! :slight_smile:

you must be very intelligent… what a strange idea to read the whole red book and then learn cg without getting any practical experience, without programming… I can’t really believe that this will lead anywhere, but of course I can be wrong at that . But problems occur often not with the things that you learn when you read it, but from practical things like memory and bandwidth limitation, too small depth buffer precieion, generally a lot of things you would neither expect nor imagine. at least, this is my experience, OpenGL itself is the simple part of graphic programs, everything else is the problem.

“you must be very intelligent… what a strange idea to read the whole red book and then learn cg without getting any practical experience, without programming… I can’t really believe that this will lead anywhere, but of course I can be wrong at that”
Jan, I’m not sure what you mean… I do programming at school on daily basis. I also started coding in OpenGL as I read the book.
As for math, before I started learning OpenGL, I’ve read “3d Math Primer” and went through some of David Ebery “Geometric Tools for CG”. Why I might not have understood everything :slight_smile: or might not remember it all :wink: I do get the basics. OpenGL is must for me if I want to do game programming and in order to learn more about graphics I need to know OpenGL so I can at least visualize my code somehow.
Anyway, if you want to suggest alternative pathway to achieva what I want, I’ll be more than glad to hear it. I’m still trying to figure out how and in what order am I going to learn it all :slight_smile:


I mean, there is a big difference between rather small programs for practicing and large, “real” prejects. it is easy to render some hundred triangles, for example, but when you got a terrain with some millions, you will find out that the challenging things lie not within the OpenGL part of the application. Even in games, I think the graphics part is rather trivial (everyone has a great graphics engine anyway), but what is really expensive and time consuming for the developers is the ai, the level design etc. to write something like a portal based or bsp tree based indoor engine with bump mapping and enviroment mapping and dynamic lights and shadows and so on is of course not “easy” and might be a lot of fun, but I think is definitely far away from being the most complicated part of game design.

I would say that if you want to do game programming, then do game programming. Just start simple. Maybe pong (don’t laugh) or yet another Asteroids clone. Keep it simple at first so you don’t get frustrated, and add features as you go. But get the first one done. ID Software didn’t start with Doom III. Go check out their web page and see how they progressed with each game. And that’s just the commercial ones. I’m guessing they started hacking together simpler stuff before their first commercial release.

[This message has been edited by starman (edited 07-29-2003).]