ab3115ce99
- DagStep: preview_open flag (default false). - dag_compile: emit `uniform int u_preview_target` and a series of early-return branches at the start of fragColor selection. -1 (default) falls through to the real Output-driven fragColor. - dag_node_previews (new fn): per-node FBO keyed by editor_uid, lazy created. Renders each node with preview_open=true to its FBO by setting u_preview_target = step index. Texture exposed via dag_preview_texture(uid) for ImGui::Image. - dag_node_editor: small toggle button "[+] preview"/"[-] preview" in each non-Output node; when open, ImGui::Image(96x64, V-flipped). - dag_node_editor: double right-click on hovered node deletes it (Output is protected). - main.cpp: dag_previews_render after Canvas DAG; dag_previews_destroy on shutdown. Single GL program drives both the canvas and all thumbnails — moving sliders never recompiles, only the topology change does. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
28 lines
1.1 KiB
CMake
28 lines
1.1 KiB
CMake
add_imgui_app(shaders_lab
|
|
main.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/gl_loader.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/gl_shader.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/gl_framebuffer.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/fullscreen_quad.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/shader_canvas.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/uniform_parser.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/uniform_panel.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/dag_catalog.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/dag_compile.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/dag_uniforms.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/dag_panel.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/dag_node_editor.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/dag_palette.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/gfx/dag_node_previews.cpp
|
|
${CMAKE_SOURCE_DIR}/functions/core/fps_overlay.cpp
|
|
)
|
|
target_include_directories(shaders_lab PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
target_link_libraries(shaders_lab PRIVATE imgui_node_editor)
|
|
|
|
if(WIN32)
|
|
# GUI app: sin consola al lanzar (subsystem:windows / -mwindows)
|
|
set_target_properties(shaders_lab PROPERTIES WIN32_EXECUTABLE TRUE)
|
|
endif()
|