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
15 bl_use_materialx
= True
17 bl_delegate_id
= 'HdStormRendererPlugin'
19 def get_render_settings(self
, engine_type
):
20 settings
= bpy
.context
.scene
.hydra_storm
.viewport
if engine_type
== 'VIEWPORT' else \
21 bpy
.context
.scene
.hydra_storm
.final
23 'enableTinyPrimCulling': settings
.use_tiny_prim_culling
,
24 'maxLights': settings
.max_lights
,
25 'volumeRaymarchingStepSize': settings
.volume_raymarching_step_size
,
26 'volumeRaymarchingStepSizeLighting': settings
.volume_raymarching_step_size_lighting
,
27 'volumeMaxTextureMemoryPerField': settings
.volume_max_texture_memory_per_field
,
30 if engine_type
!= 'VIEWPORT':
32 'aovToken:Combined': "color",
33 'aovToken:Depth': "depth",
38 def update_render_passes(self
, scene
, render_layer
):
39 if render_layer
.use_pass_combined
:
40 self
.register_pass(scene
, render_layer
, 'Combined', 4, 'RGBA', 'COLOR')
41 if render_layer
.use_pass_z
:
42 self
.register_pass(scene
, render_layer
, 'Depth', 1, 'Z', 'VALUE')
45 register
, unregister
= bpy
.utils
.register_classes_factory((
46 StormHydraRenderEngine
,