forked from LeenkxTeam/LNXSDK
merge upstream
This commit is contained in:
@ -0,0 +1,23 @@
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
class SetMaterialTextureFilterNode(LnxLogicTreeNode):
|
||||
"""Sets texture filter interpolation."""
|
||||
bl_idname = 'LNSetMaterialTextureFilterNode'
|
||||
bl_label = 'Set Object Material Texture Filter'
|
||||
lnx_version = 1
|
||||
|
||||
def lnx_init(self, context):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxNodeSocketObject', 'Object')
|
||||
self.add_input('LnxDynamicSocket', 'Material')
|
||||
self.add_input('LnxIntSocket', 'Slot')
|
||||
self.add_input('LnxStringSocket', 'Node')
|
||||
self.add_input('LnxIntSocket', 'Texture Filter')
|
||||
|
||||
self.add_output('LnxNodeSocketAction', 'Out')
|
||||
|
||||
def draw_buttons(self, context, layout):
|
||||
layout.label(text='Tex Filter 0: Linear')
|
||||
layout.label(text='Tex Filter 1: Closest')
|
||||
layout.label(text='Tex Filter 2: Cubic')
|
||||
layout.label(text='Tex Filter 3: Smart')
|
@ -0,0 +1,12 @@
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
class ResolutionGetNode(LnxLogicTreeNode):
|
||||
"""Returns the resolution parameters.
|
||||
"""
|
||||
bl_idname = 'LNResolutionGetNode'
|
||||
bl_label = 'Get Resolution Settings'
|
||||
lnx_version = 1
|
||||
|
||||
def lnx_init(self, context):
|
||||
self.add_output('LnxIntSocket', 'Size')
|
||||
self.add_output('LnxIntSocket', 'Filter')
|
@ -0,0 +1,20 @@
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
class ResolutionSetNode(LnxLogicTreeNode):
|
||||
"""Set the resolution post-processing settings.
|
||||
Filter 0: Lineal 1: Closest
|
||||
"""
|
||||
bl_idname = 'LNResolutionSetNode'
|
||||
bl_label = 'Set Resolution Settings'
|
||||
lnx_version = 1
|
||||
|
||||
def lnx_init(self, context):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxIntSocket', 'Size', default_value=720)
|
||||
self.add_input('LnxIntSocket', 'Filter', default_value=0)
|
||||
|
||||
self.add_output('LnxNodeSocketAction', 'Out')
|
||||
|
||||
def draw_buttons(self, context, layout):
|
||||
layout.label(text="Type 0: Lineal")
|
||||
layout.label(text="Type 1: Closest")
|
@ -1,8 +1,8 @@
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
class GetWorldNode(LnxLogicTreeNode):
|
||||
class GetWorldOrientationNode(LnxLogicTreeNode):
|
||||
"""Returns the world orientation of the given object."""
|
||||
bl_idname = 'LNGetWorldNode'
|
||||
bl_idname = 'LNGetWorldOrientationNode'
|
||||
bl_label = 'Get World Orientation'
|
||||
lnx_section = 'rotation'
|
||||
lnx_version = 1
|
||||
|
10
leenkx/blender/lnx/logicnode/world/LN_get_world.py
Normal file
10
leenkx/blender/lnx/logicnode/world/LN_get_world.py
Normal file
@ -0,0 +1,10 @@
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
class GetWorldNode(LnxLogicTreeNode):
|
||||
"""Gets the World of the active scene."""
|
||||
bl_idname = 'LNGetWorldNode'
|
||||
bl_label = 'Get World'
|
||||
lnx_version = 1
|
||||
|
||||
def lnx_init(self, context):
|
||||
self.add_output('LnxStringSocket', 'World')
|
13
leenkx/blender/lnx/logicnode/world/LN_set_world.py
Normal file
13
leenkx/blender/lnx/logicnode/world/LN_set_world.py
Normal file
@ -0,0 +1,13 @@
|
||||
from lnx.logicnode.lnx_nodes import *
|
||||
|
||||
class SetWorldNode(LnxLogicTreeNode):
|
||||
"""Sets the World of the active scene."""
|
||||
bl_idname = 'LNSetWorldNode'
|
||||
bl_label = 'Set World'
|
||||
lnx_version = 1
|
||||
|
||||
def lnx_init(self, context):
|
||||
self.add_input('LnxNodeSocketAction', 'In')
|
||||
self.add_input('LnxStringSocket', 'World')
|
||||
|
||||
self.add_output('LnxNodeSocketAction', 'Out')
|
@ -47,11 +47,20 @@ def build():
|
||||
|
||||
with write_probes.setup_envmap_render():
|
||||
|
||||
for scene in bpy.data.scenes:
|
||||
world = scene.world
|
||||
#for scene in bpy.data.scenes:
|
||||
for world in bpy.data.worlds:
|
||||
#world = scene.world
|
||||
|
||||
# Only export worlds from enabled scenes and only once per world
|
||||
if scene.lnx_export and world is not None and world not in worlds:
|
||||
assigned = False;
|
||||
for scene in bpy.data.scenes:
|
||||
if scene.lnx_export and scene.world is not None:
|
||||
if scene.world.name == world.name:
|
||||
assigned = True;
|
||||
break;
|
||||
|
||||
#if scene.lnx_export and world is not None and world not in worlds:
|
||||
# Only export worlds from enabled scenes and with fake users
|
||||
if (world.use_fake_user and world.name != 'Lnx') or assigned:
|
||||
worlds.append(world)
|
||||
|
||||
world.lnx_envtex_name = ''
|
||||
|
@ -452,9 +452,10 @@ class LnxRPListItem(bpy.types.PropertyGroup):
|
||||
lnx_ssrs: BoolProperty(name="SSRS", description="Screen-space ray-traced shadows", default=False, update=assets.invalidate_shader_cache)
|
||||
lnx_micro_shadowing: BoolProperty(name="Micro Shadowing", description="Use the shaders' occlusion parameter to compute micro shadowing for the scene's sun lamp. This option is not available for render paths using mobile or solid material models", default=False, update=assets.invalidate_shader_cache)
|
||||
lnx_texture_filter: EnumProperty(
|
||||
items=[('Anisotropic', 'Anisotropic', 'Anisotropic'),
|
||||
('Linear', 'Linear', 'Linear'),
|
||||
items=[('Linear', 'Linear', 'Linear'),
|
||||
('Point', 'Closest', 'Point'),
|
||||
('Cubic', 'Cubic', 'Cubic'),
|
||||
('Anisotropic', 'Smart', 'Anisotropic'),
|
||||
('Manual', 'Manual', 'Manual')],
|
||||
name="Texture Filtering", description="Set Manual to honor interpolation setting on Image Texture node", default='Anisotropic')
|
||||
lnx_material_model: EnumProperty(
|
||||
|
Reference in New Issue
Block a user