[Bf-extensions-cvs] [d1b824f3] master: POV: fix some nested code and further files structure cleanup

Maurice Raybaud noreply at git.blender.org
Mon Apr 25 14:49:33 CEST 2022


Commit: d1b824f3c2a7a7b3e37e70f336e5a1580028c63e
Author: Maurice Raybaud
Date:   Mon Apr 25 14:38:30 2022 +0200
Branches: master
https://developer.blender.org/rBAd1b824f3c2a7a7b3e37e70f336e5a1580028c63e

POV: fix some nested code and further files structure cleanup

* FIX: wrongly nested pov braces made the default outpout file fail
* FIX: use agnostic metallic property rather than create a duplicate
* FIX: some 2.8 deprecated properties rewired in spec;diff; emit;ambient
* FIX: clean up, hierarchize and redesign Global Settings ui panel
* FIX: re-wire world background alpha to agnostic prop and redo its ui
* FIX: wrong nested pov braces making the default outpout file fail
* FIX: use agnostic metallic property rather than create a duplicate
* FIX: reduced arguments numbers by imports and relocating variables
* FIX: use more list comprehesions to reduce nested conditions levels
* FIX: use more consistent class names but cleanup still not finished
* FIX: use single quotes for enums preferably to distinguish strings
* FIX: basic level of nodes based material (diffuse color) broken API
* FIX: blurry reflection corner case caused output file to fail
* FIX: added context managing ("with") syntaxes reducing crash cases
___________________________________________________________

* ADD: model_all.py file to extract mostly object level loop and utils
* ADD: model_meta_topology.py file to extract metaballs export
* ADD: object_primitives_topology.py to extract pov compound primitives
* ADD: nodes_fn.py file to extract main node exporting function
* ADD: nodes_gui.py file to extract node operators and menus
* ADD: nodes_properties.py file to extract nodes sub parameters
* ADD: particles_properties.py to extract particles and fx parameters
* ADD: render_core.py to extract main RenderEngine inheriting class(es)
* ADD: shading_ray_properties.py to extract pathtraced shader parameters
* ADD: texturing_procedural.py to extract algorithmic texture influences
___________________________________________________________

* UPDATE: workspace tools icons and a couple of other icons choices
* RENAME: pov.add.polygontocircle.dat macro workspace tool icon
* RENAME: base_ui.py to ui_core.py
* RENAME: shading_nodes.py to nodes.py
* RENAME: df3_library.py to voxel_lib.py to make dot lookup inform more
* RENAME: object_mesh_topology.py to model_poly_topology.py
* RENAME: object_curve_topology.py to model_curve_topology.py
* RENAME: object_gui.py to model_gui.py
* RENAME: object_primitives.py to model_primitives.py
* RENAME: object_properties.py to model_properties.py
* RENAME: object_particles.py to particles.py

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

M	render_povray/__init__.py
D	render_povray/base_ui.py
M	render_povray/icons/pov.add.box.dat
M	render_povray/icons/pov.add.cylinder.dat
M	render_povray/icons/pov.add.infinite_plane.dat
M	render_povray/icons/pov.add.loft.dat
R069	render_povray/icons/pov.add.polytocircle.dat	render_povray/icons/pov.add.polygontocircle.dat
M	render_povray/icons/pov.add.prism.dat
M	render_povray/icons/pov.add.rainbow.dat
M	render_povray/icons/pov.add.sphere.dat
M	render_povray/icons/pov.add.spheresweep.dat
A	render_povray/model_all.py
A	render_povray/model_curve_topology.py
R074	render_povray/object_gui.py	render_povray/model_gui.py
A	render_povray/model_meta_topology.py
A	render_povray/model_poly_topology.py
A	render_povray/model_primitives.py
R051	render_povray/object_primitives.py	render_povray/model_primitives_topology.py
R097	render_povray/object_properties.py	render_povray/model_properties.py
A	render_povray/nodes.py
A	render_povray/nodes_fn.py
A	render_povray/nodes_gui.py
A	render_povray/nodes_properties.py
D	render_povray/object_curve_topology.py
D	render_povray/object_mesh_topology.py
R061	render_povray/object_particles.py	render_povray/particles.py
A	render_povray/particles_properties.py
M	render_povray/render.py
A	render_povray/render_core.py
M	render_povray/render_gui.py
M	render_povray/render_properties.py
M	render_povray/scenography.py
M	render_povray/scenography_gui.py
M	render_povray/scripting.py
M	render_povray/scripting_gui.py
M	render_povray/scripting_properties.py
M	render_povray/shading.py
M	render_povray/shading_gui.py
D	render_povray/shading_nodes.py
M	render_povray/shading_properties.py
A	render_povray/shading_ray_properties.py
M	render_povray/texturing.py
M	render_povray/texturing_gui.py
A	render_povray/texturing_procedural.py
M	render_povray/texturing_properties.py
A	render_povray/ui_core.py
M	render_povray/update_files.py
R100	render_povray/df3_library.py	render_povray/voxel_lib.py

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

diff --git a/render_povray/__init__.py b/render_povray/__init__.py
index 3d5e5315..fb7ccb28 100755
--- a/render_povray/__init__.py
+++ b/render_povray/__init__.py
@@ -4,75 +4,139 @@
 
 """Import, export and render to POV engines.
 
-These engines can be POV-Ray or Uberpov but others too, since POV is a
-Scene Description Language. The script has been split in as few files
-as possible :
+These engines can be POV-Ray, Uberpov, HgPovray but others too, since POV is a
+Scene Description Language. The script has been split in as few files as possible and
+metaphorically structured as a train with some boilerplate rendering locomotive,
+followed by its cars each representing a thematic in the 3D field:
+
+########################################### RENDERING ###########################################
 
 __init__.py :
-    Initialize properties
+    Provide script's metadata, Initialize addon preferences, (re)load package modules
+
+ui_core.py :
+    Set up workspaces and load other ui files for the user to set up all variables
+
+render_core.py :
+    Define the POV render engines declinations from generic Blender RenderEngine class
+
+render_properties.py :
+    Initialize properties for render parameters (Blender generic and POV native)
+
+render_gui.py :
+    Display properties from render_properties.py for user to change them
+
+render.py :
+    Translate render properties (Blender and POV native) to POV, ini file and bash
 
-base_ui.py :
-    Provide property buttons for the user to set up the variables
+                                                                          __------------------Z__
+                                                                    _--¨¨] |  __ __ _____________||
+                                                                _-¨7____/  | | °|° | □□□ □□□ □□□ ||
+                                                               (===========|=|  |  |=============||
+                                                                `-(@)@)--------------------(@)(@)-'
+############################################# LAYOUT ##############################################
 
 scenography_properties.py
-    Initialize properties for translating Blender cam/light/environment parameters to pov
+    Initialize properties for passing layout (camera/light/environment) parameters to pov
 
 scenography_gui.py :
-    Display cam/light/environment properties from scenography_properties.py for user to change them
+    Display camera/light/environment properties from scenography_properties.py for user to change
 
 scenography.py
-    Translate  cam/light/environment properties to corresponding pov features
+    Translate  camera/light/environment properties to corresponding pov features
 
-object_properties.py :
-    nitialize properties for translating Blender objects parameters to pov
+                                                    __------------------Z__   ____________________
+                                              _--¨¨] |  __ __ _____________|||____________________|
+                                          _-¨7____/  | | °|° | □□□ □□□ □□□ ||| □□□ □□□ □□□ □□□ □□ |
+                                         (===========|=|  |  |=============|||====================|
+                                          `-(@)@)--------------------(@)(@)-^-(@)(@)--------(@)(@)-
+############################################### MODEL #############################################
 
-object_primitives.py :
-    Display some POV native primitives in 3D view for input and output
+model_properties.py :
+    Initialize properties for translating Blender geometry objects parameters to pov
 
-object_mesh_topology.py :
-    Translate to POV the meshes geometries
+model_gui.py :
+    Display properties from model_properties.py for the user to change them
 
-object_curve_topology.py :
+model_all.py :
+    Translate to POV the object level data
+
+model_poly_topology.py :
+    Translate to POV the mesh based geometries
+
+model_curve_topology.py :
     Translate to POV the curve based geometries
 
-object_particles.py :
-    Translate to POV the particle based geometries
+model_meta_topology.py :
+    Translate to POV the metaball based geometries
+
+model_primitives.py :
+    Display some simple POV native primitives in 3D view for input and output
+
+model_primitives_topology.py :
+    Display some POV native complex or compound primitives in 3D view for input and output
 
-object_gui.py :
-    Display properties from object_properties.py for user to change them
+                             __------------------Z__   ____________________   ____________________
+                       _--¨¨] |  __ __ _____________|||____________________|||____________________
+                   _-¨7____/  | | °|° | □□□ □□□ □□□ ||| □□□ □□□ □□□ □□□ □□ ||| □□□ □□□ □□□ □□□ □□
+                  (===========|=|  |  |=============|||====================|||====================
+                   `-(@)@)--------------------(@)(@)-^-(@)(@)--------(@)(@)-^-(@)(@)--------(@)(@)
+############################################ SHADING #############################################
 
 shading_properties.py :
     Initialize properties for translating Blender materials parameters to pov
 
-shading_nodes.py :
-    Translate node trees to the pov file
+shading_ray_properties.py :
+    Initialize properties for translating Blender ray paths relevant material parameters to pov
 
 shading_gui.py :
-    Display properties from shading_properties.py for user to change them
+    Display variables from shading_properties.py and shading_ray_properties.py for user to change
 
 shading.py
     Translate shading properties to declared textures at the top of a pov file
 
 texturing_properties.py :
-    Initialize properties for translating Blender materials /world... texture influences to pov
+    Initialize properties for translating Blender materials/world... texture influences to pov
 
 texturing_gui.py :
-    Display properties from texturing_properties.py for user to change them
+    Display properties from texturing_properties.py available for user to change
 
 texturing.py :
-    Translate blender texture influences into POV
+    Translate blender pixel based bitmap texture influences into POV
 
-render_properties.py :
-    Initialize properties for render parameters (Blender and POV native)
+texturing_procedural.py :
+    Translate blender algorithmic procedural texture influences into POV
 
-render_gui.py :
-    Display properties from render_properties.py for user to change them
+           __------------------Z__   ____________________   ____________________   ________________
+     _--¨¨] |  __ __ _____________|||____________________|||____________________|||________________
+ _-¨7____/  | | °|° | □□□ □□□ □□□ ||| □□□ □□□ □□□ □□□ □□ ||| □□□ □□□ □□□ □□□ □□ ||| □□□ □□□ □□□ □□□
+(===========|=|  |  |=============|||====================|||====================|||================
+ `-(@)@)--------------------(@)(@)-^-(@)(@)--------(@)(@)-^-(@)(@)--------(@)(@)-^-(@)(@)----------
+############################################ VFX/TECH #############################################
 
-render.py :
-    Translate render properties (Blender and POV native) to POV, ini file and bash
+particles_properties.py :
+    Initialize all strands, fx, or particles based objects properties to be translated to POV
+
+particles.py :
+    Translate to POV the particle based geometries
+
+voxel_lib.py :
+    Render smoke to *.df3 files using an updated version of Mike Kost's df3.py legacy library
+
+nodes_properties.py :
+    Define all node items and their respective variables or sockets available to POV node trees
+
+nodes.py :
+    Translate node trees to the pov file
+
+nodes_fn.py :
+    Functions toolbox used by nodes.py to translate node trees to the pov file
+
+nodes_gui.py :
+    Operators and menus to interact with POV specific node trees
 
 scripting_properties.py :
-    Initialize properties for scene description language parameters (POV native)
+    Initialize properties for hand written scene description language fragments (POV native)
 
 scripting_gui.py :
     Display properties from scripting_properties.py for user to add his custom POV code
@@ -80,15 +144,13 @@ scripting_gui.py :
 scripting.py :
     Insert POV native scene description elements into blender scene or to exported POV file
 
-df3_library.py :
-    Render smoke to *.df3 files
-
 update_files.py :
     Update new variables to values from older API. This file needs an update
 
+######################################## PRESETS/TEMPLATES ########################################
 
 Along these essential files also coexist a few additional libraries to help make
-Blender stand up to other POV IDEs such as povwin or QTPOV
+Blender stand up to other POV enabled IDEs (povwin, POV for Mac, QTPOV, VSCode, Vim...)
     presets :
         Material (sss)
             apple.py ; chicken.py ; cream.py ; Ketchup.py ; marble.py ;
@@ -135,7 +197,7 @@ Blender stand up to other POV IDEs such as povwin or QTPOV
 
 
 bl_info = {
-    'name': "Persistence of Vision",
+    'name': "POV at Ble",
     'author': "Campbell Barton, "
               "Maurice Raybaud, "
               "Leonid Desyatkov, "
@@ -143,10 +205,10 @@ bl_info = {
               "Constantin Rahn, "
               "Silvio Falcinelli,"
               "Paco García",
-              "version": (0, 1, 2),
-    'blender': (2, 81, 0),
+    'version': (0, 1, 3),
+    'blender': (3, 2, 0),
     'location': "Render Properties > Render Engine > Persistence of Vision",
-    'description': "Persistence of Vision integration for blender",
+    'description': "Persistence of Vision addon for Blender",
     'doc_url': "{BLENDER_MANUAL_URL}/addons/render/povray.html",
     'category': "Render",
     'warning': "Co-maintainers welcome",
@@ -161,25 +223,39 @@ bl_info = {
 if "bpy" in locals():
     import importlib
 
-    importlib.reload(base_ui)
-    

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list