1. 工程关系04_Camera_D3D11_Preview没有复制摄像头采集代码,也没有引用外部摄像头仓库。它复用同一AV_Atomic_Playground工程中02_Video_Capture提供的video_capture_core静态库。02_Video_Capture └── video_capture_core ├── media_foundation_capture.cpp ├── media_foundation_capture.h └── video_frame.h 04_Camera_D3D11_Preview └── camera_d3d11_preview_sandbox ├── 采集线程 ├── LatestFrameMailbox └── D3D11Renderer ``` `04_Camera_D3D11_Preview/CMakeLists.txt` 通过以下关系复用采集核心: ```cmake target_link_libraries(camera_d3d11_preview_sandbox PRIVATE video_capture_core d3d11.lib dxgi.lib d3dcompiler.lib user32.lib ) ``` 因此,摄像头枚举、Media Foundation Source Reader 和 RGB32/BGRA 帧读取仍由 `MediaFoundationCapture` 负责;`04` 只负责线程调度和 GPU 渲染。 ## 2. 完整数据链 ```text 摄像头 - Media Foundation Source Reader - top-down、紧密排列的 BGRA VideoFrame - LatestFrameMailbox(只保留最新一帧) - D3D11Renderer::UploadFrame - D3D11 Dynamic Texture - Shader Resource View - Pixel Shader - SwapChain Back Buffer - Present(1, 0)