Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

csRadiosity Class Reference

calculates radiosity. More...

#include <radiosty.h>

List of all members.

Public Methods

 csRadiosity (csEngine *current_engine, iProgressMeter *meter)
 create all radiosity data.

 ~csRadiosity ()
 get rid of radiosity data.

void DoRadiosity ()
 Does the whole radiosity thing. This is the one to call.

bool DoRadiosityStep (int steps)
 Do the radiosity a few steps at a time. More...

csPolygon3DGetNextPolygon ()
 For step-by-step radiosity: return next polygon to process.

void ToggleShowDeltaMaps ()
 For debugging: temporarily show all delta maps. More...

void RestoreStaticMaps ()
 Restore the static maps after doing ToggleShowDeltaMaps(). More...

csRadElementFetchNext ()
 get next best poly to shoot, or NULL if we should stop.

void StartFrustum ()
 Start a sector frustum to shoot from the source. callback is used.

void ProcessDest (csRadElement *dest, csFrustumView *lview)
 found a destination polygon, test and process it.

void ShootRadiosityToElement (csRadElement *dest)
 Shoot light from one polygon to another.

void PrepareShootSource (csRadElement *src)
 Prepare to shoot from source poly.

bool PrepareShootDest (csRadElement *dest, csFrustumView *lview)
 Prepare to shoot from source to dest, if false skip dest.

void PrepareShootSourceLumel (int sx, int sy, int suv)
 Prepare to shoot from a lumel.

void ShootPatch (int rx, int ry, int ruv)
 Shoot it, dest lumel given.

void ApplyDeltaAndAmbient ()
 Apply all deltamaps if stopped early, and add ambient light.

void RemoveAmbient ()
 Remove old ambient, for now.


Static Public Attributes

bool do_static_specular
 Configuration information. More...

float static_specular_amount
 amount of specular to add 0..1 is a sane setting.

int static_specular_tightness
 Bigger value gives smaller highlight. More...

float colour_bleed
 Multiplier for amount of texture colour used. More...

float stop_priority
 when priority gets below this value calculation will stop. More...

float stop_improvement
 The improvement factor in priority when calculation can stop. More...

int stop_iterations
 max number of iterations, after that amount of polygons processed stop.

int source_patch_size
 light will be shot from n by n lumels.


Detailed Description

calculates radiosity.


Member Function Documentation

bool csRadiosity::DoRadiosityStep ( int steps )
 

Do the radiosity a few steps at a time.

This is useful for debugging. Returns false on stop criterium.

void csRadiosity::RestoreStaticMaps ( )
 

Restore the static maps after doing ToggleShowDeltaMaps().

Calling DoRadiosityStep() will also do this.

void csRadiosity::ToggleShowDeltaMaps ( )
 

For debugging: temporarily show all delta maps.

Calling this again will restore the situation.


Member Data Documentation

float csRadiosity::colour_bleed [static]
 

Multiplier for amount of texture colour used.

regular value is 1.0, smaller will be darker, larger will make surroundings blend eachothers colours more. 0.0 means not to use texture colouring.

bool csRadiosity::do_static_specular [static]
 

Configuration information.

when true static specular gloss is applied, giving extra light.

int csRadiosity::static_specular_tightness [static]
 

Bigger value gives smaller highlight.

Try between 0..10. The value is the 2log(n), where n is the usual highlightsize used with specular highlighting in other programs.

float csRadiosity::stop_improvement [static]
 

The improvement factor in priority when calculation can stop.

Must be > 0. Try 1000. Larger values, better quality, more time needed.

float csRadiosity::stop_priority [static]
 

when priority gets below this value calculation will stop.

> 0.0. Set higher for shorter calculation time, and less quality.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000