kigo-gui-framework 4.4__tar.gz → 4.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kigo_gui_framework-4.4/kigo_gui_framework.egg-info → kigo_gui_framework-4.6}/PKG-INFO +3 -4
- kigo_gui_framework-4.6/kigo/__init__.py +176 -0
- kigo_gui_framework-4.6/kigo/_init_.py +206 -0
- kigo_gui_framework-4.6/kigo/foliage/grass.py +82 -0
- kigo_gui_framework-4.6/kigo/render/__init__.py +251 -0
- kigo_gui_framework-4.6/kigo/render/adrenaline.py +58 -0
- kigo_gui_framework-4.6/kigo/render/bloom.py +51 -0
- kigo_gui_framework-4.6/kigo/render/hdrp_runtime.py +85 -0
- kigo_gui_framework-4.6/kigo/render/pass/ssr_pass.py +25 -0
- kigo_gui_framework-4.6/kigo/render/pass/taa_pass.py +33 -0
- kigo_gui_framework-4.6/kigo/render/pass.py +18 -0
- kigo_gui_framework-4.6/kigo/render/passes/taa_pass.py +58 -0
- kigo_gui_framework-4.6/kigo/render/pipeline.py +84 -0
- kigo_gui_framework-4.6/kigo/render/pipelines.py +8 -0
- kigo_gui_framework-4.6/kigo/render/sdfgi_hook.py +63 -0
- kigo_gui_framework-4.6/kigo/render/sky.py +63 -0
- kigo_gui_framework-4.6/kigo/render/ssr.py +265 -0
- kigo_gui_framework-4.6/kigo/render/taa.py +421 -0
- kigo_gui_framework-4.6/kigo/render/volumetric_fog.py +27 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6/kigo_gui_framework.egg-info}/PKG-INFO +3 -4
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo_gui_framework.egg-info/SOURCES.txt +16 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/pyproject.toml +4 -6
- kigo_gui_framework-4.4/kigo/__init__.py +0 -15
- kigo_gui_framework-4.4/kigo/_init_.py +0 -18
- kigo_gui_framework-4.4/kigo/foliage/grass.py +0 -38
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/MANIFEST.in +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/DEBG/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/DEBG/debug_panel.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/NET/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/NET/grpc/server.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/NET/grpc/service.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/NET/qnetwork.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/NET/webrtc/client.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/NET/webrtc/server.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/_api.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/accelerate.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/android/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/android/info.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/android/lifecycle.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/android/ossupport.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/app.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/cli/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/cli/doctor.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/cli/main.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/compile/ast_opt.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/compile/pipeline.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/core/features.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/debug/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/debug/freeze.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/ecs/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/ecs/component.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/ecs/entity.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/ecs/render.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/ecs/system.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/ecs/world.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/HELLO_WASM.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/demo-effects.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/ecs_example.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/example window.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/example_effects.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/example_hello_world.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/example_networking.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/example_physics_basic.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/example_touch_ui.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/example_ui_effects.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/skins_demos.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/smoke_example.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/testdrive.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/examples/touch_example.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/foliage/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/foliage/cluster.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/foliage/instance.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/foliage/lod.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/foliage/manager.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/foliage/renderer.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/foliage/scatter.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/foliage/types.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/foliage/wind.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/fx_gl2d.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/fx_quick.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/gl/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/gl/ssao.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/gpu.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/hiz/hiz.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/hud.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/hwaccel.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/inspector/ECS/ecs_inspector.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/inspector/ECS/panel.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/inspector/ECS/tree.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/inspector/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/inspector/inspector.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/inspector/overlay.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/inspector/panel.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/inspector/web/bridge.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/inspector/web/dom_inspector.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/logging/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/logging/jsonlog.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/media.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/meshlets/build.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/meshlets/runtime.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/nui/node.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/pbr/material_system.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/physics/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/physics/_native/bindings.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/physics/_native/physics.dll +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/physics/qt/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/physics/qt/backend.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/physics/world.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/physics.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/physics_policy.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/platform.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/render/gpuinst.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/render/sdfgi_resources.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/render/wgpu_foliage_renderer.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/render/wgpu_renderer.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/renderer/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/renderer/base/renderer.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/renderer/base/shader.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/renderer/dx/renderer.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/renderer/dx/ssao.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/renderer/select.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/renderer/wgpu/renderer.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/runtime.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/scene/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/scene/foliage_node.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/scene/io.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/scene/node.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/sdfgi/radiance.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/sdfgi/radiance_sample.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/shader_cache.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/shader_demo.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/shim.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/skins.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/streaming/loader.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/streaming/manager.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/streaming/meshlet_stream.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/studio/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/studio/core.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/studio/overlay.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/style.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/tree.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/wasm/__init__.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/wasm/executor.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/wasm/module.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo/widgets.py +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo_gui_framework.egg-info/dependency_links.txt +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo_gui_framework.egg-info/entry_points.txt +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo_gui_framework.egg-info/requires.txt +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/kigo_gui_framework.egg-info/top_level.txt +0 -0
- /kigo_gui_framework-4.4/README.txt → /kigo_gui_framework-4.6/readme.txt +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/setup.cfg +0 -0
- {kigo_gui_framework-4.4 → kigo_gui_framework-4.6}/setup.py +0 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kigo-gui-framework
|
|
3
|
-
Version: 4.
|
|
4
|
-
Summary: Added
|
|
3
|
+
Version: 4.6
|
|
4
|
+
Summary: Added SSR and TAA (the TAA engine name is Affinity)
|
|
5
5
|
Author: Anand Kumar
|
|
6
|
-
|
|
7
|
-
Keywords: gui,qt,pyqt,webengine,opengl,wasm,android,chromeos,framework
|
|
6
|
+
Keywords: gui,qt,pyqt,webengine,wgpu,wasm,android,chromeos,framework
|
|
8
7
|
Classifier: Programming Language :: Python :: 3
|
|
9
8
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
10
9
|
Classifier: License :: OSI Approved :: zlib/libpng License
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Zlib
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Kigo GUI Framework
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__version__ = "4.6"
|
|
8
|
+
|
|
9
|
+
try:
|
|
10
|
+
from kigo.dev import AppHotReloader # noqa: F401
|
|
11
|
+
except Exception:
|
|
12
|
+
AppHotReloader = None
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class RenderPipeline:
|
|
16
|
+
def __init__(self):
|
|
17
|
+
self.name = "default"
|
|
18
|
+
|
|
19
|
+
self.sdfgi = False
|
|
20
|
+
self.physical_sky = False
|
|
21
|
+
self.grass = False
|
|
22
|
+
self.volumetric_fog = False
|
|
23
|
+
self.bloom = False
|
|
24
|
+
self.tonemap = False
|
|
25
|
+
self.ssr = False
|
|
26
|
+
self.taa = False
|
|
27
|
+
|
|
28
|
+
self.gpu_instancing = False
|
|
29
|
+
self.meshlets = False
|
|
30
|
+
|
|
31
|
+
self.water = False
|
|
32
|
+
self.clouds = False
|
|
33
|
+
self.weather = False
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class URP(RenderPipeline):
|
|
37
|
+
def __init__(self):
|
|
38
|
+
super().__init__()
|
|
39
|
+
|
|
40
|
+
self.name = "urp"
|
|
41
|
+
|
|
42
|
+
self.grass = True
|
|
43
|
+
self.bloom = True
|
|
44
|
+
self.tonemap = True
|
|
45
|
+
self.gpu_instancing = True
|
|
46
|
+
|
|
47
|
+
self.sdfgi = False
|
|
48
|
+
self.physical_sky = False
|
|
49
|
+
self.volumetric_fog = False
|
|
50
|
+
self.ssr = False
|
|
51
|
+
self.taa = False
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class HDRP(RenderPipeline):
|
|
55
|
+
def __init__(self):
|
|
56
|
+
super().__init__()
|
|
57
|
+
|
|
58
|
+
self.name = "hdrp"
|
|
59
|
+
|
|
60
|
+
self.sdfgi = True
|
|
61
|
+
self.physical_sky = True
|
|
62
|
+
self.grass = True
|
|
63
|
+
self.volumetric_fog = True
|
|
64
|
+
self.bloom = True
|
|
65
|
+
self.tonemap = True
|
|
66
|
+
self.ssr = True
|
|
67
|
+
self.taa = True
|
|
68
|
+
|
|
69
|
+
self.gpu_instancing = True
|
|
70
|
+
|
|
71
|
+
self.water = True
|
|
72
|
+
self.clouds = True
|
|
73
|
+
self.weather = True
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
_pipeline = RenderPipeline()
|
|
77
|
+
hdrp_runtime = None
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def enable(name):
|
|
81
|
+
global _pipeline
|
|
82
|
+
global hdrp_runtime
|
|
83
|
+
|
|
84
|
+
name = str(name).lower().strip()
|
|
85
|
+
|
|
86
|
+
if name == "urp":
|
|
87
|
+
_pipeline = URP()
|
|
88
|
+
hdrp_runtime = None
|
|
89
|
+
print("[KIGO] Universal Rendering Pipeline enabled")
|
|
90
|
+
return True
|
|
91
|
+
|
|
92
|
+
if name == "hdrp":
|
|
93
|
+
_pipeline = HDRP()
|
|
94
|
+
print("[KIGO] High Definition Rendering Pipeline 4.4 enabled")
|
|
95
|
+
|
|
96
|
+
try:
|
|
97
|
+
from kigo.render.hdrp_runtime import HDRPRuntime
|
|
98
|
+
hdrp_runtime = HDRPRuntime()
|
|
99
|
+
hdrp_runtime.enable()
|
|
100
|
+
except Exception as e:
|
|
101
|
+
hdrp_runtime = None
|
|
102
|
+
print("[KIGO] HDRP runtime unavailable, pipeline flags enabled only")
|
|
103
|
+
print("[KIGO] Reason:", e)
|
|
104
|
+
|
|
105
|
+
return True
|
|
106
|
+
|
|
107
|
+
print(f"[KIGO] Feature or pipeline '{name}' unavailable")
|
|
108
|
+
return False
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def disable(name):
|
|
112
|
+
global _pipeline
|
|
113
|
+
global hdrp_runtime
|
|
114
|
+
|
|
115
|
+
name = str(name).lower().strip()
|
|
116
|
+
|
|
117
|
+
if name == "hdrp":
|
|
118
|
+
if hdrp_runtime and hasattr(hdrp_runtime, "disable"):
|
|
119
|
+
hdrp_runtime.disable()
|
|
120
|
+
|
|
121
|
+
_pipeline = RenderPipeline()
|
|
122
|
+
hdrp_runtime = None
|
|
123
|
+
print("[KIGO] HDRP disabled")
|
|
124
|
+
return True
|
|
125
|
+
|
|
126
|
+
if name == "urp":
|
|
127
|
+
_pipeline = RenderPipeline()
|
|
128
|
+
hdrp_runtime = None
|
|
129
|
+
print("[KIGO] URP disabled")
|
|
130
|
+
return True
|
|
131
|
+
|
|
132
|
+
print(f"[KIGO] Feature or pipeline '{name}' unavailable")
|
|
133
|
+
return False
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def current_pipeline():
|
|
137
|
+
return _pipeline
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def has(feature):
|
|
141
|
+
return bool(getattr(_pipeline, feature, False))
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def is_hdrp():
|
|
145
|
+
return _pipeline.name == "hdrp"
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def is_urp():
|
|
149
|
+
return _pipeline.name == "urp"
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def get_pipeline_name():
|
|
153
|
+
return _pipeline.name
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
def get_hdrp_runtime():
|
|
157
|
+
return hdrp_runtime
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
__all__ = [
|
|
161
|
+
"__version__",
|
|
162
|
+
"AppHotReloader",
|
|
163
|
+
|
|
164
|
+
"RenderPipeline",
|
|
165
|
+
"URP",
|
|
166
|
+
"HDRP",
|
|
167
|
+
|
|
168
|
+
"enable",
|
|
169
|
+
"disable",
|
|
170
|
+
"current_pipeline",
|
|
171
|
+
"has",
|
|
172
|
+
"is_hdrp",
|
|
173
|
+
"is_urp",
|
|
174
|
+
"get_pipeline_name",
|
|
175
|
+
"get_hdrp_runtime",
|
|
176
|
+
]
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Zlib
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Kigo GUI Framework
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__version__ = "4.6"
|
|
8
|
+
|
|
9
|
+
# Optional dev utilities
|
|
10
|
+
try:
|
|
11
|
+
from kigo.dev import AppHotReloader # noqa: F401
|
|
12
|
+
except Exception:
|
|
13
|
+
AppHotReloader = None
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# ============================================================
|
|
17
|
+
# Render pipeline imports
|
|
18
|
+
# Actual folder: kigo/render/
|
|
19
|
+
# ============================================================
|
|
20
|
+
|
|
21
|
+
try:
|
|
22
|
+
from kigo.render.pipeline import RenderPipeline, URP, HDRP
|
|
23
|
+
except Exception:
|
|
24
|
+
try:
|
|
25
|
+
from kigo.render.pipelines import RenderPipeline, URP, HDRP
|
|
26
|
+
except Exception:
|
|
27
|
+
RenderPipeline = None
|
|
28
|
+
URP = None
|
|
29
|
+
HDRP = None
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# ============================================================
|
|
33
|
+
# Global pipeline state
|
|
34
|
+
# ============================================================
|
|
35
|
+
|
|
36
|
+
_pipeline = RenderPipeline() if RenderPipeline else None
|
|
37
|
+
hdrp_runtime = None
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# ============================================================
|
|
41
|
+
# Enable / Disable
|
|
42
|
+
# ============================================================
|
|
43
|
+
|
|
44
|
+
def enable(name):
|
|
45
|
+
"""
|
|
46
|
+
Enable Kigo render pipelines.
|
|
47
|
+
|
|
48
|
+
Example:
|
|
49
|
+
import kigo
|
|
50
|
+
kigo.enable("hdrp")
|
|
51
|
+
kigo.enable("urp")
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
global _pipeline
|
|
55
|
+
global hdrp_runtime
|
|
56
|
+
|
|
57
|
+
name = str(name).lower().strip()
|
|
58
|
+
|
|
59
|
+
if name == "urp":
|
|
60
|
+
if URP is None:
|
|
61
|
+
print("[KIGO] Universal Rendering Pipeline unavailable")
|
|
62
|
+
return False
|
|
63
|
+
|
|
64
|
+
_pipeline = URP()
|
|
65
|
+
hdrp_runtime = None
|
|
66
|
+
|
|
67
|
+
print("[KIGO] Universal Rendering Pipeline enabled")
|
|
68
|
+
return True
|
|
69
|
+
|
|
70
|
+
if name == "hdrp":
|
|
71
|
+
if HDRP is None:
|
|
72
|
+
print("[KIGO] High Definition Rendering Pipeline unavailable")
|
|
73
|
+
return False
|
|
74
|
+
|
|
75
|
+
_pipeline = HDRP()
|
|
76
|
+
|
|
77
|
+
print("[KIGO] High Definition Rendering Pipeline 4.4 enabled")
|
|
78
|
+
|
|
79
|
+
try:
|
|
80
|
+
from kigo.render.hdrp_runtime import HDRPRuntime
|
|
81
|
+
|
|
82
|
+
hdrp_runtime = HDRPRuntime()
|
|
83
|
+
hdrp_runtime.enable()
|
|
84
|
+
|
|
85
|
+
except Exception as e:
|
|
86
|
+
hdrp_runtime = None
|
|
87
|
+
print("[KIGO] HDRP runtime unavailable, pipeline flags enabled only")
|
|
88
|
+
print("[KIGO] Reason:", e)
|
|
89
|
+
|
|
90
|
+
return True
|
|
91
|
+
|
|
92
|
+
print(f"[KIGO] Feature or pipeline '{name}' unavailable")
|
|
93
|
+
return False
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def disable(name):
|
|
97
|
+
"""
|
|
98
|
+
Disable Kigo render pipelines.
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
global _pipeline
|
|
102
|
+
global hdrp_runtime
|
|
103
|
+
|
|
104
|
+
name = str(name).lower().strip()
|
|
105
|
+
|
|
106
|
+
if name == "hdrp":
|
|
107
|
+
if hdrp_runtime and hasattr(hdrp_runtime, "disable"):
|
|
108
|
+
hdrp_runtime.disable()
|
|
109
|
+
|
|
110
|
+
_pipeline = RenderPipeline() if RenderPipeline else None
|
|
111
|
+
hdrp_runtime = None
|
|
112
|
+
|
|
113
|
+
print("[KIGO] HDRP disabled")
|
|
114
|
+
return True
|
|
115
|
+
|
|
116
|
+
if name == "urp":
|
|
117
|
+
_pipeline = RenderPipeline() if RenderPipeline else None
|
|
118
|
+
hdrp_runtime = None
|
|
119
|
+
|
|
120
|
+
print("[KIGO] URP disabled")
|
|
121
|
+
return True
|
|
122
|
+
|
|
123
|
+
print(f"[KIGO] Feature or pipeline '{name}' unavailable")
|
|
124
|
+
return False
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
# ============================================================
|
|
128
|
+
# Query helpers
|
|
129
|
+
# ============================================================
|
|
130
|
+
|
|
131
|
+
def current_pipeline():
|
|
132
|
+
"""
|
|
133
|
+
Return the current active render pipeline.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
global _pipeline
|
|
137
|
+
|
|
138
|
+
if _pipeline is not None:
|
|
139
|
+
return _pipeline
|
|
140
|
+
|
|
141
|
+
class DefaultPipeline:
|
|
142
|
+
name = "default"
|
|
143
|
+
|
|
144
|
+
sdfgi = False
|
|
145
|
+
physical_sky = False
|
|
146
|
+
grass = False
|
|
147
|
+
volumetric_fog = False
|
|
148
|
+
bloom = False
|
|
149
|
+
tonemap = False
|
|
150
|
+
ssr = False
|
|
151
|
+
|
|
152
|
+
gpu_instancing = False
|
|
153
|
+
meshlets = False
|
|
154
|
+
|
|
155
|
+
water = False
|
|
156
|
+
clouds = False
|
|
157
|
+
weather = False
|
|
158
|
+
|
|
159
|
+
return DefaultPipeline()
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
def has(feature):
|
|
163
|
+
"""
|
|
164
|
+
Check whether current pipeline has a feature.
|
|
165
|
+
|
|
166
|
+
Example:
|
|
167
|
+
kigo.has("ssr")
|
|
168
|
+
kigo.has("sdfgi")
|
|
169
|
+
"""
|
|
170
|
+
|
|
171
|
+
return bool(getattr(current_pipeline(), feature, False))
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def is_hdrp():
|
|
175
|
+
return str(getattr(current_pipeline(), "name", "")).lower() == "hdrp"
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
def is_urp():
|
|
179
|
+
return str(getattr(current_pipeline(), "name", "")).lower() == "urp"
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
def get_pipeline_name():
|
|
183
|
+
return current_pipeline().name
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
def get_hdrp_runtime():
|
|
187
|
+
return hdrp_runtime
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
# ============================================================
|
|
191
|
+
# Exports
|
|
192
|
+
# ============================================================
|
|
193
|
+
|
|
194
|
+
__all__ = [
|
|
195
|
+
"__version__",
|
|
196
|
+
"AppHotReloader",
|
|
197
|
+
|
|
198
|
+
"enable",
|
|
199
|
+
"disable",
|
|
200
|
+
"current_pipeline",
|
|
201
|
+
"has",
|
|
202
|
+
"is_hdrp",
|
|
203
|
+
"is_urp",
|
|
204
|
+
"get_pipeline_name",
|
|
205
|
+
"get_hdrp_runtime",
|
|
206
|
+
]
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import random
|
|
2
|
+
import math
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class GrassSystem:
|
|
6
|
+
def __init__(self):
|
|
7
|
+
self.enabled = False
|
|
8
|
+
self.instances = []
|
|
9
|
+
|
|
10
|
+
self.density = 3000
|
|
11
|
+
self.area_min = -100.0
|
|
12
|
+
self.area_max = 100.0
|
|
13
|
+
|
|
14
|
+
self.min_scale = 0.5
|
|
15
|
+
self.max_scale = 1.25
|
|
16
|
+
|
|
17
|
+
self.wind_strength = 0.25
|
|
18
|
+
|
|
19
|
+
def enable(self):
|
|
20
|
+
self.enabled = True
|
|
21
|
+
print("[KIGO HDRP] Grass ON")
|
|
22
|
+
|
|
23
|
+
def disable(self):
|
|
24
|
+
self.enabled = False
|
|
25
|
+
print("[KIGO HDRP] Grass OFF")
|
|
26
|
+
|
|
27
|
+
def clear(self):
|
|
28
|
+
self.instances.clear()
|
|
29
|
+
|
|
30
|
+
def generate(self, terrain, count=None):
|
|
31
|
+
if not self.enabled:
|
|
32
|
+
return
|
|
33
|
+
|
|
34
|
+
if count is None:
|
|
35
|
+
count = self.density
|
|
36
|
+
|
|
37
|
+
self.instances.clear()
|
|
38
|
+
|
|
39
|
+
attempts = 0
|
|
40
|
+
max_attempts = count * 6
|
|
41
|
+
|
|
42
|
+
while len(self.instances) < count and attempts < max_attempts:
|
|
43
|
+
attempts += 1
|
|
44
|
+
|
|
45
|
+
x = random.uniform(self.area_min, self.area_max)
|
|
46
|
+
z = random.uniform(self.area_min, self.area_max)
|
|
47
|
+
|
|
48
|
+
if hasattr(terrain, "allowed_for_tree"):
|
|
49
|
+
if not terrain.allowed_for_tree(x, z):
|
|
50
|
+
continue
|
|
51
|
+
|
|
52
|
+
if hasattr(terrain, "sample_height"):
|
|
53
|
+
y = terrain.sample_height(x, z)
|
|
54
|
+
else:
|
|
55
|
+
y = 0.0
|
|
56
|
+
|
|
57
|
+
scale = random.uniform(self.min_scale, self.max_scale)
|
|
58
|
+
yaw = random.uniform(0.0, math.tau)
|
|
59
|
+
|
|
60
|
+
tint = (
|
|
61
|
+
random.uniform(0.28, 0.45),
|
|
62
|
+
random.uniform(0.60, 0.95),
|
|
63
|
+
random.uniform(0.18, 0.32),
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
self.instances.append({
|
|
67
|
+
"position": (x, y, z),
|
|
68
|
+
"scale": scale,
|
|
69
|
+
"yaw": yaw,
|
|
70
|
+
"tint": tint,
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
print(f"[KIGO HDRP] Generated grass blades: {len(self.instances)}")
|
|
74
|
+
|
|
75
|
+
def submit(self, renderer, camera=None):
|
|
76
|
+
if not self.enabled:
|
|
77
|
+
return
|
|
78
|
+
|
|
79
|
+
if not hasattr(renderer, "submit_grass"):
|
|
80
|
+
return
|
|
81
|
+
|
|
82
|
+
renderer.submit_grass(self.instances, camera)
|