4 Commits

Author SHA1 Message Date
Ma Nan
29b302531b Merge pull request #49 from OmooLab/feature/dev
feat: improve eevee render
2024-10-29 15:15:14 +08:00
3ca7c2ac5a feat: improve eevee render 2024-10-29 15:14:31 +08:00
Ma Nan
32138c1da6 Merge pull request #48 from OmooLab/feature/dev
feat: add help menu
2024-10-10 12:56:44 +08:00
86fc18ab69 feat: add help menu
feat: better surface topo
fix: cutter node invert not work
2024-10-10 12:54:51 +08:00
9 changed files with 35 additions and 12 deletions

View File

@@ -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>"

View File

@@ -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)}]

View File

@@ -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

View File

@@ -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'}

View File

@@ -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'}

View File

@@ -1,4 +1,4 @@
# Q & A # FAQ
## Nothing in the scene when rendering? ## Nothing in the scene when rendering?

View File

@@ -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

View File

@@ -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"