[Bf-extensions-cvs] [3412140b] master: Test: Adding back some UI list for World textures

Maurice Raybaud noreply at git.blender.org
Sun May 5 22:00:23 CEST 2019


Commit: 3412140b3102207f440513721677ea75f30615d9
Author: Maurice Raybaud
Date:   Sun May 5 22:00:14 2019 +0200
Branches: master
https://developer.blender.org/rBA3412140b3102207f440513721677ea75f30615d9

Test: Adding back some UI list for World textures

===================================================================

M	render_povray/__init__.py
M	render_povray/ui.py

===================================================================

diff --git a/render_povray/__init__.py b/render_povray/__init__.py
index fabe865d..b7ceb5ef 100644
--- a/render_povray/__init__.py
+++ b/render_povray/__init__.py
@@ -20,14 +20,14 @@
 
 bl_info = {
     "name": "POV-3.7",
-    "author": "Campbell Barton, Silvio Falcinelli, Maurice Raybaud, "
-              "Constantin Rahn, Bastien Montagne, Leonid Desyatkov",
+    "author": "Campbell Barton, Maurice Raybaud, Leonid Desyatkov, "
+              "Bastien Montagne, Constantin Rahn, Silvio Falcinelli",
     "version": (0, 1, 0),
     "blender": (2, 80, 0),
     "location": "Render > Engine > POV-Ray 3.7",
-    "description": "Basic POV-Ray 3.7 integration for blender",
-    "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"
-                "Scripts/Render/POV-Ray",
+    "description": "POV-Ray 3.7 integration for blender",
+    "wiki_url": "https://archive.blender.org/wiki/index.php/"
+                "Extensions:2.6/Py/Scripts/Render/POV-Ray/",
     "category": "Render",
 }
 
@@ -3592,6 +3592,79 @@ class RenderPovSettingsWorld(PropertyGroup):
             precision=4, step=0.01, min=0, soft_max=1,
             default=(0.0, 0.0, 0.0), options={'ANIMATABLE'}, subtype='COLOR',
     )
+    world_texture_list_index: IntProperty(
+            name = "Index for texture_slots",
+            default = 0)
+class WorldTextureSlot(PropertyGroup):
+    blend_factor: FloatProperty(
+                name="Blend",
+                description="Amount texture affects color progression of the "
+                            "background",
+                soft_min=0.0, soft_max=1.0, default=1.0)
+
+    horizon_factor: FloatProperty(
+                name="Horizon",
+                description="Amount texture affects color of the horizon"
+                            "",
+                soft_min=0.0, soft_max=1.0, default=1.0)
+
+    object: StringProperty(
+                name="Object",
+                description="Object to use for mapping with Object texture coordinates",
+                default="")
+
+    texture_coords: EnumProperty(
+                name="Coordinates",
+                description="Texture coordinates used to map the texture onto the background",
+                items=(("VIEW", "View", "Use view vector for the texture coordinates"),
+                       ("GLOBAL", "Global", "Use global coordinates for the texture coordinates (interior mist)"),
+                       ("ANGMAP", "AngMap", "Use 360 degree angular coordinates, e.g. for spherical light probes"),
+                       ("SPHERE", "Sphere", "For 360 degree panorama sky, spherical mapped, only top half"),
+                       ("EQUIRECT", "Equirectangular", "For 360 degree panorama sky, equirectangular mapping"),
+                       ("TUBE", "Tube", "For 360 degree panorama sky, cylindrical mapped, only top half"),
+                       ("OBJECT", "Object", "Use linked object’s coordinates for texture coordinates")),
+                default="VIEW")
+
+    use_map_blend: BoolProperty(
+                name="Blend Map", description="Affect the color progression of the background",
+                default=True)
+
+    use_map_horizon: BoolProperty(
+                name="Horizon Map", description="Affect the color of the horizon",
+                default=False)
+
+    use_map_zenith_down: BoolProperty(
+                name="", description="Affect the color of the zenith below",
+                default=False)
+
+    use_map_zenith_up: BoolProperty(
+                name="Zenith Up Map", description="Affect the color of the zenith above",
+                default=False)
+
+    zenith_down_factor: FloatProperty(
+                name="Zenith Down",
+                description="Amount texture affects color of the zenith below",
+                soft_min=0.0, soft_max=1.0, default=1.0)
+
+    zenith_up_factor: FloatProperty(
+                name="Zenith Up",
+                description="Amount texture affects color of the zenith above",
+                soft_min=0.0, soft_max=1.0, default=1.0)
+
+'''
+#class WORLD_TEXTURE_SLOTS_UL_layerlist(bpy.types.UIList):
+#    texture_slots:
+    
+class WorldTextureSlots(bpy.props.PropertyGroup):
+    index = bpy.prop.PropertyInt(name='index')
+    #foo  = random prop
+
+bpy.types.World.texture_slots = bpy.props.CollectionProperty(type=PropertyGroup)
+
+for i in range(18):  # length of world texture slots
+    world.texture_slots.add()
+'''
+
 
 ###############################################################################
 # Text POV properties.
@@ -3642,6 +3715,7 @@ classes = (
     PovrayPreferences,
     RenderPovSettingsCamera,
     RenderPovSettingsWorld,
+    WorldTextureSlot,
     RenderPovSettingsMaterial,
     MaterialRaytraceMirror, 
     MaterialSubsurfaceScattering,
@@ -3688,6 +3762,7 @@ def register():
     bpy.types.Object.pov = PointerProperty(type=RenderPovSettingsObject)
     bpy.types.Camera.pov = PointerProperty(type=RenderPovSettingsCamera)
     bpy.types.World.pov = PointerProperty(type=RenderPovSettingsWorld)
+    bpy.types.World.texture_slots = CollectionProperty(type = WorldTextureSlot)
     bpy.types.Text.pov = PointerProperty(type=RenderPovSettingsText)
 
 
diff --git a/render_povray/ui.py b/render_povray/ui.py
index c67606fc..a86d0c3e 100644
--- a/render_povray/ui.py
+++ b/render_povray/ui.py
@@ -24,7 +24,10 @@ import os #really import here and in render.py?
 from os.path import isfile
 from bl_operators.presets import AddPresetBase
 from bpy.utils import register_class, unregister_class
-
+from bpy.types import (
+        Operator,
+        UIList        
+        )
 # Example of wrapping every class 'as is'
 from bl_ui import properties_output
 for member in dir(properties_output):
@@ -69,7 +72,7 @@ class POV_WORLD_MT_presets(bpy.types.Menu):
     draw = bpy.types.Menu.draw_preset
 
 
-class AddPresetWorld(AddPresetBase, bpy.types.Operator):
+class AddPresetWorld(AddPresetBase, Operator):
     '''Add a World Preset'''
     bl_idname = "object.world_preset_add"
     bl_label = "Add World Preset"
@@ -528,7 +531,7 @@ class POV_LIGHT_MT_presets(bpy.types.Menu):
     draw = bpy.types.Menu.draw_preset
 
 
-class AddPresetLamp(AddPresetBase, bpy.types.Operator):
+class AddPresetLamp(AddPresetBase, Operator):
     '''Add a Lamp Preset'''
     bl_idname = "object.light_preset_add"
     bl_label = "Add Lamp Preset"
@@ -941,7 +944,7 @@ class POV_RADIOSITY_MT_presets(bpy.types.Menu):
     draw = bpy.types.Menu.draw_preset
 
 
-class AddPresetRadiosity(AddPresetBase, bpy.types.Operator):
+class AddPresetRadiosity(AddPresetBase, Operator):
     '''Add a Radiosity Preset'''
     bl_idname = "scene.radiosity_preset_add"
     bl_label = "Add Radiosity Preset"
@@ -1073,7 +1076,7 @@ class MATERIAL_MT_POV_sss_presets(bpy.types.Menu):
     preset_operator = "script.execute_preset"
     draw = bpy.types.Menu.draw_preset
 
-class AddPresetSSS(AddPresetBase, bpy.types.Operator):
+class AddPresetSSS(AddPresetBase, Operator):
     '''Add an SSS Preset'''
     bl_idname = "material.sss_preset_add"
     bl_label = "Add SSS Preset"
@@ -2229,7 +2232,7 @@ class CAMERA_PT_povray_replacement_text(CameraDataButtonsPanel, bpy.types.Panel)
 # Text Povray Settings
 ###############################################################################
 
-class TEXT_OT_povray_insert(bpy.types.Operator):
+class TEXT_OT_povray_insert(Operator):
     """Tooltip"""
     bl_idname = "text.povray_insert"
     bl_label = "Insert"
@@ -2339,11 +2342,33 @@ def menu_func_templates(self, context):
     # Do not depend on POV-Ray being active renderer here...
     self.layout.menu("TEXT_MT_templates_pov")
 
+class WORLD_TEXTURE_SLOTS_UL_List(UIList):
+    """Texture Slots UIList."""
+
+
+    def draw_item(self, context, layout, world, item, icon, active_data,
+                  world_texture_list_index, index):
+        world = context.world#.pov
+        active_data = world.pov
+        #tex = context.texture #may be needed later?
+        
+        
+        # We could write some code to decide which icon to use here...
+        custom_icon = 'TEXTURE'
+
+        # Make sure your code supports all 3 layout types
+        if self.layout_type in {'DEFAULT', 'COMPACT'}:
+            layout.label(item.name, icon = custom_icon)
+
+        elif self.layout_type in {'GRID'}:
+            layout.alignment = 'CENTER'
+            layout.label("", icon = custom_icon)
 
 classes = (
     WORLD_PT_POV_world,
     POV_WORLD_MT_presets,
     AddPresetWorld,
+    WORLD_TEXTURE_SLOTS_UL_List,
     #RenderButtonsPanel,
     #ModifierButtonsPanel,
     #MaterialButtonsPanel,



More information about the Bf-extensions-cvs mailing list