A professional-grade image and video editing application built with WPF frontend and C++ backend, featuring GPU-accelerated rendering and real-time adjustments.
- RAW image support via LibRaw
- Standard formats (JPEG, PNG, TIFF) via WIC
- Real-time adjustments: exposure, contrast, highlights, shadows, white balance, vibrance, saturation, sharpness, noise reduction, vignette, grain, HSL
- 3D LUT filters (.cube files) for cinematic color grading
- GPU-accelerated processing
- Video format support (MP4, MOV, AVI, MKV) via FFmpeg
- Real-time video playback with frame-by-frame rendering
- Video adjustments: all image adjustment parameters apply to video frames
- Video export to HEVC format
- Automatic thumbnail generation
- Modern WPF UI with dark theme
- Filmstrip view for navigation
- Interactive zoom and pan controls
- Real-time histogram display
- Visual Studio 2022 with:
- .NET desktop development workload
- Desktop development with C++ workload
- Windows 10/11 SDK
- Clone the repository
- Open
LightroomClone.slnin Visual Studio 2022 - Select x64 platform
- Build the solution (F6)
- Run the application (F5)
- Click "Select Folder" to browse for images/videos
- Click a thumbnail in the filmstrip to load it
- Use the right panel to adjust parameters in real-time
- Apply LUT filters from the filter selector
- Use zoom controls (+/- buttons) to zoom in/out
lightroom/
├── src/
│ ├── Lightroom.App/ # WPF UI Application (C#)
│ └── Lightroom.Core/ # Image/Video Processing SDK (C++)
│ ├── d3d11rhi/ # DirectX 11 RHI layer
│ ├── RenderNodes/ # Rendering nodes
│ ├── ImageProcessing/ # Image loading
│ └── VideoProcessing/ # Video decoding and export
├── third_party/
│ ├── ffmpeg/ # FFmpeg libraries
│ └── libraw/ # LibRaw for RAW support
└── resources/
└── luts/ # 3D LUT files
- WPF (.NET 8.0) for UI
- DirectX 11 for GPU rendering
- FFmpeg for video processing
- LibRaw for RAW image support
- HLSL shaders for image processing
This is a prototype project for educational and research purposes.
