Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/addon/engine.py
| Show First 20 Lines • Show All 133 Lines • ▼ Show 20 Lines | |||||
| def create(engine, data, region=None, v3d=None, rv3d=None, preview_osl=False): | def create(engine, data, region=None, v3d=None, rv3d=None, preview_osl=False): | ||||
| import _cycles | import _cycles | ||||
| import bpy | import bpy | ||||
| data = data.as_pointer() | data = data.as_pointer() | ||||
| prefs = bpy.context.preferences.as_pointer() | prefs = bpy.context.preferences.as_pointer() | ||||
| screen = None | |||||
| if region: | if region: | ||||
| screen = region.id_data.as_pointer() | |||||
| region = region.as_pointer() | region = region.as_pointer() | ||||
| if v3d: | if v3d: | ||||
| screen = screen or v3d.id_data.as_pointer() | |||||
| v3d = v3d.as_pointer() | v3d = v3d.as_pointer() | ||||
| if rv3d: | if rv3d: | ||||
| screen = screen or rv3d.id_data.as_pointer() | |||||
| rv3d = rv3d.as_pointer() | rv3d = rv3d.as_pointer() | ||||
| engine.session = _cycles.create( | engine.session = _cycles.create( | ||||
| engine.as_pointer(), prefs, data, region, v3d, rv3d, preview_osl) | engine.as_pointer(), prefs, data, screen, region, v3d, rv3d, preview_osl) | ||||
| def free(engine): | def free(engine): | ||||
| if hasattr(engine, "session"): | if hasattr(engine, "session"): | ||||
| if engine.session: | if engine.session: | ||||
| import _cycles | import _cycles | ||||
| _cycles.free(engine.session) | _cycles.free(engine.session) | ||||
| del engine.session | del engine.session | ||||
| ▲ Show 20 Lines • Show All 125 Lines • Show Last 20 Lines | |||||