Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ebb <matt@mke3.net>2008-09-22 05:51:24 +0400
committerMatt Ebb <matt@mke3.net>2008-09-22 05:51:24 +0400
commit7522f86d010e600e17e82f98364235e96df21c1e (patch)
treec48305d18c6895613782560d20a1150bf56ae175 /source/blender/render/intern/include/shading.h
parent6701f07e66368604fcd6286bbbd42f479c5c9880 (diff)
* Volume rendering
This is an initial commit to get it in SVN and make it easier to work on. Don't expect it to work perfectly, it's still in development and there's plenty of work still needing to be done. And so no I'm not very interested in hearing bug reports or feature requests at this stage :) There's some info on this, and a todo list at: http://mke3.net/weblog/volume-rendering/ Right now I'm trying to focus on getting shading working correctly (there's currently a problem in which 'surfaces' of the volume facing towards or away from light sources are getting shaded differently to how they should be), then I'll work on integration issues, like taking materials behind the volume into account, blending with alpha, etc. You can do simple testing though, mapping textures to density or emission on a cube with volume material.
Diffstat (limited to 'source/blender/render/intern/include/shading.h')
-rw-r--r--source/blender/render/intern/include/shading.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/render/intern/include/shading.h b/source/blender/render/intern/include/shading.h
index 6f1cb8dd7a9..9229e612337 100644
--- a/source/blender/render/intern/include/shading.h
+++ b/source/blender/render/intern/include/shading.h
@@ -52,6 +52,7 @@ typedef struct ShadeSample {
/* also the node shader callback */
void shade_material_loop(struct ShadeInput *shi, struct ShadeResult *shr);
+void shade_volume_loop(struct ShadeInput *shi, struct ShadeResult *shr);
void shade_input_set_triangle_i(struct ShadeInput *shi, struct ObjectInstanceRen *obi, struct VlakRen *vlr, short i1, short i2, short i3);
void shade_input_set_triangle(struct ShadeInput *shi, volatile int obi, volatile int facenr, int normal_flip);
@@ -85,6 +86,7 @@ void shade_color(struct ShadeInput *shi, ShadeResult *shr);
void ambient_occlusion_to_diffuse(struct ShadeInput *shi, float *diff);
void ambient_occlusion(struct ShadeInput *shi);
+ListBase *get_lights(struct ShadeInput *shi);
float lamp_get_visibility(struct LampRen *lar, float *co, float *lv, float *dist);
void lamp_get_shadow(struct LampRen *lar, ShadeInput *shi, float inp, float *shadfac, int do_real);