- Xmas special: shiny mirroring bells & whistles!

This is a revision of the old NeoGeo raytracer, dusted off, improved quite
a lot, and nicely integrated in the rest of rendering pipeline.
Enable it with F10-"Ray", and set either a 'ray-shadow' lamp or give the
Material a "RayMirror" value.
It has been added for 2 reasons:
- get feedback on validity... I need artists to play around with it if it's
  actually useful. It still *is* raytracing, meaning complex scenes will
  easily become slow.
- for educational purposes. All raytracing happens in ray.c, which can be
  quite easily adjusted for other effects.

When too many disasters pop up with this, I'll make it a compile #ifdef.
But so far, it seems to do a decent job.

Demo files: http://www.blender.org/docs/ray_test.tgz
An article (tech) about how it works, and about the new octree invention
will be posted soon. :)

Note: it doesn't work with unified render yet.
This commit is contained in:
2003-12-10 20:41:53 +00:00
parent cad30134cb
commit a18cc02374
15 changed files with 1814 additions and 87 deletions

View File

@@ -45,7 +45,6 @@ unsigned int calchalo_z(struct HaloRen *har, unsigned int zz);
float spec(float inp, int hard);
void shade_lamp_loop(void);
void add_halo_flare(void);
/**
@@ -85,7 +84,7 @@ void zbufshadeDA(void); /* Delta Accum Pixel Struct */
/**
* Also called in: zbuf.c
*/
void shadepixel(float x, float y, int vlaknr);
void shadepixel(float x, float y, int vlaknr, int mask);
/**
* Shade the pixel at xn, yn for halo har, and write the result to col.