Skip to content

Add DDA and WGC capture sources#1

Merged
Spruill-1 merged 2 commits into
Spruill-1:mainfrom
zhuman:user/zhuman/develop
May 6, 2026
Merged

Add DDA and WGC capture sources#1
Spruill-1 merged 2 commits into
Spruill-1:mainfrom
zhuman:user/zhuman/develop

Conversation

@zhuman
Copy link
Copy Markdown
Contributor

@zhuman zhuman commented May 6, 2026

  • Added a DXGI DuplicateOutput source with menu selection of the display.
  • Added WGC source with popup window selection of the monitor or window.
  • This also fixes high-DPI rendering of the graph editor.
image image

@@ -0,0 +1,316 @@
#include "pch_engine.h"
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great addition - didn't even occur to me.

@Spruill-1 Spruill-1 self-assigned this May 6, 2026
@Spruill-1 Spruill-1 merged commit 807bf20 into Spruill-1:main May 6, 2026
2 checks passed
Spruill-1 added a commit that referenced this pull request May 7, 2026
Decision #32 (Day 6) removed the built-in tone-mapper from the render path; the class itself lingered as default-None dead code through v1.4.1 -- never instantiated at runtime, only included by Controls/OutputWindow.h for an unused declaration. The .github/copilot-instructions.md still cited "fixing issues with the existing D2D tonemapper effect" as the project #1 development focus, which was actively misleading new contributors and AI agents about where work actually happens.

- Delete Rendering/ToneMapper.h and Rendering/ToneMapper.cpp (~280 LoC).

- Remove the unused #include from Controls/OutputWindow.h.

- Drop entries from ShaderLab.vcxproj, ShaderLabEngine.vcxproj, ShaderLab.vcxproj.filters.

- Rewrite the project-identity, architecture, and tone-mapping focus sections of .github/copilot-instructions.md around graph-built tone mappers (the ICtCp suite) and the empirical fidelity loop (Working Space + Delta E Comparator Grayscale dE + Luminance Statistics). Also fix the architecture diagram, namespace-convention bullet, and the two enum/class examples that referenced ToneMapMode / ToneMapper.

- Update README architecture mermaid (drop ToneMapper from EV node).

- Add README decision log entry #54 explaining the retirement and where new tone-mapping work goes.

- Update .context/resume.md rendering bullet and project-structure tree.

- Add CHANGELOG [Unreleased] entry.

Build clean. All 58 ShaderLabTests pass.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Spruill-1 added a commit that referenced this pull request May 7, 2026
Single Effects::PackPropertyToCBuffer helper in Effects/ShaderCompiler.h/.cpp that converts a PropertyValue to the destination cbuffer slot's declared HLSL type. The historical "memcpy of float bit pattern produces nonsense uints" bug class (CHANGELOG 1.3.9) cannot recur because the helper reflects each variable's D3D_SHADER_VARIABLE_TYPE and static_cast<uint32_t> / <int32_t> / BOOL before writing. Three previously-duplicated pack sites now share this single implementation: CustomPixelShaderEffect::PackConstantBuffer, CustomComputeShaderEffect::PackConstantBuffer, and the D3D11 compute path inside GraphEvaluator::DispatchUserD3D11Compute.

CLAUDE.md gotcha #1 ("uint cbuffer params don't work") replaced with positive-guidance note: HLSL can now declare uint/int/bool enums with clean Mode == 1 comparisons. Existing 13 ShaderLab effects keep their float-enum convention -- migration is optional and deferred (queued as morning question).

Build clean. All 109 ShaderLabTests pass.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants