T&L? the L in T&L useless? think about Raytracing..

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

LiekOMG

Golden Member
Jul 5, 2000
1,362
0
0
I don't believe that Quake 2 used radiosity lighting. The first game that came out that i'm aware of that uses it was Unreal.
 

Soccerman

Elite Member
Oct 9, 1999
6,378
0
0
"Radiosity is important in the quest for realism because many surfaces in an interior environment are lit by no direct illumination at all, and are visible only by light reflected diffusely from other surfaces."

oh? so you're saying that Raytracing won't work in that way? even though it's basically the same thing? I thought that raytracing would reflect off of any surface, and therefor would illuminate surfaces that aren't lighted with direct light from a light source..
 

IvoryGrail

Senior member
Apr 30, 2000
710
0
0


<< 3dStudio Max doesnt use raytracing, because it takes so bloody long to render a single frame >>



yes it does.....almost every major 3dapp has raytracing. You must be talking about radiosity;)
 

Remnant2

Senior member
Dec 31, 1999
567
0
0
no Ivory, he's right. 3ds does NOT generally raytrace, simply because it takes a LONG time, and 99% of the benefits of raytracing can be done with polygons. Most rendering apps have a raytrace switch, that allows you to only raytrace certain frames or objects (ex: spheres) which work really well with raytracing, and use regular polygon-based techniques for everthing else.

If you want to see/learn more about raytracing , go to
IRTC, a internet rendering competition that regularily features entries done with Povray, a free raytracer.
 

br0wn

Senior member
Jun 22, 2000
572
0
0
Radiosity is different from raytracing, but they complete each
other.

Radiosity is used to render objects with diffuse lights
(like rendering rooms, indoor objects, ...),
it can generate soft shadows very realistic.
But very poor in rendering reflective objects.

Raytracing in the other hand, generate realistic image with
reflective objects (like mirror), but can't generate realistic
soft shadows.

The idea of radiosity is based on heat transfer.
Like your heater heats your room gradually until your room
reach a stable temperature, light intensity is treated
like heat, and it simulated bouncing around every polygons
(or even subpolygons) until the intensity of light on each polygon
reach a STABLE intensity (or do not change).

In term of complexity, radiosity is far more complex and difficult
to implement than raytracing.
If you think raytracing takes long time, wait till you discover
the REAL radiosity (I'm using the term real, because some softwares,
especially the cheap ones, use raytracing to simulate radiosity).

edit :
Radiosity is view independent, meaning that it doesn't matter
from which direction you look at the image (assuming you
can move the camera position). Thus this means that once
the radiosity calculation has been done (this is the computation
expensive part, can take days or months), you can render it from
whichever direction.
This creates a good walk-through animation, thus radiosity is
usually used in architectural building, providing a walk-through
in the building and scene.
 

Soccerman

Elite Member
Oct 9, 1999
6,378
0
0
i'm going to re-ask my question from above..

&quot;Radiosity is important in the quest for realism because many surfaces in an interior environment are lit by no direct illumination at all, and are visible only by light reflected diffusely from other surfaces.&quot;

oh? so you're saying that Raytracing won't work in that way? even though it's basically the same thing? I thought that raytracing would reflect off of any surface, and therefor would illuminate surfaces that aren't lighted with direct light from a light source..

&quot;Was Radiosty or Raytracing used in the ATi Radeon, Radeon's ARK Demo?&quot;

Remedy, I don't think so, but you never know..
 

br0wn

Senior member
Jun 22, 2000
572
0
0
Soccerman, let me try to answer your question.



<<
oh? so you're saying that Raytracing won't work in that way? even though it's basically the same thing? I thought that raytracing would reflect off of any surface, and therefor would illuminate surfaces that aren't lighted with direct light from a light source..
>>



First, raytracing is NOT the same as radiosity.

Let me try to explain how raytracing and radiosity work, so you can know the difference
between the two.

RAYTRACING
It renders perpixel. For each pixel, it fires a ray from eye (or camera) to the object.
If the point intersecting the ray on the object is reflective (i.e. mirror), it bounces this ray.
On the other hand, if point on the object is refractive (i.e. crystals or transparent objects),
it will generate refraction ray (into the object).
This is done recursively until all ray hit blank or a certain depth (reflection or refraction
depth) has been reached.
Thus the color of the pixel is calculated by the SUM of
1. reflection ray if exist
2. refraction ray if exist
3. color of objects and light intensity

RADIOSITY
It renders per polygon (or subpolygons). The scene is divided into polygons or patches.
For each polygon, it will calculate which other polygons can be seen from this polygon
(basically calculating form factor in technical term).
Once the form factor for each polygon has been calculated (this is the computation expensive,
imagine if you have 10,000 polygons in a scene, you need to calculate for each polygon,
intersections and the visibility with other polygons), then it can calculate SHOOTING and GATHERING energy.
First, it starts from light source, light source will shoot energy (SHOOTING) to all patches that it
is visible to (from the form factor).
Next, All the polygons that receive energy from light source will save some energy (GATHERING) and
shoot (SHOOTING) the remainder of the energy to other polygons that its visible to.
This is done until no more energy change in each polygon or it has reached a STABLE energy :) Like
temperature in the room doesn't change after a while once you turn on the heater
(it doesn't automatically reach the stable temperature).
Then using this energy (or light intensity) for each polygon, we render the scenes.


If you want to render scenes outdoor, or scenes with lots of mirrors, or one with lots
of crystal objects, raytracing is best.
If you want to render INDOOR scene, hospital rooms, or any indoor scenes, radiosity is better
than raytracing.

One of the strength of radiosity is generating very soft shadows, if you see around you (assuming
you are indoor), you can noticed shadows everywhere, and most of them are very soft and don't
have hard edges. Raytracing can't NEVER generate this kind of shadows, all images generated
by raytracing is VERY SHARP and flashy.

Now do you see the difference ?
I know a lot of radiosity and raytracing, because I have implemented both rendering systems.

Raytracing and radiosity are called Global Illumination rendering techniques, because to render
one object, it accounts for all other objects in the scenes.

 

BoberFett

Lifer
Oct 9, 1999
37,562
9
81
Povray.org maintains excellent FAQs, etc. about raytracing in general.

Read this

Edit: Well, that wasn't the FAQ that I was thinking of. I'll see if I can find what I was looking for.