diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-10-30 15:51:17 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-10-30 15:51:17 +0400 |
commit | 0c3d3e5562770586eaa95d6087d190240de5b8f2 (patch) | |
tree | cf72e859a15a12d2bbf5c6129dc7d5f91f384e6e /intern/cycles/render/shader.h | |
parent | e09a1bc7cff068484ec43bb3383d4981e998c0cf (diff) |
Cycles: optimization to not compile shaders and load images that are not
used by any mesh/lamp/world.
Diffstat (limited to 'intern/cycles/render/shader.h')
-rw-r--r-- | intern/cycles/render/shader.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h index 02788008060..90ae67eecff 100644 --- a/intern/cycles/render/shader.h +++ b/intern/cycles/render/shader.h @@ -75,11 +75,15 @@ public: /* requested mesh attributes */ AttributeRequestSet attributes; + /* determined before compiling */ + bool used; + Shader(); ~Shader(); void set_graph(ShaderGraph *graph); void tag_update(Scene *scene); + void tag_used(Scene *scene); }; /* Shader Manager virtual base class @@ -98,6 +102,7 @@ public: virtual void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) = 0; virtual void device_free(Device *device, DeviceScene *dscene) = 0; + void device_update_shaders_used(Scene *scene); void device_update_common(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); void device_free_common(Device *device, DeviceScene *dscene); |