Merge branch 'blender-v4.0-release'
[blender-addons.git] / hydra_storm / properties.py
blob997dbb741e5a73618dea90e955bbdf47418ea2d8
1 # SPDX-FileCopyrightText: 2011-2022 Blender Foundation
3 # SPDX-License-Identifier: Apache-2.0
5 import bpy
8 class Properties(bpy.types.PropertyGroup):
9 type = None
11 @classmethod
12 def register(cls):
13 cls.type.hydra_storm = bpy.props.PointerProperty(
14 name="Hydra Storm",
15 description="Hydra Storm properties",
16 type=cls,
19 @classmethod
20 def unregister(cls):
21 del cls.type.hydra_storm
24 class RenderProperties(bpy.types.PropertyGroup):
25 max_lights: bpy.props.IntProperty(
26 name="Max Lights",
27 description="Limit maximum number of lights",
28 default=16, min=0, max=16,
30 use_tiny_prim_culling: bpy.props.BoolProperty(
31 name="Tiny Prim Culling",
32 description="Hide small geometry primitives to improve performance",
33 default=False,
35 volume_raymarching_step_size: bpy.props.FloatProperty(
36 name="Volume Raymarching Step Size",
37 description="Step size when raymarching volume",
38 default=1.0,
40 volume_raymarching_step_size_lighting: bpy.props.FloatProperty(
41 name="Volume Raymarching Step Size Lighting",
42 description="Step size when raymarching volume for lighting computation",
43 default=10.0,
45 volume_max_texture_memory_per_field: bpy.props.FloatProperty(
46 name="Max Texture Memory Per Field",
47 description="Maximum memory for a volume field texture in Mb (unless overridden by field prim)",
48 default=128.0,
52 class SceneProperties(Properties):
53 type = bpy.types.Scene
55 final: bpy.props.PointerProperty(type=RenderProperties)
56 viewport: bpy.props.PointerProperty(type=RenderProperties)
59 register, unregister = bpy.utils.register_classes_factory((
60 RenderProperties,
61 SceneProperties,