[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