Off-Topic: Raytracing/Radiosity

Any good Web sites on this topic for beginners?

Thank you very much.

If you search google for “raytracing” and “tutorial” you some useful hits.

Mikael

Thanks for the input.

I will be doing a proj with it in 6 wks so if you have any general suggestions, please let me know.

I use a raytracer called POV-ray. Best point it’s free. Do a google search on POV-ray

First, you can draw the entire scene using OpenGL primitive and store a different value (cf. one different id) for each object into the stencil buffer (but this is limited to 256 object in actual hardware, but you can have 65536 object with twso passes …)

Or storing directely the adress of each object into the color buffer (cf. one rgba color is a 32 bits value, so you can store a 32 bits pointer into it) and use this pointer for the next pass that make really the raytracing.

This was a huge acceleration for the simpler raytrracer we can make but with this we handle only the first intersection, we doesn’t handle all the things that make the real power of raytracing because it’s not recursive …

But we can “easily” handle say one or two indirection, per example reflexion and/or refraction, by using a cube-map, a sphere-map or others qqchose-map that can store the reflexion and/or refraction into a texture.

Really, I think that is the moment that a lot of guys into the OPENGL team spend a little time for thinking about a REAL evolution of OpenGL (we have now vertex and fragment program, so for me, nothing can now really block things for upgrade the GL core with some raytracing possibilities …

I have personnaly suggered thing like GL_POINTER_BUFFER_BIT or GL_NORMAL_BUFFER_BIT for explain this, but nobody seem to have something to speak about …

@+
Cyclone

Thanks everyone for your input.

Yes, it looks I will be using POV-Ray for the project.

I was also wondering if some of you could tell me what the applications are? More specifically, where can someone find work that employs raytracing with POV-Ray or another tracer? Since most of the help wanted postings on this site are opportunities for OpenGL, I am not really sure about it.

Was wondering if anyone else has any thoughts on this?

Thanks a lot.

Hi !

Global illumination/raytracing is more used today then in the past, but it is still not that common in the “commercial” area of rendering, in the movie industry scanline/zbuffer/reyes are the most common solutions, but it is changing I think.

Raytracing is a little more common in advertising (in shorter animations you can live with raytracing).

But I does look like hybrid renderers are growing (scanline/raytracing combinations).

Today the problem with raytracing is not speeed, it’s memory. if you take an ordinary movie scene it contains a huge amount of triangles (displacement mapping is common and it can generate zillions of trinagles for a singel object), with a pipeline renderer (OpenGL,reyes,zbuffer) you don’t need to bother that much, but a raytracer “must” keep all the geometry in ram…

There are solutions to this to (raycache), when you cache the geometry on disk and reorder rayes based on coherence, but this is a bit tricky to do and not very common.

But I think the world will switch over to raytracing more and more, maybe with the exception of realtime rendering where hardware zbuffer rendering might be the best solution, but who knows…

Mikael

Yes

But there are big areas where OpengGL has never really wanted to go …

Things like ATI TrueForm become to begin but areas like displacement mapping aren’t really optimised with current OpenGL implementations …

In effect, why to have to reconstruct yourself the entire micro-geometry by generating lots of vertex/ triangles when only the displacement map (and say some infos about the amplitude) is really necessary for this
=> OpenGL have effectively now a too big number of micro-facets to generate for dreaming about raytracing
==> but if OpenGL can generate itself the micro-geometry, one terrain can be only a quad, a texture and one amplitude of “deformation” … and here no problem with memory

@+
Cyclone

[This message has been edited by cyclone (edited 09-24-2003).]