VST3: Win32, SFML, and Embedded Graphics Management

Overview I've been redesigning my core library and I wanted to share the way that I manage Windows on the VST3 Controller side and some other Windows-related issues that I've come across. Roadmap We will be focusing on the Win32 Child Window process. SFML / Graphics VST3…

nyx.vfx: NebulaDrift VFX

Overview The NebulaDrift is the new kid on the block. It's a cloud-style effect (e.g., fog, smoke, haze). It was inspired by the effects of spell casts in old-school cRPGs. The image above is from Baldur's Gate 2, which predates the implementation of programmable shaders…

VST3: Scheduling Midi Events

Overview Scheduling midi events is not as straightforward as one might think. We have to work with samples and sample rates rather than strictly with time (e.g., in 3 seconds do this, then stop in 2 seconds). There's some confusing nomenclature and there are some midi gotchas…

VST3: Controller ↔ Processor Communication Strategies

This post is intentionally long because it focuses on design constraints, not just APIs. These are the kinds of constraints that routinely trip up even experienced C++ developers. VST3 development has more in common with embedded C/C++ than typical desktop software: tight timing budgets, strict threading rules, and zero…

nyx.vfx: plugin

Overview nyx.vfx is a real-time 2D VFX engine that creates particle systems for midi events. It's a work-in-progress, but that shouldn't take away from making cool designs and exporting them for use in post-processing and video-editing tools. Tweaker's Dream The nyx.vfx plugin…

nyx.vfx: S02 PreShader Pipeline - Density Field

Density Field PreShader Accumulation, Decay, and Blob Stamps Remember from Series 01 (PreShader Pipeline Architecture) that a PreShader gathers one piece of information about the texture after the Mesh stage. A PreShader is an immutable adjunct texture that Shaders can choose to utilize. The first PreShader I built for nyx.…