Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
29b302531b | ||
| 3ca7c2ac5a | |||
|
|
32138c1da6 | ||
| 86fc18ab69 |
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
schema_version = "1.0.0"
|
schema_version = "1.0.0"
|
||||||
|
|
||||||
id = "bioxelnodes"
|
id = "bioxelnodes"
|
||||||
version = "1.0.3"
|
version = "1.0.5"
|
||||||
name = "Bioxel Nodes"
|
name = "Bioxel Nodes"
|
||||||
tagline = "For scientific volumetric data visualization in Blender"
|
tagline = "For scientific volumetric data visualization in Blender"
|
||||||
maintainer = "Ma Nan <icrdr2010@outlook.com>"
|
maintainer = "Ma Nan <icrdr2010@outlook.com>"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
VERSIONS = [{"label": "Latest", "node_version": (1, 0, 3)},
|
VERSIONS = [{"label": "Latest", "node_version": (1, 0, 5)},
|
||||||
{"label": "v0.3.x", "node_version": (0, 3, 3)},
|
{"label": "v0.3.x", "node_version": (0, 3, 3)},
|
||||||
{"label": "v0.2.x", "node_version": (0, 2, 9)}]
|
{"label": "v0.2.x", "node_version": (0, 2, 9)}]
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from .operators.container import (AddLocator, AddSlicer, ContainerProps,
|
|||||||
ExtractNodeMesh, ExtractNodeBboxWire, ExtractNodeShapeWire)
|
ExtractNodeMesh, ExtractNodeBboxWire, ExtractNodeShapeWire)
|
||||||
|
|
||||||
from .operators.io import (ImportAsLabel, ImportAsScalar, ImportAsColor)
|
from .operators.io import (ImportAsLabel, ImportAsScalar, ImportAsColor)
|
||||||
from .operators.misc import (CleanTemp,
|
from .operators.misc import (CleanTemp, Help,
|
||||||
ReLinkNodeLib, RemoveAllMissingLayers,
|
ReLinkNodeLib, RemoveAllMissingLayers,
|
||||||
RenderSettingPreset, SaveAllLayersCache,
|
RenderSettingPreset, SaveAllLayersCache,
|
||||||
SaveNodeLib, SliceViewer)
|
SaveNodeLib, SliceViewer)
|
||||||
@@ -57,6 +57,10 @@ class IncompatibleMenu(bpy.types.Menu):
|
|||||||
layout.separator()
|
layout.separator()
|
||||||
layout.menu(RenderSettingMenu.bl_idname)
|
layout.menu(RenderSettingMenu.bl_idname)
|
||||||
|
|
||||||
|
layout.separator()
|
||||||
|
layout.operator(Help.bl_idname,
|
||||||
|
icon=Help.bl_icon)
|
||||||
|
|
||||||
|
|
||||||
class FetchLayerMenu(bpy.types.Menu):
|
class FetchLayerMenu(bpy.types.Menu):
|
||||||
bl_idname = "BIOXELNODES_MT_ADD_LAYER"
|
bl_idname = "BIOXELNODES_MT_ADD_LAYER"
|
||||||
@@ -210,6 +214,10 @@ class BioxelNodesTopbarMenu(bpy.types.Menu):
|
|||||||
layout.separator()
|
layout.separator()
|
||||||
layout.menu(RenderSettingMenu.bl_idname)
|
layout.menu(RenderSettingMenu.bl_idname)
|
||||||
|
|
||||||
|
layout.separator()
|
||||||
|
layout.operator(Help.bl_idname,
|
||||||
|
icon=Help.bl_icon)
|
||||||
|
|
||||||
|
|
||||||
def TOPBAR(self, context):
|
def TOPBAR(self, context):
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
|
|||||||
@@ -854,6 +854,7 @@ class ImportVolumetricDataDialog(bpy.types.Operator):
|
|||||||
bpy.ops.bioxelnodes.render_setting_preset('EXEC_DEFAULT',
|
bpy.ops.bioxelnodes.render_setting_preset('EXEC_DEFAULT',
|
||||||
preset="balance")
|
preset="balance")
|
||||||
bpy.context.scene.render.engine = 'CYCLES'
|
bpy.context.scene.render.engine = 'CYCLES'
|
||||||
|
bpy.ops.bioxelnodes.slice_viewer('EXEC_DEFAULT')
|
||||||
|
|
||||||
self.report({"INFO"}, "Successfully Imported")
|
self.report({"INFO"}, "Successfully Imported")
|
||||||
return {'FINISHED'}
|
return {'FINISHED'}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import webbrowser
|
||||||
import bpy
|
import bpy
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import shutil
|
import shutil
|
||||||
@@ -145,7 +146,7 @@ class RenderSettingPreset(bpy.types.Operator):
|
|||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
if self.preset == "performance":
|
if self.preset == "performance":
|
||||||
# EEVEE
|
# EEVEE
|
||||||
bpy.context.scene.eevee.use_taa_reprojection = False
|
# bpy.context.scene.eevee.use_taa_reprojection = False
|
||||||
bpy.context.scene.eevee.volumetric_tile_size = '2'
|
bpy.context.scene.eevee.volumetric_tile_size = '2'
|
||||||
bpy.context.scene.eevee.volumetric_shadow_samples = 32
|
bpy.context.scene.eevee.volumetric_shadow_samples = 32
|
||||||
bpy.context.scene.eevee.volumetric_samples = 64
|
bpy.context.scene.eevee.volumetric_samples = 64
|
||||||
@@ -161,7 +162,7 @@ class RenderSettingPreset(bpy.types.Operator):
|
|||||||
|
|
||||||
elif self.preset == "balance":
|
elif self.preset == "balance":
|
||||||
# EEVEE
|
# EEVEE
|
||||||
bpy.context.scene.eevee.use_taa_reprojection = False
|
# bpy.context.scene.eevee.use_taa_reprojection = False
|
||||||
bpy.context.scene.eevee.volumetric_tile_size = '2'
|
bpy.context.scene.eevee.volumetric_tile_size = '2'
|
||||||
bpy.context.scene.eevee.volumetric_shadow_samples = 64
|
bpy.context.scene.eevee.volumetric_shadow_samples = 64
|
||||||
bpy.context.scene.eevee.volumetric_samples = 128
|
bpy.context.scene.eevee.volumetric_samples = 128
|
||||||
@@ -177,7 +178,7 @@ class RenderSettingPreset(bpy.types.Operator):
|
|||||||
|
|
||||||
elif self.preset == "quality":
|
elif self.preset == "quality":
|
||||||
# EEVEE
|
# EEVEE
|
||||||
bpy.context.scene.eevee.use_taa_reprojection = False
|
# bpy.context.scene.eevee.use_taa_reprojection = False
|
||||||
bpy.context.scene.eevee.volumetric_tile_size = '2'
|
bpy.context.scene.eevee.volumetric_tile_size = '2'
|
||||||
bpy.context.scene.eevee.volumetric_shadow_samples = 128
|
bpy.context.scene.eevee.volumetric_shadow_samples = 128
|
||||||
bpy.context.scene.eevee.volumetric_samples = 256
|
bpy.context.scene.eevee.volumetric_samples = 256
|
||||||
@@ -201,7 +202,7 @@ class SliceViewer(bpy.types.Operator):
|
|||||||
bl_icon = "FILE_VOLUME"
|
bl_icon = "FILE_VOLUME"
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
bpy.context.scene.eevee.use_taa_reprojection = False
|
# bpy.context.scene.eevee.use_taa_reprojection = False
|
||||||
bpy.context.scene.eevee.volumetric_tile_size = '2'
|
bpy.context.scene.eevee.volumetric_tile_size = '2'
|
||||||
bpy.context.scene.eevee.volumetric_shadow_samples = 128
|
bpy.context.scene.eevee.volumetric_shadow_samples = 128
|
||||||
bpy.context.scene.eevee.volumetric_samples = 128
|
bpy.context.scene.eevee.volumetric_samples = 128
|
||||||
@@ -260,3 +261,16 @@ class RemoveAllMissingLayers(bpy.types.Operator, RemoveLayers):
|
|||||||
event,
|
event,
|
||||||
message=f"Are you sure to remove all **Missing** layers?")
|
message=f"Are you sure to remove all **Missing** layers?")
|
||||||
return {'RUNNING_MODAL'}
|
return {'RUNNING_MODAL'}
|
||||||
|
|
||||||
|
|
||||||
|
class Help(bpy.types.Operator):
|
||||||
|
bl_idname = "bioxelnodes.help"
|
||||||
|
bl_label = "Need Help?"
|
||||||
|
bl_description = "Online Manual for Beginner"
|
||||||
|
bl_icon = "HELP"
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
webbrowser.open(
|
||||||
|
'https://omoolab.github.io/BioxelNodes/latest/', new=2)
|
||||||
|
|
||||||
|
return {'FINISHED'}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Q & A
|
# FAQ
|
||||||
|
|
||||||
## Nothing in the scene when rendering?
|
## Nothing in the scene when rendering?
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@ nav:
|
|||||||
- Advanced Usage: advanced_usage.md
|
- Advanced Usage: advanced_usage.md
|
||||||
- Support Format: support_format.md
|
- Support Format: support_format.md
|
||||||
- Improve Performance: improve_performance.md
|
- Improve Performance: improve_performance.md
|
||||||
- Q & A: qa.md
|
- FAQ: faq.md
|
||||||
- Tutorials:
|
- Tutorials:
|
||||||
- SARS-Cov-2: SARS-Cov-2.md
|
- SARS-Cov-2: SARS-Cov-2.md
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "bioxelnodes"
|
name = "bioxelnodes"
|
||||||
version = "1.0.3"
|
version = "1.0.5"
|
||||||
description = ""
|
description = ""
|
||||||
authors = ["Ma Nan <icrdr2010@outlook.com>"]
|
authors = ["Ma Nan <icrdr2010@outlook.com>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
Reference in New Issue
Block a user