diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-10-20 06:08:26 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-10-24 02:03:59 +0300 |
commit | ae41f38f78f8c54f92cf34dd88e35948e19aed55 (patch) | |
tree | 4fb39bf2ed8ca0bece837f93b8e69851b07bf547 /intern/cycles/render/scene.cpp | |
parent | cc96cdd9d49c6029e2abc62d81556e2f22480438 (diff) |
Code refactor: pass device to scene, check OSL with device info.
Diffstat (limited to 'intern/cycles/render/scene.cpp')
-rw-r--r-- | intern/cycles/render/scene.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp index cf89385a33d..00c32312d9f 100644 --- a/intern/cycles/render/scene.cpp +++ b/intern/cycles/render/scene.cpp @@ -40,10 +40,9 @@ CCL_NAMESPACE_BEGIN -Scene::Scene(const SceneParams& params_, const DeviceInfo& device_info_) -: params(params_) +Scene::Scene(const SceneParams& params_, Device *device) +: device(device), params(params_) { - device = NULL; memset(&dscene.data, 0, sizeof(dscene.data)); camera = new Camera(); @@ -54,13 +53,13 @@ Scene::Scene(const SceneParams& params_, const DeviceInfo& device_info_) mesh_manager = new MeshManager(); object_manager = new ObjectManager(); integrator = new Integrator(); - image_manager = new ImageManager(device_info_); + image_manager = new ImageManager(device->info); particle_system_manager = new ParticleSystemManager(); curve_system_manager = new CurveSystemManager(); bake_manager = new BakeManager(); /* OSL only works on the CPU */ - if(device_info_.type == DEVICE_CPU) + if(device->info.has_osl) shader_manager = ShaderManager::create(this, params.shadingsystem); else shader_manager = ShaderManager::create(this, SHADINGSYSTEM_SVM); |