diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-01-28 00:40:08 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-01-28 00:40:08 +0300 |
commit | 5445dda2956d64385b20874592b3305b7056505a (patch) | |
tree | 59975e804583931180994c24b0d3d04e485e7d0f /source/blender/render/extern/include/RE_shader_ext.h | |
parent | 478dc000b3d65af48422154769641a3ecbe071d8 (diff) |
Ambient Occlusion split up into:
Ambient occlusion: multiplied with direct lighting by default, add
is also still available and more blending methods might be added if
they are useful. This is fundamentally a non physical effect.
Environment lighting: always added as you would expect (though you can
subtract by specifying negative energy). This can be just white or take
colors or textures from the world.
Indirect lighting: only supported for AAO at the moment (and is still
too approximate), and also is always added. A factor is available to
specify how much is added, though value 1.0 is correct.
Also:
* Material ambient value now defaults to 1.0.
* Added Environment, Indirect and Emit pass.
* "Both" blending method is no longer available.
* Attenuation, sampling parameters are still shared, some could be split
up, though if they are different this would affect performance.
Diffstat (limited to 'source/blender/render/extern/include/RE_shader_ext.h')
-rw-r--r-- | source/blender/render/extern/include/RE_shader_ext.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h index 28d88e1f8b4..a7c0f9511a5 100644 --- a/source/blender/render/extern/include/RE_shader_ext.h +++ b/source/blender/render/extern/include/RE_shader_ext.h @@ -49,10 +49,13 @@ typedef struct ShadeResult float combined[4]; float col[4]; float alpha, mist, z; + float emit[3]; float diff[3]; /* no ramps, shadow, etc */ float spec[3]; float shad[3]; float ao[3]; + float env[3]; + float indirect[3]; float refl[3]; float refr[3]; float nor[3]; @@ -153,7 +156,7 @@ typedef struct ShadeInput float dxstrand, dystrand; /* AO is a pre-process now */ - float ao[3], indirect[3]; + float ao[3], indirect[3], env[3]; int xs, ys; /* pixel to be rendered */ int mask; /* subsample mask */ |