Compare commits

..

14 Commits

8 changed files with 19 additions and 44 deletions

View File

@ -6,22 +6,12 @@ Welcome to Leenkx!
<br>
- <a style="color:#2AE0E0;" class="text primary primary-text" href="https://leenkx.com/files/LeenkxSDK3_RC.zip">LeenkxSDKV3.6 lts</a>
- Run your own private p2p torrent socket changing Leenkx javascript file directly in /lnxsdk/lib/leenkx_tools/lnxjs/Leenkx.js or by configuring the OPTS map in the create Leenkx node.
<br>
- <a style="color:#2AE0E0;" class="text primary primary-text" href="https://leenkx.com/files/lx/Leenkx.js">Leenkx.js</a>
<br>
- Run your own private p2p torrent socket changing Leenkx javascript file directly in /lnxsdk/lib/leenkx_tools/lxjs/Leenkx.js or by configuring the OPTS map in the create Leenkx node.
<br>
- All works are open source ZLIB / MIT and any compatible licence that guarantee the softwares freedom from my additions to the previous maintainers
<br>
- LxJS Works as a standalone library
- LNXJS Works as a standalone library
<br>
- The SDK is not ready for production, use for educational purposes. Help the team by reaching out at Leenkx.com!
<br>
- This build is based on QuantumCoder's whole new core animation system packed with new features! Timmodrians Aura library is also built into this build when audio is enabled!
<br>
- The SDK is still undergoing many changes so working on large projects is not recommended.
<br>
- Special thanks to all contributors from the following projects!
<br>
* https://github.com/armory3d/armory/graphs/contributors<br>

View File

@ -310,9 +310,9 @@ class LeenkxAddonPreferences(AddonPreferences):
layout.label(text="Welcome to Leenkx!")
# Compare version Blender and Leenkx (major, minor)
if bpy.app.version[0] != 3 or bpy.app.version[1] != 6:
if bpy.app.version[0] != 4 or bpy.app.version[1] != 2:
box = layout.box().column()
box.label(text="Warning: For Leenkx to work correctly, you need Blender 3.6 LTS.")
box.label(text="Warning: For Leenkx to work correctly, use a Blender LTS version such as 4.2 | 3.6 | 3.3")
layout.prop(self, "sdk_path")
sdk_path = get_sdk_path(context)

View File

@ -1,10 +0,0 @@
from lnx.logicnode.lnx_nodes import *
class DetectMobileBrowserNode(LnxLogicTreeNode):
"""Determines the mobile browser or not (works only for web browsers)."""
bl_idname = 'LNDetectMobileBrowserNode'
bl_label = 'Detect Mobile Browser'
lnx_version = 1
def lnx_init(self, context):
self.add_output('LnxBoolSocket', 'Mobile')

View File

@ -1,11 +0,0 @@
from lnx.logicnode.lnx_nodes import *
class LoadUrlNode(LnxLogicTreeNode):
"""Load the given URL in a new tab (works only for web browsers)."""
bl_idname = 'LNLoadUrlNode'
bl_label = 'Load URL'
lnx_version = 1
def lnx_init(self, context):
self.add_input('LnxNodeSocketAction', 'In')
self.add_input('LnxStringSocket', 'URL')

View File

@ -685,8 +685,10 @@ def make_forward_base(con_mesh, parse_opacity=False, transluc_pass=False):
if '_VoxelGI' in wrd.world_defs:
if parse_opacity:
frag.write('indirect = traceDiffuse(wposition, n, voxels, clipmaps).rgb * albedo * voxelgiDiff;')
frag.write('if (roughness < 1.0 && specular > 0.0)')
frag.write(' indirect += traceSpecular(wposition, n, voxels, voxelsSDF, normalize(eye - wposition), roughness, clipmaps, gl_FragCoord.xy).rgb * specular * voxelgiRefl;')
frag.write('if (roughness < 1.0 && specular > 0.0){')
#frag.add_uniform('sampler2D sveloc')
#frag.write(' vec2 velocity = -textureLod(sveloc, gl_FragCoord.xy, 0.0).rg;')
frag.write(' indirect += traceSpecular(wposition, n, voxels, voxelsSDF, normalize(eye - wposition), roughness, clipmaps, gl_FragCoord.xy).rgb * specular * voxelgiRefl;}')
else:
frag.add_uniform("sampler2D voxels_diffuse")
frag.add_uniform("sampler2D voxels_specular")
@ -792,12 +794,10 @@ def make_forward_base(con_mesh, parse_opacity=False, transluc_pass=False):
if '_VoxelRefract' in wrd.world_defs and parse_opacity:
frag.write('if (opacity < 1.0) {')
frag.write('vec3 refraction = traceRefraction(wposition, n, voxels, voxelsSDF, normalize(eye - wposition), ior, roughness, clipmaps, gl_FragCoord.xy).rgb;')
#frag.write(' vec2 velocity = -textureLod(sveloc, gl_FragCoord.xy, 0.0).rg;')
frag.write(' vec3 refraction = traceRefraction(wposition, n, voxels, voxelsSDF, normalize(eye - wposition), ior, roughness, clipmaps, gl_FragCoord.xy).rgb;')
frag.write(' indirect = mix(refraction, indirect, opacity) * voxelgiRefr;')
frag.write(' direct = mix(refraction, direct, opacity) * voxelgiRefr;')
frag.write(' vec3 refraction = traceRefraction(wposition, n, voxels, voxelsSDF, vVec, ior, roughness, clipmaps, texCoord).rgb * voxelgiRefr;')
frag.write(' indirect = mix(refraction, indirect, opacity);')
frag.write(' direct = mix(refraction, direct, opacity);')
frag.write('}')
def _write_material_attribs_default(frag: shader.Shader, parse_opacity: bool):

View File

@ -803,8 +803,8 @@ def check_blender_version(op: bpy.types.Operator):
"""Check whether the Blender version is supported by Leenkx,
if not, report in UI.
"""
if bpy.app.version[0] != 3 or bpy.app.version[1] != 6:
op.report({'INFO'}, 'For Leenkx to work correctly, you need Blender 3.6 LTS.')
if bpy.app.version[0] != 4 or bpy.app.version[1] != 2:
op.report({'INFO'}, 'INFO: For Leenkx to work correctly, use a Blender LTS version such as 4.2 | 3.6 | 3.3')
def check_saved(self):

View File

@ -278,6 +278,9 @@ project.addSources('Sources');
assets.add_khafile_def('kha_no_ogg')
else:
assets.add_khafile_def('lnx_audio')
lnxAudio_path = sdk_path + '/lib/aura'
lnxAudio_path = lnxAudio_path.replace('\\', '/').replace('//', '/')
khafile.write("await project.addProject('" + lnxAudio_path + "');\n".format("aura"))
if wrd.lnx_texture_quality < 1.0:
assets.add_khafile_def('lnx_texcompress')
@ -309,6 +312,9 @@ project.addSources('Sources');
if not os.path.exists('Libraries/network'):
khafile.write(add_leenkx_library(sdk_path, 'lib/network', rel_path=do_relpath_sdk))
assets.add_khafile_def('lnx_network')
lnxjs_path = sdk_path + '/lib/leenkx_tools/lnxjs/Leenkx.js'
lnxjs_path = lnxjs_path.replace('\\', '/').replace('//', '/')
khafile.write(add_assets(lnxjs_path, rel_path=do_relpath_sdk))
if not wrd.lnx_minimize:
assets.add_khafile_def('lnx_json')