meltygui 0.1.0__py3-none-any.whl
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.
- meltygui/__init__.py +107 -0
- meltygui/accounts/__init__.py +0 -0
- meltygui/accounts/internet_accounts.py +1355 -0
- meltygui/chat/__init__.py +91 -0
- meltygui/chat/activity.py +75 -0
- meltygui/chat/backends.py +36 -0
- meltygui/chat/chat_interface.py +732 -0
- meltygui/chat/chat_proxy.py +352 -0
- meltygui/chat/codex_proxy.py +592 -0
- meltygui/chat/codex_settings.py +100 -0
- meltygui/chat/codex_transport.py +60 -0
- meltygui/chat/command_parser.py +204 -0
- meltygui/chat/images.py +227 -0
- meltygui/chat/messages.py +417 -0
- meltygui/chat/metadata.py +139 -0
- meltygui/chat/writer_locks.py +64 -0
- meltygui/code/__init__.py +0 -0
- meltygui/code/basic_converters.py +533 -0
- meltygui/code/chain_converters.py +2111 -0
- meltygui/code/code_checks.py +2209 -0
- meltygui/code/core_syntax.py +1430 -0
- meltygui/code/file_converters.py +1933 -0
- meltygui/code/fileref.py +702 -0
- meltygui/code/hotswap_guard.py +144 -0
- meltygui/code/libcst_conversion.py +9724 -0
- meltygui/code/live_instrument.py +392 -0
- meltygui/code/live_view.py +2490 -0
- meltygui/code/melty_scan.py +2684 -0
- meltygui/code/new_codecs.py +1255 -0
- meltygui/code/new_converters.py +3017 -0
- meltygui/code/project_code.py +278 -0
- meltygui/code/source_context.py +63 -0
- meltygui/code/symbol_roster.py +1588 -0
- meltygui/code/syntax_check.py +34 -0
- meltygui/code/syntax_check_worker.py +114 -0
- meltygui/completion/__init__.py +0 -0
- meltygui/completion/fim.py +1232 -0
- meltygui/completion/fim_context.py +481 -0
- meltygui/completion/providers/__init__.py +0 -0
- meltygui/completion/providers/anthropic_oauth.py +446 -0
- meltygui/completion/providers/anthropic_requests.py +69 -0
- meltygui/completion/providers/claude.py +203 -0
- meltygui/completion/providers/claude_usage.py +499 -0
- meltygui/completion/providers/codex_accounts.py +180 -0
- meltygui/completion/providers/copilot.py +617 -0
- meltygui/completion/providers/oauth_popup.py +220 -0
- meltygui/completion/providers/ollama.py +320 -0
- meltygui/completion/providers/profiles.py +23 -0
- meltygui/core/README.md +88 -0
- meltygui/core/__init__.py +1 -0
- meltygui/core/automation/__init__.py +1 -0
- meltygui/core/automation/action_core.py +153 -0
- meltygui/core/automation/collection_action.py +45 -0
- meltygui/core/automation/mcp_eval.py +167 -0
- meltygui/core/automation/mcp_hotswap.py +107 -0
- meltygui/core/automation/mcp_query.py +552 -0
- meltygui/core/automation/mcp_server.py +657 -0
- meltygui/core/automation/orchestration_core.py +2636 -0
- meltygui/core/automation/query_core.py +124 -0
- meltygui/core/automation/search_core.py +26 -0
- meltygui/core/automation/selector_core.py +340 -0
- meltygui/core/automation/value_core.py +1752 -0
- meltygui/core/cache/__init__.py +1 -0
- meltygui/core/cache/cache_diagnostics.py +0 -0
- meltygui/core/cache/invalidation_decoration.py +153 -0
- meltygui/core/cache/invalidation_tracker.py +43 -0
- meltygui/core/cache/tile_cache.py +5968 -0
- meltygui/core/conversion/__init__.py +1 -0
- meltygui/core/conversion/bubbling.py +599 -0
- meltygui/core/conversion/cache_tree.py +188 -0
- meltygui/core/conversion/chain.py +113 -0
- meltygui/core/conversion/converter_register.py +145 -0
- meltygui/core/conversion/data_decoration.py +67 -0
- meltygui/core/conversion/dict_conversion.py +1815 -0
- meltygui/core/conversion/dict_conversion_util.py +177 -0
- meltygui/core/conversion/dynamic_obj.py +89 -0
- meltygui/core/conversion/graph_compare.py +183 -0
- meltygui/core/conversion/load_save_v2.py +1032 -0
- meltygui/core/conversion/missing_saved_class.py +39 -0
- meltygui/core/conversion/path_finder.py +606 -0
- meltygui/core/conversion/render_host.py +1083 -0
- meltygui/core/core_render.py +6537 -0
- meltygui/core/definition_hotswap.py +231 -0
- meltygui/core/diagnostics/__init__.py +1 -0
- meltygui/core/diagnostics/attribute_churn.py +38 -0
- meltygui/core/diagnostics/fps_counter.py +39 -0
- meltygui/core/diagnostics/gpu_frame_timer.py +103 -0
- meltygui/core/diagnostics/inspection_core.py +169 -0
- meltygui/core/diagnostics/monitor_core.py +105 -0
- meltygui/core/diagnostics/notifications.py +706 -0
- meltygui/core/diagnostics/perf_trace.py +281 -0
- meltygui/core/diagnostics/profile_decoration.py +88 -0
- meltygui/core/diagnostics/resize_trace.py +62 -0
- meltygui/core/diagnostics/screenshot_core.py +247 -0
- meltygui/core/diagnostics/session_status.py +98 -0
- meltygui/core/diagnostics/trace_core.py +445 -0
- meltygui/core/files/__init__.py +1 -0
- meltygui/core/files/file_core.py +208 -0
- meltygui/core/files/file_explorer_core.py +104 -0
- meltygui/core/files/file_tree_core.py +198 -0
- meltygui/core/files/file_watch_core.py +43 -0
- meltygui/core/files/import_graph_core.py +43 -0
- meltygui/core/files/metadata_core.py +51 -0
- meltygui/core/graphics/__init__.py +1 -0
- meltygui/core/graphics/cuda_context_core.py +166 -0
- meltygui/core/graphics/cuda_interop_core.py +136 -0
- meltygui/core/graphics/cuda_kernel_core.py +91 -0
- meltygui/core/graphics/framebuffer_recorder.py +337 -0
- meltygui/core/graphics/gl_state.py +658 -0
- meltygui/core/graphics/lut_core.py +52 -0
- meltygui/core/graphics/overlay_renderer.py +984 -0
- meltygui/core/graphics/scene_target.py +180 -0
- meltygui/core/graphics/screenshot.py +439 -0
- meltygui/core/graphics/shader_func.py +478 -0
- meltygui/core/graphics/tensor_core.py +45 -0
- meltygui/core/graphics/text_texture.py +329 -0
- meltygui/core/graphics/wayland_color.py +635 -0
- meltygui/core/input/__init__.py +1 -0
- meltygui/core/input/collision.py +165 -0
- meltygui/core/input/drag_drop_core.py +1525 -0
- meltygui/core/input/hypr_left_drag.py +323 -0
- meltygui/core/input/input_core.py +245 -0
- meltygui/core/input/input_handler.py +1101 -0
- meltygui/core/input/mouse_cursor.py +355 -0
- meltygui/core/input/pynput_backend.py +1054 -0
- meltygui/core/input/space_mouse.py +338 -0
- meltygui/core/input/touchpad_backend.py +393 -0
- meltygui/core/input/view_selection.py +177 -0
- meltygui/core/layout/__init__.py +1 -0
- meltygui/core/layout/column_core.py +2153 -0
- meltygui/core/layout/cursor_core.py +161 -0
- meltygui/core/layout/dropdown_core.py +278 -0
- meltygui/core/layout/edge_constraints.py +155 -0
- meltygui/core/layout/grid_core.py +117 -0
- meltygui/core/layout/header_core.py +23 -0
- meltygui/core/layout/header_runtime.py +67 -0
- meltygui/core/layout/layout_core.py +87 -0
- meltygui/core/layout/tile_manager_core.py +591 -0
- meltygui/core/melty.py +6726 -0
- meltygui/core/module_map.json +896 -0
- meltygui/core/module_names.py +19 -0
- meltygui/core/rendering/__init__.py +1 -0
- meltygui/core/rendering/core_decoration.py +431 -0
- meltygui/core/rendering/core_render_helpers.py +328 -0
- meltygui/core/rendering/func_metadata.py +398 -0
- meltygui/core/rendering/mode.py +818 -0
- meltygui/core/rendering/mode_defaults.py +41 -0
- meltygui/core/rendering/modes.py +136 -0
- meltygui/core/rendering/parameter_core.py +1665 -0
- meltygui/core/rendering/render_dispatch.py +1891 -0
- meltygui/core/rendering/render_funcs.py +273 -0
- meltygui/core/rendering/shaped.py +312 -0
- meltygui/core/rendering/window_decoration.py +25 -0
- meltygui/core/runtime/__init__.py +1 -0
- meltygui/core/runtime/app.py +735 -0
- meltygui/core/runtime/app_session.py +140 -0
- meltygui/core/runtime/background.py +564 -0
- meltygui/core/runtime/extensions.py +53 -0
- meltygui/core/runtime/gc_manager.py +1163 -0
- meltygui/core/runtime/lifecycle.py +21 -0
- meltygui/core/runtime/paths.py +27 -0
- meltygui/core/runtime/settings.py +14 -0
- meltygui/core/runtime/singleton.py +16 -0
- meltygui/core/runtime/thread_safe_bool.py +24 -0
- meltygui/core/runtime/thread_signal.py +30 -0
- meltygui/core/runtime/toggles.py +3115 -0
- meltygui/core/services/__init__.py +1 -0
- meltygui/core/services/account_core.py +10 -0
- meltygui/core/services/chat_core.py +19 -0
- meltygui/core/services/claude_terminal_core.py +346 -0
- meltygui/core/services/terminal_core.py +458 -0
- meltygui/core/services/terminal_runtime.py +78 -0
- meltygui/core/styling/__init__.py +1 -0
- meltygui/core/styling/color_core.py +46 -0
- meltygui/core/styling/fonts.py +639 -0
- meltygui/core/styling/global_style.py +338 -0
- meltygui/core/styling/style.py +198 -0
- meltygui/core/styling/style_core.py +522 -0
- meltygui/core/styling/warm_start.py +149 -0
- meltygui/core/windowing/__init__.py +1 -0
- meltygui/core/windowing/backends/PYIMGUI_LICENSE +28 -0
- meltygui/core/windowing/backends/__init__.py +1 -0
- meltygui/core/windowing/backends/imgui_renderer.py +138 -0
- meltygui/core/windowing/backends/native_wayland.py +850 -0
- meltygui/core/windowing/backends/protocols/xdg-decoration-unstable-v1.xml +156 -0
- meltygui/core/windowing/backends/protocols/xdg-shell.xml +1420 -0
- meltygui/core/windowing/backends/wayland_protocol.py +101 -0
- meltygui/core/windowing/dock_core.py +182 -0
- meltygui/core/windowing/frame_geometry.py +42 -0
- meltygui/core/windowing/geometry_feed.py +864 -0
- meltygui/core/windowing/glfw_utils.py +1343 -0
- meltygui/core/windowing/os_frame.py +1552 -0
- meltygui/core/windowing/surface.py +643 -0
- meltygui/core/windowing/titlebar.py +1560 -0
- meltygui/core/windowing/titlebar_buttons.py +281 -0
- meltygui/core/windowing/wayland_move.py +932 -0
- meltygui/core/windowing/window_api.py +62 -0
- meltygui/core/windowing/window_constants.py +339 -0
- meltygui/core/windowing/window_visibility.py +162 -0
- meltygui/debug/__init__.py +0 -0
- meltygui/debug/app_view_utils.py +9 -0
- meltygui/editor/__init__.py +0 -0
- meltygui/editor/bash_syntax.py +30 -0
- meltygui/editor/code_line_fast.py +152 -0
- meltygui/editor/diff.py +139 -0
- meltygui/editor/external_changes.py +159 -0
- meltygui/editor/file_header.py +41 -0
- meltygui/editor/live_usage.py +169 -0
- meltygui/editor/live_view_views.py +1803 -0
- meltygui/editor/pending_save.py +1351 -0
- meltygui/editor/roster_tints.py +547 -0
- meltygui/editor/source_preview.py +16 -0
- meltygui/editor/source_tools.py +10 -0
- meltygui/editor/source_ui.py +70 -0
- meltygui/editor/spell_check.py +77 -0
- meltygui/editor/text_editor.py +9076 -0
- meltygui/editor/usage_picker.py +538 -0
- meltygui/events/__init__.py +0 -0
- meltygui/events/example.py +118 -0
- meltygui/examples/__init__.py +0 -0
- meltygui/examples/columns_demo.py +33 -0
- meltygui/examples/columns_window_demo.py +60 -0
- meltygui/examples/context_menu_demo.py +24 -0
- meltygui/examples/context_menu_window_demo.py +49 -0
- meltygui/examples/gui_playground.py +127 -0
- meltygui/examples/live_view_playground.py +256 -0
- meltygui/examples/lora.py +43 -0
- meltygui/examples/lora_data.py +59 -0
- meltygui/examples/lora_policies.py +67 -0
- meltygui/examples/mode_demo.py +49 -0
- meltygui/examples/modifies_demo.py +119 -0
- meltygui/examples/scalar_policies.py +60 -0
- meltygui/examples/style_layouts.py +149 -0
- meltygui/examples/tile_manager_demo.py +74 -0
- meltygui/examples/tint_demo.py +160 -0
- meltygui/examples/tint_functions.py +56 -0
- meltygui/examples/trace_demo.py +88 -0
- meltygui/examples/two_windows.py +36 -0
- meltygui/files/__init__.py +0 -0
- meltygui/files/fast_file_explorer.py +439 -0
- meltygui/gnome_extension/lsd-window-geometry@latent-descent/extension.js +237 -0
- meltygui/gnome_extension/lsd-window-geometry@latent-descent/lsd-window-geometry@latent-descent.iml +9 -0
- meltygui/gnome_extension/lsd-window-geometry@latent-descent/metadata.json +7 -0
- meltygui/graphics/__init__.py +6 -0
- meltygui/graphics/base.py +85 -0
- meltygui/graphics/examples.py +507 -0
- meltygui/graphics/executor.py +520 -0
- meltygui/graphics/filter.py +667 -0
- meltygui/graphics/filter.pyi +856 -0
- meltygui/graphics/generate_stubs.py +22 -0
- meltygui/graphics/registry.py +203 -0
- meltygui/graphics/shader_compiler.py +155 -0
- meltygui/graphics/shaders.py +1302 -0
- meltygui/graphics/stub_generator.py +250 -0
- meltygui/graphics/texture_manager.py +170 -0
- meltygui/graphics/texture_min_max.py +295 -0
- meltygui/hdr_color.py +757 -0
- meltygui/image_load.py +308 -0
- meltygui/model/__init__.py +1 -0
- meltygui/model/account_model.py +142 -0
- meltygui/model/camera_model.py +159 -0
- meltygui/model/chat_model.py +86 -0
- meltygui/model/code_model.py +62 -0
- meltygui/model/code_proxy_model.py +876 -0
- meltygui/model/collection_model.py +41 -0
- meltygui/model/color_model.py +127 -0
- meltygui/model/cuda_tensor_model.py +36 -0
- meltygui/model/cuda_texture_model.py +149 -0
- meltygui/model/dropdown_model.py +137 -0
- meltygui/model/file_metadata_model.py +73 -0
- meltygui/model/file_model.py +289 -0
- meltygui/model/format_model.py +390 -0
- meltygui/model/graph_model.py +98 -0
- meltygui/model/icon_model.py +1024 -0
- meltygui/model/import_graph_model.py +468 -0
- meltygui/model/layout_model.py +15 -0
- meltygui/model/lut_model.py +266 -0
- meltygui/model/search_model.py +173 -0
- meltygui/model/tensor_model.py +402 -0
- meltygui/model/terminal_model.py +329 -0
- meltygui/model/texture_model.py +146 -0
- meltygui/model/tile_model.py +24 -0
- meltygui/model/trace_model.py +198 -0
- meltygui/model/trace_report_model.py +146 -0
- meltygui/models/__init__.py +0 -0
- meltygui/models/file_meta.py +613 -0
- meltygui/models/function_console.py +184 -0
- meltygui/models/orchestration.py +48 -0
- meltygui/pbr.py +1576 -0
- meltygui/png_unfilter.c +49 -0
- meltygui/resources/JetBrainsMono-Regular.ttf +0 -0
- meltygui/resources/THIRD_PARTY_NOTICES.md +21 -0
- meltygui/resources/dejavu/DejaVuSans-Bold.ttf +0 -0
- meltygui/resources/dejavu/DejaVuSans-ExtraLight.ttf +0 -0
- meltygui/resources/dejavu/DejaVuSans.ttf +0 -0
- meltygui/resources/dejavu/LICENSE.txt +78 -0
- meltygui/resources/fontawesome-LICENSE.txt +121 -0
- meltygui/resources/fontawesome-webfont.ttf +0 -0
- meltygui/resources/hdri/studio_small_09_1k.hdr +0 -0
- meltygui/resources/jetbrains-weights/JetBrainsMono-Bold.ttf +0 -0
- meltygui/resources/jetbrains-weights/JetBrainsMono-ExtraBold.ttf +0 -0
- meltygui/resources/jetbrains-weights/JetBrainsMono-ExtraLight.ttf +0 -0
- meltygui/resources/jetbrains-weights/JetBrainsMono-Light.ttf +0 -0
- meltygui/resources/jetbrains-weights/JetBrainsMono-Medium.ttf +0 -0
- meltygui/resources/jetbrains-weights/JetBrainsMono-SemiBold.ttf +0 -0
- meltygui/resources/jetbrains-weights/JetBrainsMono-Thin.ttf +0 -0
- meltygui/resources/jetbrains-weights/OFL.txt +93 -0
- meltygui/resources/jetbrains-weights/README.md +2 -0
- meltygui/state/__init__.py +0 -0
- meltygui/state/account_state.py +22 -0
- meltygui/state/animation_state.py +97 -0
- meltygui/state/annotation_state.py +22 -0
- meltygui/state/chat_state.py +36 -0
- meltygui/state/code_state.py +10 -0
- meltygui/state/core_enums.py +59 -0
- meltygui/state/core_markers.py +115 -0
- meltygui/state/core_undo.py +1075 -0
- meltygui/state/file_state.py +75 -0
- meltygui/state/graph_state.py +26 -0
- meltygui/state/inspection_state.py +47 -0
- meltygui/state/menu_state.py +10 -0
- meltygui/state/model_enums.py +11 -0
- meltygui/state/new_core_model.py +2394 -0
- meltygui/state/orchestration_state.py +14 -0
- meltygui/state/query_state.py +24 -0
- meltygui/state/tensor_state.py +10 -0
- meltygui/state/terminal_state.py +23 -0
- meltygui/state/trace_state.py +32 -0
- meltygui/state/voxel_state.py +12 -0
- meltygui/text_index.py +816 -0
- meltygui/utils/__init__.py +0 -0
- meltygui/utils/jump_to_code.py +344 -0
- meltygui/utils/pkl_inspect.py +90 -0
- meltygui/utils/render_utils.py +1419 -0
- meltygui/view/__init__.py +1 -0
- meltygui/view/account_view.py +524 -0
- meltygui/view/action_view.py +73 -0
- meltygui/view/chat_decoration_view.py +112 -0
- meltygui/view/chat_view.py +1703 -0
- meltygui/view/code_view.py +2677 -0
- meltygui/view/collection_view.py +1185 -0
- meltygui/view/color_view.py +824 -0
- meltygui/view/control_view.py +559 -0
- meltygui/view/decoration_view.py +439 -0
- meltygui/view/diagnostic_view.py +177 -0
- meltygui/view/dropdown_view.py +1082 -0
- meltygui/view/file_view.py +1599 -0
- meltygui/view/graph_cuda_view.py +105 -0
- meltygui/view/graph_view.py +882 -0
- meltygui/view/header_view.py +848 -0
- meltygui/view/input_view.py +238 -0
- meltygui/view/inspection_view.py +1783 -0
- meltygui/view/layout_view.py +596 -0
- meltygui/view/lut_view.py +45 -0
- meltygui/view/menu_view.py +212 -0
- meltygui/view/orchestration_view.py +658 -0
- meltygui/view/query_view.py +118 -0
- meltygui/view/search_view.py +342 -0
- meltygui/view/tab_view.py +258 -0
- meltygui/view/tensor_view.py +430 -0
- meltygui/view/terminal_view.py +355 -0
- meltygui/view/text_view.py +8031 -0
- meltygui/view/texture_view.py +480 -0
- meltygui/view/tile_view.py +38 -0
- meltygui/view/trace_view.py +923 -0
- meltygui/view/voxel_cuda_view.py +824 -0
- meltygui/view/voxel_view.py +1860 -0
- meltygui/view/window_view.py +111 -0
- meltygui-0.1.0.dist-info/METADATA +143 -0
- meltygui-0.1.0.dist-info/RECORD +372 -0
- meltygui-0.1.0.dist-info/WHEEL +4 -0
- meltygui-0.1.0.dist-info/licenses/LICENSE +202 -0
|
@@ -0,0 +1,856 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Type stub file for Filter class.
|
|
3
|
+
|
|
4
|
+
This file is auto-generated to provide IDE autocomplete for
|
|
5
|
+
dynamically created shader methods.
|
|
6
|
+
|
|
7
|
+
To regenerate: python -m shader_manager.stub_generator
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from typing import Optional, Dict, Any, Tuple, List
|
|
11
|
+
from contextlib import AbstractContextManager
|
|
12
|
+
from .shader_compiler import CompiledProgram
|
|
13
|
+
from .registry import ShaderRegistry
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Filter(AbstractContextManager):
|
|
17
|
+
"""
|
|
18
|
+
Main interface for shader-based texture filtering.
|
|
19
|
+
|
|
20
|
+
All registered shaders are available as methods for IDE autocomplete.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
def __init__(self, auto_compile: bool = True) -> None: ...
|
|
24
|
+
|
|
25
|
+
def box_blur(
|
|
26
|
+
self,
|
|
27
|
+
texture_id: int = 0,
|
|
28
|
+
in_place: bool = False,
|
|
29
|
+
radius: float = 1.0,
|
|
30
|
+
texture_size: Tuple[float, float] = (512.0, 512.0),
|
|
31
|
+
output_texture: Optional[int] = None,
|
|
32
|
+
output_framebuffer: Optional[int] = None,
|
|
33
|
+
input_framebuffer: Optional[int] = None,
|
|
34
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
35
|
+
) -> int:
|
|
36
|
+
"""
|
|
37
|
+
Apply box_blur shader to a texture or framebuffer.
|
|
38
|
+
|
|
39
|
+
Args:
|
|
40
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
41
|
+
in_place: If True, modify the input texture directly
|
|
42
|
+
radius: Shader uniform (float)
|
|
43
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
44
|
+
output_texture: Optional specific output texture to render to
|
|
45
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
46
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
47
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
48
|
+
at a lower resolution while sampling the full-res input
|
|
49
|
+
|
|
50
|
+
Returns:
|
|
51
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
52
|
+
"""
|
|
53
|
+
...
|
|
54
|
+
|
|
55
|
+
def brightness_contrast(
|
|
56
|
+
self,
|
|
57
|
+
texture_id: int = 0,
|
|
58
|
+
in_place: bool = False,
|
|
59
|
+
brightness: float = 0.0,
|
|
60
|
+
contrast: float = 1.0,
|
|
61
|
+
output_texture: Optional[int] = None,
|
|
62
|
+
output_framebuffer: Optional[int] = None,
|
|
63
|
+
input_framebuffer: Optional[int] = None,
|
|
64
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
65
|
+
) -> int:
|
|
66
|
+
"""
|
|
67
|
+
Apply brightness_contrast shader to a texture or framebuffer.
|
|
68
|
+
|
|
69
|
+
Args:
|
|
70
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
71
|
+
in_place: If True, modify the input texture directly
|
|
72
|
+
brightness: Shader uniform (float)
|
|
73
|
+
contrast: Shader uniform (float)
|
|
74
|
+
output_texture: Optional specific output texture to render to
|
|
75
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
76
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
77
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
78
|
+
at a lower resolution while sampling the full-res input
|
|
79
|
+
|
|
80
|
+
Returns:
|
|
81
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
82
|
+
"""
|
|
83
|
+
...
|
|
84
|
+
|
|
85
|
+
def bulge(
|
|
86
|
+
self,
|
|
87
|
+
texture_id: int = 0,
|
|
88
|
+
in_place: bool = False,
|
|
89
|
+
center: Tuple[float, float] = (0.5, 0.5),
|
|
90
|
+
radius: float = 0.5,
|
|
91
|
+
strength: float = 0.5,
|
|
92
|
+
output_texture: Optional[int] = None,
|
|
93
|
+
output_framebuffer: Optional[int] = None,
|
|
94
|
+
input_framebuffer: Optional[int] = None,
|
|
95
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
96
|
+
) -> int:
|
|
97
|
+
"""
|
|
98
|
+
Apply bulge shader to a texture or framebuffer.
|
|
99
|
+
|
|
100
|
+
Args:
|
|
101
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
102
|
+
in_place: If True, modify the input texture directly
|
|
103
|
+
center: Shader uniform (Tuple[float, float])
|
|
104
|
+
radius: Shader uniform (float)
|
|
105
|
+
strength: Shader uniform (float)
|
|
106
|
+
output_texture: Optional specific output texture to render to
|
|
107
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
108
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
109
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
110
|
+
at a lower resolution while sampling the full-res input
|
|
111
|
+
|
|
112
|
+
Returns:
|
|
113
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
114
|
+
"""
|
|
115
|
+
...
|
|
116
|
+
|
|
117
|
+
def chromatic_aberration(
|
|
118
|
+
self,
|
|
119
|
+
texture_id: int = 0,
|
|
120
|
+
in_place: bool = False,
|
|
121
|
+
amount: float = 0.005,
|
|
122
|
+
output_texture: Optional[int] = None,
|
|
123
|
+
output_framebuffer: Optional[int] = None,
|
|
124
|
+
input_framebuffer: Optional[int] = None,
|
|
125
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
126
|
+
) -> int:
|
|
127
|
+
"""
|
|
128
|
+
Apply chromatic_aberration shader to a texture or framebuffer.
|
|
129
|
+
|
|
130
|
+
Args:
|
|
131
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
132
|
+
in_place: If True, modify the input texture directly
|
|
133
|
+
amount: Shader uniform (float)
|
|
134
|
+
output_texture: Optional specific output texture to render to
|
|
135
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
136
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
137
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
138
|
+
at a lower resolution while sampling the full-res input
|
|
139
|
+
|
|
140
|
+
Returns:
|
|
141
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
142
|
+
"""
|
|
143
|
+
...
|
|
144
|
+
|
|
145
|
+
def gamma(
|
|
146
|
+
self,
|
|
147
|
+
texture_id: int = 0,
|
|
148
|
+
in_place: bool = False,
|
|
149
|
+
gamma: float = 1.0,
|
|
150
|
+
output_texture: Optional[int] = None,
|
|
151
|
+
output_framebuffer: Optional[int] = None,
|
|
152
|
+
input_framebuffer: Optional[int] = None,
|
|
153
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
154
|
+
) -> int:
|
|
155
|
+
"""
|
|
156
|
+
Apply gamma shader to a texture or framebuffer.
|
|
157
|
+
|
|
158
|
+
Args:
|
|
159
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
160
|
+
in_place: If True, modify the input texture directly
|
|
161
|
+
gamma: Shader uniform (float)
|
|
162
|
+
output_texture: Optional specific output texture to render to
|
|
163
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
164
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
165
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
166
|
+
at a lower resolution while sampling the full-res input
|
|
167
|
+
|
|
168
|
+
Returns:
|
|
169
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
170
|
+
"""
|
|
171
|
+
...
|
|
172
|
+
|
|
173
|
+
def gaussian_blur(
|
|
174
|
+
self,
|
|
175
|
+
texture_id: int = 0,
|
|
176
|
+
in_place: bool = False,
|
|
177
|
+
radius: float = 4.0,
|
|
178
|
+
texture_size: Tuple[float, float] = None,
|
|
179
|
+
output_texture: Optional[int] = None,
|
|
180
|
+
output_framebuffer: Optional[int] = None,
|
|
181
|
+
input_framebuffer: Optional[int] = None,
|
|
182
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
183
|
+
) -> int:
|
|
184
|
+
"""
|
|
185
|
+
Apply gaussian_blur shader to a texture or framebuffer.
|
|
186
|
+
|
|
187
|
+
Args:
|
|
188
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
189
|
+
in_place: If True, modify the input texture directly
|
|
190
|
+
radius: Shader uniform (float)
|
|
191
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
192
|
+
output_texture: Optional specific output texture to render to
|
|
193
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
194
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
195
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
196
|
+
at a lower resolution while sampling the full-res input
|
|
197
|
+
|
|
198
|
+
Returns:
|
|
199
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
200
|
+
"""
|
|
201
|
+
...
|
|
202
|
+
|
|
203
|
+
def gaussian_blur_h(
|
|
204
|
+
self,
|
|
205
|
+
texture_id: int = 0,
|
|
206
|
+
in_place: bool = False,
|
|
207
|
+
radius: float = 4.0,
|
|
208
|
+
texture_size: Tuple[float, float] = (512.0, 512.0),
|
|
209
|
+
output_texture: Optional[int] = None,
|
|
210
|
+
output_framebuffer: Optional[int] = None,
|
|
211
|
+
input_framebuffer: Optional[int] = None,
|
|
212
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
213
|
+
) -> int:
|
|
214
|
+
"""
|
|
215
|
+
Apply gaussian_blur_h shader to a texture or framebuffer.
|
|
216
|
+
|
|
217
|
+
Args:
|
|
218
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
219
|
+
in_place: If True, modify the input texture directly
|
|
220
|
+
radius: Shader uniform (float)
|
|
221
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
222
|
+
output_texture: Optional specific output texture to render to
|
|
223
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
224
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
225
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
226
|
+
at a lower resolution while sampling the full-res input
|
|
227
|
+
|
|
228
|
+
Returns:
|
|
229
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
230
|
+
"""
|
|
231
|
+
...
|
|
232
|
+
|
|
233
|
+
def gaussian_blur_v(
|
|
234
|
+
self,
|
|
235
|
+
texture_id: int = 0,
|
|
236
|
+
in_place: bool = False,
|
|
237
|
+
radius: float = 4.0,
|
|
238
|
+
texture_size: Tuple[float, float] = (512.0, 512.0),
|
|
239
|
+
output_texture: Optional[int] = None,
|
|
240
|
+
output_framebuffer: Optional[int] = None,
|
|
241
|
+
input_framebuffer: Optional[int] = None,
|
|
242
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
243
|
+
) -> int:
|
|
244
|
+
"""
|
|
245
|
+
Apply gaussian_blur_v shader to a texture or framebuffer.
|
|
246
|
+
|
|
247
|
+
Args:
|
|
248
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
249
|
+
in_place: If True, modify the input texture directly
|
|
250
|
+
radius: Shader uniform (float)
|
|
251
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
252
|
+
output_texture: Optional specific output texture to render to
|
|
253
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
254
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
255
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
256
|
+
at a lower resolution while sampling the full-res input
|
|
257
|
+
|
|
258
|
+
Returns:
|
|
259
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
260
|
+
"""
|
|
261
|
+
...
|
|
262
|
+
|
|
263
|
+
def grayscale(
|
|
264
|
+
self,
|
|
265
|
+
texture_id: int = 0,
|
|
266
|
+
in_place: bool = False,
|
|
267
|
+
method: int = 0,
|
|
268
|
+
output_texture: Optional[int] = None,
|
|
269
|
+
output_framebuffer: Optional[int] = None,
|
|
270
|
+
input_framebuffer: Optional[int] = None,
|
|
271
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
272
|
+
) -> int:
|
|
273
|
+
"""
|
|
274
|
+
Apply grayscale shader to a texture or framebuffer.
|
|
275
|
+
|
|
276
|
+
Args:
|
|
277
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
278
|
+
in_place: If True, modify the input texture directly
|
|
279
|
+
method: Shader uniform (int)
|
|
280
|
+
output_texture: Optional specific output texture to render to
|
|
281
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
282
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
283
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
284
|
+
at a lower resolution while sampling the full-res input
|
|
285
|
+
|
|
286
|
+
Returns:
|
|
287
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
288
|
+
"""
|
|
289
|
+
...
|
|
290
|
+
|
|
291
|
+
def hue_saturation(
|
|
292
|
+
self,
|
|
293
|
+
texture_id: int = 0,
|
|
294
|
+
in_place: bool = False,
|
|
295
|
+
hue_shift: float = 0.0,
|
|
296
|
+
lightness: float = 0.0,
|
|
297
|
+
saturation: float = 1.0,
|
|
298
|
+
output_texture: Optional[int] = None,
|
|
299
|
+
output_framebuffer: Optional[int] = None,
|
|
300
|
+
input_framebuffer: Optional[int] = None,
|
|
301
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
302
|
+
) -> int:
|
|
303
|
+
"""
|
|
304
|
+
Apply hue_saturation shader to a texture or framebuffer.
|
|
305
|
+
|
|
306
|
+
Args:
|
|
307
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
308
|
+
in_place: If True, modify the input texture directly
|
|
309
|
+
hue_shift: Shader uniform (float)
|
|
310
|
+
lightness: Shader uniform (float)
|
|
311
|
+
saturation: Shader uniform (float)
|
|
312
|
+
output_texture: Optional specific output texture to render to
|
|
313
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
314
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
315
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
316
|
+
at a lower resolution while sampling the full-res input
|
|
317
|
+
|
|
318
|
+
Returns:
|
|
319
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
320
|
+
"""
|
|
321
|
+
...
|
|
322
|
+
|
|
323
|
+
def invert(
|
|
324
|
+
self,
|
|
325
|
+
texture_id: int = 0,
|
|
326
|
+
in_place: bool = False,
|
|
327
|
+
amount: float = 1.0,
|
|
328
|
+
output_texture: Optional[int] = None,
|
|
329
|
+
output_framebuffer: Optional[int] = None,
|
|
330
|
+
input_framebuffer: Optional[int] = None,
|
|
331
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
332
|
+
) -> int:
|
|
333
|
+
"""
|
|
334
|
+
Apply invert shader to a texture or framebuffer.
|
|
335
|
+
|
|
336
|
+
Args:
|
|
337
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
338
|
+
in_place: If True, modify the input texture directly
|
|
339
|
+
amount: Shader uniform (float)
|
|
340
|
+
output_texture: Optional specific output texture to render to
|
|
341
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
342
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
343
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
344
|
+
at a lower resolution while sampling the full-res input
|
|
345
|
+
|
|
346
|
+
Returns:
|
|
347
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
348
|
+
"""
|
|
349
|
+
...
|
|
350
|
+
|
|
351
|
+
def jet(
|
|
352
|
+
self,
|
|
353
|
+
texture_id: int = 0,
|
|
354
|
+
in_place: bool = False,
|
|
355
|
+
offset: float = 0.0,
|
|
356
|
+
output_texture: Optional[int] = None,
|
|
357
|
+
output_framebuffer: Optional[int] = None,
|
|
358
|
+
input_framebuffer: Optional[int] = None,
|
|
359
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
360
|
+
) -> int:
|
|
361
|
+
"""
|
|
362
|
+
Apply jet shader to a texture or framebuffer.
|
|
363
|
+
|
|
364
|
+
Args:
|
|
365
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
366
|
+
in_place: If True, modify the input texture directly
|
|
367
|
+
offset: Shader uniform (float)
|
|
368
|
+
output_texture: Optional specific output texture to render to
|
|
369
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
370
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
371
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
372
|
+
at a lower resolution while sampling the full-res input
|
|
373
|
+
|
|
374
|
+
Returns:
|
|
375
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
376
|
+
"""
|
|
377
|
+
...
|
|
378
|
+
|
|
379
|
+
def laplacian(
|
|
380
|
+
self,
|
|
381
|
+
texture_id: int = 0,
|
|
382
|
+
in_place: bool = False,
|
|
383
|
+
strength: float = 1.0,
|
|
384
|
+
texture_size: Tuple[float, float] = (512.0, 512.0),
|
|
385
|
+
output_texture: Optional[int] = None,
|
|
386
|
+
output_framebuffer: Optional[int] = None,
|
|
387
|
+
input_framebuffer: Optional[int] = None,
|
|
388
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
389
|
+
) -> int:
|
|
390
|
+
"""
|
|
391
|
+
Apply laplacian shader to a texture or framebuffer.
|
|
392
|
+
|
|
393
|
+
Args:
|
|
394
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
395
|
+
in_place: If True, modify the input texture directly
|
|
396
|
+
strength: Shader uniform (float)
|
|
397
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
398
|
+
output_texture: Optional specific output texture to render to
|
|
399
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
400
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
401
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
402
|
+
at a lower resolution while sampling the full-res input
|
|
403
|
+
|
|
404
|
+
Returns:
|
|
405
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
406
|
+
"""
|
|
407
|
+
...
|
|
408
|
+
|
|
409
|
+
def min_max_reduction(
|
|
410
|
+
self,
|
|
411
|
+
texture_id: int = 0,
|
|
412
|
+
in_place: bool = False,
|
|
413
|
+
texture_size: Tuple[float, float] = None,
|
|
414
|
+
output_texture: Optional[int] = None,
|
|
415
|
+
output_framebuffer: Optional[int] = None,
|
|
416
|
+
input_framebuffer: Optional[int] = None,
|
|
417
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
418
|
+
) -> int:
|
|
419
|
+
"""
|
|
420
|
+
Apply min_max_reduction shader to a texture or framebuffer.
|
|
421
|
+
|
|
422
|
+
Args:
|
|
423
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
424
|
+
in_place: If True, modify the input texture directly
|
|
425
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
426
|
+
output_texture: Optional specific output texture to render to
|
|
427
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
428
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
429
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
430
|
+
at a lower resolution while sampling the full-res input
|
|
431
|
+
|
|
432
|
+
Returns:
|
|
433
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
434
|
+
"""
|
|
435
|
+
...
|
|
436
|
+
|
|
437
|
+
def normalize_remap(
|
|
438
|
+
self,
|
|
439
|
+
texture_id: int = 0,
|
|
440
|
+
in_place: bool = False,
|
|
441
|
+
min_max_tex: Any = None,
|
|
442
|
+
output_texture: Optional[int] = None,
|
|
443
|
+
output_framebuffer: Optional[int] = None,
|
|
444
|
+
input_framebuffer: Optional[int] = None,
|
|
445
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
446
|
+
) -> int:
|
|
447
|
+
"""
|
|
448
|
+
Apply normalize_remap shader to a texture or framebuffer.
|
|
449
|
+
|
|
450
|
+
Args:
|
|
451
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
452
|
+
in_place: If True, modify the input texture directly
|
|
453
|
+
min_max_tex: Shader uniform (Any)
|
|
454
|
+
output_texture: Optional specific output texture to render to
|
|
455
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
456
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
457
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
458
|
+
at a lower resolution while sampling the full-res input
|
|
459
|
+
|
|
460
|
+
Returns:
|
|
461
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
462
|
+
"""
|
|
463
|
+
...
|
|
464
|
+
|
|
465
|
+
def passthrough(
|
|
466
|
+
self,
|
|
467
|
+
texture_id: int = 0,
|
|
468
|
+
in_place: bool = False,
|
|
469
|
+
output_texture: Optional[int] = None,
|
|
470
|
+
output_framebuffer: Optional[int] = None,
|
|
471
|
+
input_framebuffer: Optional[int] = None,
|
|
472
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
473
|
+
) -> int:
|
|
474
|
+
"""
|
|
475
|
+
Apply passthrough shader to a texture or framebuffer.
|
|
476
|
+
|
|
477
|
+
Args:
|
|
478
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
479
|
+
in_place: If True, modify the input texture directly
|
|
480
|
+
output_texture: Optional specific output texture to render to
|
|
481
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
482
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
483
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
484
|
+
at a lower resolution while sampling the full-res input
|
|
485
|
+
|
|
486
|
+
Returns:
|
|
487
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
488
|
+
"""
|
|
489
|
+
...
|
|
490
|
+
|
|
491
|
+
def pixelate(
|
|
492
|
+
self,
|
|
493
|
+
texture_id: int = 0,
|
|
494
|
+
in_place: bool = False,
|
|
495
|
+
pixel_size: float = 8.0,
|
|
496
|
+
texture_size: Tuple[float, float] = (512.0, 512.0),
|
|
497
|
+
output_texture: Optional[int] = None,
|
|
498
|
+
output_framebuffer: Optional[int] = None,
|
|
499
|
+
input_framebuffer: Optional[int] = None,
|
|
500
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
501
|
+
) -> int:
|
|
502
|
+
"""
|
|
503
|
+
Apply pixelate shader to a texture or framebuffer.
|
|
504
|
+
|
|
505
|
+
Args:
|
|
506
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
507
|
+
in_place: If True, modify the input texture directly
|
|
508
|
+
pixel_size: Shader uniform (float)
|
|
509
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
510
|
+
output_texture: Optional specific output texture to render to
|
|
511
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
512
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
513
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
514
|
+
at a lower resolution while sampling the full-res input
|
|
515
|
+
|
|
516
|
+
Returns:
|
|
517
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
518
|
+
"""
|
|
519
|
+
...
|
|
520
|
+
|
|
521
|
+
def posterize(
|
|
522
|
+
self,
|
|
523
|
+
texture_id: int = 0,
|
|
524
|
+
in_place: bool = False,
|
|
525
|
+
levels: float = 8.0,
|
|
526
|
+
output_texture: Optional[int] = None,
|
|
527
|
+
output_framebuffer: Optional[int] = None,
|
|
528
|
+
input_framebuffer: Optional[int] = None,
|
|
529
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
530
|
+
) -> int:
|
|
531
|
+
"""
|
|
532
|
+
Apply posterize shader to a texture or framebuffer.
|
|
533
|
+
|
|
534
|
+
Args:
|
|
535
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
536
|
+
in_place: If True, modify the input texture directly
|
|
537
|
+
levels: Shader uniform (float)
|
|
538
|
+
output_texture: Optional specific output texture to render to
|
|
539
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
540
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
541
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
542
|
+
at a lower resolution while sampling the full-res input
|
|
543
|
+
|
|
544
|
+
Returns:
|
|
545
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
546
|
+
"""
|
|
547
|
+
...
|
|
548
|
+
|
|
549
|
+
def sepia(
|
|
550
|
+
self,
|
|
551
|
+
texture_id: int = 0,
|
|
552
|
+
in_place: bool = False,
|
|
553
|
+
amount: float = 1.0,
|
|
554
|
+
output_texture: Optional[int] = None,
|
|
555
|
+
output_framebuffer: Optional[int] = None,
|
|
556
|
+
input_framebuffer: Optional[int] = None,
|
|
557
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
558
|
+
) -> int:
|
|
559
|
+
"""
|
|
560
|
+
Apply sepia shader to a texture or framebuffer.
|
|
561
|
+
|
|
562
|
+
Args:
|
|
563
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
564
|
+
in_place: If True, modify the input texture directly
|
|
565
|
+
amount: Shader uniform (float)
|
|
566
|
+
output_texture: Optional specific output texture to render to
|
|
567
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
568
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
569
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
570
|
+
at a lower resolution while sampling the full-res input
|
|
571
|
+
|
|
572
|
+
Returns:
|
|
573
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
574
|
+
"""
|
|
575
|
+
...
|
|
576
|
+
|
|
577
|
+
def shadow_blur(
|
|
578
|
+
self,
|
|
579
|
+
texture_id: int = 0,
|
|
580
|
+
in_place: bool = False,
|
|
581
|
+
blur_scale: float = 20.0,
|
|
582
|
+
min_blur: float = 1.0,
|
|
583
|
+
texture_size: Tuple[float, float] = None,
|
|
584
|
+
output_texture: Optional[int] = None,
|
|
585
|
+
output_framebuffer: Optional[int] = None,
|
|
586
|
+
input_framebuffer: Optional[int] = None,
|
|
587
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
588
|
+
) -> int:
|
|
589
|
+
"""
|
|
590
|
+
Apply shadow_blur shader to a texture or framebuffer.
|
|
591
|
+
|
|
592
|
+
Args:
|
|
593
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
594
|
+
in_place: If True, modify the input texture directly
|
|
595
|
+
blur_scale: Shader uniform (float)
|
|
596
|
+
min_blur: Shader uniform (float)
|
|
597
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
598
|
+
output_texture: Optional specific output texture to render to
|
|
599
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
600
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
601
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
602
|
+
at a lower resolution while sampling the full-res input
|
|
603
|
+
|
|
604
|
+
Returns:
|
|
605
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
606
|
+
"""
|
|
607
|
+
...
|
|
608
|
+
|
|
609
|
+
def shadow_cast(
|
|
610
|
+
self,
|
|
611
|
+
texture_id: int = 0,
|
|
612
|
+
in_place: bool = False,
|
|
613
|
+
blur_exponent: float = 1.0,
|
|
614
|
+
blur_samples: int = 8,
|
|
615
|
+
blur_scale: float = 0.3,
|
|
616
|
+
depth_bias: float = 0.0,
|
|
617
|
+
depth_scale: float = 1.0,
|
|
618
|
+
height_scale: float = 0.5,
|
|
619
|
+
hit_falloff: float = 14.0,
|
|
620
|
+
hit_strength: float = 0.7,
|
|
621
|
+
light_dir: Tuple[float, float] = (-0.02, 0.064),
|
|
622
|
+
max_steps: int = 64,
|
|
623
|
+
min_height_diff: float = 0.0,
|
|
624
|
+
shadow_strength: float = 0.4,
|
|
625
|
+
surface_threshold: float = -10.0,
|
|
626
|
+
texture_size: Tuple[float, float] = None,
|
|
627
|
+
output_texture: Optional[int] = None,
|
|
628
|
+
output_framebuffer: Optional[int] = None,
|
|
629
|
+
input_framebuffer: Optional[int] = None,
|
|
630
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
631
|
+
) -> int:
|
|
632
|
+
"""
|
|
633
|
+
Apply shadow_cast shader to a texture or framebuffer.
|
|
634
|
+
|
|
635
|
+
Args:
|
|
636
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
637
|
+
in_place: If True, modify the input texture directly
|
|
638
|
+
blur_exponent: Shader uniform (float)
|
|
639
|
+
blur_samples: Shader uniform (int)
|
|
640
|
+
blur_scale: Shader uniform (float)
|
|
641
|
+
depth_bias: Shader uniform (float)
|
|
642
|
+
depth_scale: Shader uniform (float)
|
|
643
|
+
height_scale: Shader uniform (float)
|
|
644
|
+
hit_falloff: Shader uniform (float)
|
|
645
|
+
hit_strength: Shader uniform (float)
|
|
646
|
+
light_dir: Shader uniform (Tuple[float, float])
|
|
647
|
+
max_steps: Shader uniform (int)
|
|
648
|
+
min_height_diff: Shader uniform (float)
|
|
649
|
+
shadow_strength: Shader uniform (float)
|
|
650
|
+
surface_threshold: Shader uniform (float)
|
|
651
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
652
|
+
output_texture: Optional specific output texture to render to
|
|
653
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
654
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
655
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
656
|
+
at a lower resolution while sampling the full-res input
|
|
657
|
+
|
|
658
|
+
Returns:
|
|
659
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
660
|
+
"""
|
|
661
|
+
...
|
|
662
|
+
|
|
663
|
+
def shadow_composite(
|
|
664
|
+
self,
|
|
665
|
+
texture_id: int = 0,
|
|
666
|
+
in_place: bool = False,
|
|
667
|
+
depth_map: Any = None,
|
|
668
|
+
depth_scale: float = 1.0,
|
|
669
|
+
depth_sharpness: float = 50.0,
|
|
670
|
+
glow_map: Any = None,
|
|
671
|
+
glow_shadow_cut: float = 1.0,
|
|
672
|
+
glow_strength: float = 0.0,
|
|
673
|
+
light_dir: Tuple[float, float] = (-0.5, 1.6),
|
|
674
|
+
shadow_color: Tuple[float, float, float] = (0.0, 0.0, 0.0),
|
|
675
|
+
shadow_map: Any = None,
|
|
676
|
+
shadow_opacity: float = 1.0,
|
|
677
|
+
shadow_size: Tuple[float, float] = None,
|
|
678
|
+
specular_bevel: float = 0.0,
|
|
679
|
+
specular_depth_eps: float = 0.001,
|
|
680
|
+
specular_depth_falloff: float = 0.0,
|
|
681
|
+
specular_fade: float = 300.0,
|
|
682
|
+
specular_fade_rel: float = 0.6,
|
|
683
|
+
specular_roughness: float = 0.4,
|
|
684
|
+
specular_slope_tol: float = 0.0002,
|
|
685
|
+
specular_strength: float = 1.0,
|
|
686
|
+
texture_size: Tuple[float, float] = None,
|
|
687
|
+
win_mask: Any = None,
|
|
688
|
+
win_rects: Any = None,
|
|
689
|
+
output_texture: Optional[int] = None,
|
|
690
|
+
output_framebuffer: Optional[int] = None,
|
|
691
|
+
input_framebuffer: Optional[int] = None,
|
|
692
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
693
|
+
) -> int:
|
|
694
|
+
"""
|
|
695
|
+
Apply shadow_composite shader to a texture or framebuffer.
|
|
696
|
+
|
|
697
|
+
Args:
|
|
698
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
699
|
+
in_place: If True, modify the input texture directly
|
|
700
|
+
depth_map: Shader uniform (Any)
|
|
701
|
+
depth_scale: Shader uniform (float)
|
|
702
|
+
depth_sharpness: Shader uniform (float)
|
|
703
|
+
glow_map: Shader uniform (Any)
|
|
704
|
+
glow_shadow_cut: Shader uniform (float)
|
|
705
|
+
glow_strength: Shader uniform (float)
|
|
706
|
+
light_dir: Shader uniform (Tuple[float, float])
|
|
707
|
+
shadow_color: Shader uniform (Tuple[float, float, float])
|
|
708
|
+
shadow_map: Shader uniform (Any)
|
|
709
|
+
shadow_opacity: Shader uniform (float)
|
|
710
|
+
shadow_size: Shader uniform (Tuple[float, float])
|
|
711
|
+
specular_bevel: Shader uniform (float)
|
|
712
|
+
specular_depth_eps: Shader uniform (float)
|
|
713
|
+
specular_depth_falloff: Shader uniform (float)
|
|
714
|
+
specular_fade: Shader uniform (float)
|
|
715
|
+
specular_fade_rel: Shader uniform (float)
|
|
716
|
+
specular_roughness: Shader uniform (float)
|
|
717
|
+
specular_slope_tol: Shader uniform (float)
|
|
718
|
+
specular_strength: Shader uniform (float)
|
|
719
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
720
|
+
win_mask: Shader uniform (Any)
|
|
721
|
+
win_rects: Shader uniform (Any)
|
|
722
|
+
output_texture: Optional specific output texture to render to
|
|
723
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
724
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
725
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
726
|
+
at a lower resolution while sampling the full-res input
|
|
727
|
+
|
|
728
|
+
Returns:
|
|
729
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
730
|
+
"""
|
|
731
|
+
...
|
|
732
|
+
|
|
733
|
+
def sobel(
|
|
734
|
+
self,
|
|
735
|
+
texture_id: int = 0,
|
|
736
|
+
in_place: bool = False,
|
|
737
|
+
strength: float = 1.0,
|
|
738
|
+
texture_size: Tuple[float, float] = (512.0, 512.0),
|
|
739
|
+
output_texture: Optional[int] = None,
|
|
740
|
+
output_framebuffer: Optional[int] = None,
|
|
741
|
+
input_framebuffer: Optional[int] = None,
|
|
742
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
743
|
+
) -> int:
|
|
744
|
+
"""
|
|
745
|
+
Apply sobel shader to a texture or framebuffer.
|
|
746
|
+
|
|
747
|
+
Args:
|
|
748
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
749
|
+
in_place: If True, modify the input texture directly
|
|
750
|
+
strength: Shader uniform (float)
|
|
751
|
+
texture_size: Shader uniform (Tuple[float, float])
|
|
752
|
+
output_texture: Optional specific output texture to render to
|
|
753
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
754
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
755
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
756
|
+
at a lower resolution while sampling the full-res input
|
|
757
|
+
|
|
758
|
+
Returns:
|
|
759
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
760
|
+
"""
|
|
761
|
+
...
|
|
762
|
+
|
|
763
|
+
def swirl(
|
|
764
|
+
self,
|
|
765
|
+
texture_id: int = 0,
|
|
766
|
+
in_place: bool = False,
|
|
767
|
+
angle: float = 3.0,
|
|
768
|
+
center: Tuple[float, float] = (0.5, 0.5),
|
|
769
|
+
radius: float = 0.5,
|
|
770
|
+
output_texture: Optional[int] = None,
|
|
771
|
+
output_framebuffer: Optional[int] = None,
|
|
772
|
+
input_framebuffer: Optional[int] = None,
|
|
773
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
774
|
+
) -> int:
|
|
775
|
+
"""
|
|
776
|
+
Apply swirl shader to a texture or framebuffer.
|
|
777
|
+
|
|
778
|
+
Args:
|
|
779
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
780
|
+
in_place: If True, modify the input texture directly
|
|
781
|
+
angle: Shader uniform (float)
|
|
782
|
+
center: Shader uniform (Tuple[float, float])
|
|
783
|
+
radius: Shader uniform (float)
|
|
784
|
+
output_texture: Optional specific output texture to render to
|
|
785
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
786
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
787
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
788
|
+
at a lower resolution while sampling the full-res input
|
|
789
|
+
|
|
790
|
+
Returns:
|
|
791
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
792
|
+
"""
|
|
793
|
+
...
|
|
794
|
+
|
|
795
|
+
def threshold(
|
|
796
|
+
self,
|
|
797
|
+
texture_id: int = 0,
|
|
798
|
+
in_place: bool = False,
|
|
799
|
+
smoothness: float = 0.0,
|
|
800
|
+
threshold: float = 0.5,
|
|
801
|
+
output_texture: Optional[int] = None,
|
|
802
|
+
output_framebuffer: Optional[int] = None,
|
|
803
|
+
input_framebuffer: Optional[int] = None,
|
|
804
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
805
|
+
) -> int:
|
|
806
|
+
"""
|
|
807
|
+
Apply threshold shader to a texture or framebuffer.
|
|
808
|
+
|
|
809
|
+
Args:
|
|
810
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
811
|
+
in_place: If True, modify the input texture directly
|
|
812
|
+
smoothness: Shader uniform (float)
|
|
813
|
+
threshold: Shader uniform (float)
|
|
814
|
+
output_texture: Optional specific output texture to render to
|
|
815
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
816
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
817
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
818
|
+
at a lower resolution while sampling the full-res input
|
|
819
|
+
|
|
820
|
+
Returns:
|
|
821
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
822
|
+
"""
|
|
823
|
+
...
|
|
824
|
+
|
|
825
|
+
def vignette(
|
|
826
|
+
self,
|
|
827
|
+
texture_id: int = 0,
|
|
828
|
+
in_place: bool = False,
|
|
829
|
+
amount: float = 0.5,
|
|
830
|
+
radius: float = 0.75,
|
|
831
|
+
softness: float = 0.45,
|
|
832
|
+
output_texture: Optional[int] = None,
|
|
833
|
+
output_framebuffer: Optional[int] = None,
|
|
834
|
+
input_framebuffer: Optional[int] = None,
|
|
835
|
+
output_size: Optional[Tuple[int, int]] = None,
|
|
836
|
+
) -> int:
|
|
837
|
+
"""
|
|
838
|
+
Apply vignette shader to a texture or framebuffer.
|
|
839
|
+
|
|
840
|
+
Args:
|
|
841
|
+
texture_id: Input texture ID (ignored if input_framebuffer set)
|
|
842
|
+
in_place: If True, modify the input texture directly
|
|
843
|
+
amount: Shader uniform (float)
|
|
844
|
+
radius: Shader uniform (float)
|
|
845
|
+
softness: Shader uniform (float)
|
|
846
|
+
output_texture: Optional specific output texture to render to
|
|
847
|
+
output_framebuffer: Optional framebuffer to render to (e.g., 0 for main screen)
|
|
848
|
+
input_framebuffer: Optional framebuffer to read from (e.g., 0 for main screen)
|
|
849
|
+
output_size: Optional (width, height) render resolution; runs the shader
|
|
850
|
+
at a lower resolution while sampling the full-res input
|
|
851
|
+
|
|
852
|
+
Returns:
|
|
853
|
+
Output texture ID (0 if rendering to framebuffer)
|
|
854
|
+
"""
|
|
855
|
+
...
|
|
856
|
+
|