Lumetric Corrector

OBS Lua Lumetric Corrector 2.0.0

## [2.0.0] - 2025-06-24

### Added
- **Split-Toning**: Separate color controls for shadows and highlights
- **Creative Effects**: New section with advanced visual effects
- Sharpen: Local contrast enhancement using unsharp mask
- Bloom: Soft glow effect on bright areas
- Halation: Film-like reddish glow on highlights
- **10 New Creative Presets**:
- Neo Noir: Dramatic B&W look with blue split-toning
- Cyberpunk: Futuristic look with neon colors and bloom
- Retro Film: Vintage film emulation with halation
- Teal & Orange: Popular cinematic color contrast
- Dreamy Bloom: Soft ethereal look with bloom effects
- Crisp Clarity: Sharp, clear look with enhanced detail
- Horror Atmosphere: Dark, ominous look for horror content
- Pastel Dreams: Soft pastel colors with split-toning
- Game Stream: Optimized look for gaming streams
- Analog VHS: Retro VHS look with halation effects
- **3D LUT Support**: Load and apply 3D LUTs in CUBE or PNG format
- **Enhanced Documentation**: Improved usage instructions in script description

### Fixed
- Cross-platform shader compatibility issues
- Fixed uniform parameter size mismatch warnings
- Proper handling of texture dimensions across platforms
- Improved buffer_size handling for consistent texel calculations
- Fixed split-toning parameter handling with proper vec4 implementation
- Enhanced macOS compatibility with platform-specific shader error handling
- Implemented fallback to minimal shader for problematic platforms
- Secure shader creation with pcall wrappers on all platforms
- Forced shader parameter updates during each render pass for consistent behavior
- Optimized GLSL shader syntax for broader compatibility
- Implemented platform-specific texture sampling functions
- Added explicit GLSL version declarations for better compatibility

### Changed
- Refactored shader parameter handling for better cross-platform support
- Improved UI organization with new preset categories
- Enhanced error handling with pcall wrappers for all shader parameter setters
- Updated translations for all new features in English and German
## [1.3.1] - 2025-06-23

### Fixed
- Fixed: Restored macOS compatibility, slider changes now correctly affect the image
- Fixed: GLSL shader syntax error (`sampler2d` → `sampler2D`)
- Improved: Texture sampling function for macOS compatibility (`texture2D` instead of `texture` on OpenGL)

### Improved
- Enhanced platform detection and better debug logging
- More robust shader parameter validation
- Improved error handling during shader compilation
[1.2.0] - 2025-06-18
##Added

Platform detection via FFI for OS-specific adjustments
Extended GLSL compatibility macros for macOS
Improved debug logging with platform information
##Changed

Optimized shader selection logic based on operating system
Improved GLSL shader implementation for macOS Sonoma
Enabled debug logs for better error diagnostics
##Fixed

Resolved compatibility issues with macOS Sonoma
Improved error handling during shader compilation
Fixed syntax conflicts in the Lua implementation
## [1.1.2] - (Ultra Optimized)

### Added
- Highlight Fade and Shadow Fade sliders for creative looks like film bleaching effects
- Adjustable vignette shape control allowing oval/rectangular shapes instead of just circular

### Improved
- Film grain now uses dual-noise sampling for smoother animation
- Better time-based seed distribution for grain animation
- UI organization with logical placement of new controls
## [1.1.0] - 2025-04-25

### Changed
- Performance optimisation: shader parameters are now updated only when their value changes, reducing GPU load and improving efficiency.
- Time-synchronised film-grain animation driven by a timer.
- Improved error handling and debug logging during rendering and shader loading.
- Refined parameter structure and initialisation for greater robustness.

### Fixed
- Resolved Lua syntax errors in parameter-update blocks.
- Correctly integrated OBS API calls (`gs_effect_set_float`, `gs_effect_set_texture`) via the `obs` module.
- Ensured compatibility with current OBS Studio Lua standards.

### Internal
- Code refactoring for improved readability and maintainability.
- Preparations for future optimisations and features.

## [1.1.1] - 2025-05-06

### Fixed
- Restored Windows (Direct3D/HLSL) visibility by guarding GLSL intrinsic replacements with `#ifdef GS_PLATFORM_OPENGL`.
- Ensured macOS (OpenGL/GLSL) support remains functional.

### Added
- Platform-specific intrinsic mapping logic for true cross-platform compatibility.
## [1.1.0] - 2025-04-25

Changed
Performance optimization: Shader parameters are now only set when the value has actually changed (reduces GPU load and increases efficiency).
Time-sensitive update for film grain animation using a timer.
Improved error handling and debug logging during rendering and shader loading.
Enhanced parameter structure and initialization for greater robustness.
Fixed
Fixed Lua syntax errors in parameter update blocks.
Correctly integrated OBS API calls (gs_effect_set_float, gs_effect_set_texture) via the obs module.
Ensured compatibility with current OBS Studio Lua standards.
Internal
Code refactoring for improved readability.
Preparations for further optimizations and features.
  • Like
Reactions: Tu Vu Anh
Top