1 # SPDX-FileCopyrightText: 2011-2022 Blender Foundation
3 # SPDX-License-Identifier: Apache-2.0
8 class StormHydraRenderEngine(bpy
.types
.HydraRenderEngine
):
9 bl_idname
= 'HYDRA_STORM'
10 bl_label
= "Hydra Storm"
11 bl_info
= "USD's high performance rasterizing renderer"
14 bl_use_gpu_context
= True
16 bl_delegate_id
= 'HdStormRendererPlugin'
18 def get_render_settings(self
, engine_type
):
19 settings
= bpy
.context
.scene
.hydra_storm
.viewport
if engine_type
== 'VIEWPORT' else \
20 bpy
.context
.scene
.hydra_storm
.final
22 'enableTinyPrimCulling': settings
.use_tiny_prim_culling
,
23 'maxLights': settings
.max_lights
,
24 'volumeRaymarchingStepSize': settings
.volume_raymarching_step_size
,
25 'volumeRaymarchingStepSizeLighting': settings
.volume_raymarching_step_size_lighting
,
26 'volumeMaxTextureMemoryPerField': settings
.volume_max_texture_memory_per_field
,
29 if engine_type
!= 'VIEWPORT':
31 'aovToken:Combined': "color",
32 'aovToken:Depth': "depth",
37 def update_render_passes(self
, scene
, render_layer
):
38 if render_layer
.use_pass_combined
:
39 self
.register_pass(scene
, render_layer
, 'Combined', 4, 'RGBA', 'COLOR')
40 if render_layer
.use_pass_z
:
41 self
.register_pass(scene
, render_layer
, 'Depth', 1, 'Z', 'VALUE')
44 register
, unregister
= bpy
.utils
.register_classes_factory((
45 StormHydraRenderEngine
,