Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/blender_viewport.cpp
| Show All 9 Lines | |||||
| * Unless required by applicable law or agreed to in writing, software | * Unless required by applicable law or agreed to in writing, software | ||||
| * distributed under the License is distributed on an "AS IS" BASIS, | * distributed under the License is distributed on an "AS IS" BASIS, | ||||
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "blender_viewport.h" | #include "blender_viewport.h" | ||||
| #include "blender_util.h" | |||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
| BlenderViewportParameters::BlenderViewportParameters() | BlenderViewportParameters::BlenderViewportParameters() | ||||
| : use_scene_world(true), | : use_scene_world(true), | ||||
| use_scene_lights(true), | use_scene_lights(true), | ||||
| studiolight_rotate_z(0.0f), | studiolight_rotate_z(0.0f), | ||||
| studiolight_intensity(1.0f), | studiolight_intensity(1.0f), | ||||
| studiolight_background_alpha(1.0f), | studiolight_background_alpha(1.0f), | ||||
| Show All 28 Lines | return use_scene_world != other.use_scene_world || use_scene_lights != other.use_scene_lights || | ||||
| studiolight_path != other.studiolight_path; | studiolight_path != other.studiolight_path; | ||||
| } | } | ||||
| const bool BlenderViewportParameters::custom_viewport_parameters() const | const bool BlenderViewportParameters::custom_viewport_parameters() const | ||||
| { | { | ||||
| return !(use_scene_world && use_scene_lights); | return !(use_scene_world && use_scene_lights); | ||||
| } | } | ||||
| PassType BlenderViewportParameters::get_viewport_display_render_pass(BL::SpaceView3D &b_v3d) | |||||
| { | |||||
| PassType display_pass = PASS_NONE; | |||||
| if (b_v3d) { | |||||
| BL::View3DShading b_view3dshading = b_v3d.shading(); | |||||
| PointerRNA cshading = RNA_pointer_get(&b_view3dshading.ptr, "cycles"); | |||||
| display_pass = (PassType)get_enum(cshading, "render_pass", -1, -1); | |||||
| } | |||||
| return display_pass; | |||||
| } | |||||
| PassType update_viewport_display_passes(BL::SpaceView3D &b_v3d, | |||||
| vector<Pass> &passes, | |||||
| bool reset_passes) | |||||
| { | |||||
| if (b_v3d) { | |||||
| PassType display_pass = BlenderViewportParameters::get_viewport_display_render_pass(b_v3d); | |||||
| if (reset_passes) { | |||||
| passes.clear(); | |||||
| /* We always need a combined pass for now. It would be a good optimization | |||||
| * to support rendering without combined pass. */ | |||||
| Pass::add(PASS_COMBINED, passes); | |||||
| } | |||||
| if (display_pass != PASS_COMBINED) { | |||||
| Pass::add(display_pass, passes); | |||||
| } | |||||
| return display_pass; | |||||
| } | |||||
| return PASS_NONE; | |||||
| } | |||||
| CCL_NAMESPACE_END | CCL_NAMESPACE_END | ||||