Discussion about PixelShader8
Source code available here:
https://github.com/DJCEL/VirtualDJ-PixelShader8-Win64
Source code available here:
https://github.com/DJCEL/VirtualDJ-PixelShader8-Win64
Posted Tue 30 Dec 25 @ 6:19 am
Pretty cool, look forward to stacking several copies and seeing what it creates.
One thing I'd maybe think about would be buttons for preset +|-
One thing I'd maybe think about would be buttons for preset +|-
Posted Tue 30 Dec 25 @ 7:30 am
Good idea. I am going to add +/- buttons.
I thought about creating one plugin per pixel Shader but then i decided to keep one "generic code" (very dynamic). As you said we can make a copy of the dll.
I am already working on pixel shaders moving on beats (params are sent to the shader via the constant buffer).
And maybe a subfolder for pixel shader at the demand (customized request or to define its own HLSL files)
I thought about creating one plugin per pixel Shader but then i decided to keep one "generic code" (very dynamic). As you said we can make a copy of the dll.
I am already working on pixel shaders moving on beats (params are sent to the shader via the constant buffer).
And maybe a subfolder for pixel shader at the demand (customized request or to define its own HLSL files)
Posted Tue 30 Dec 25 @ 7:43 am
Um, can you perhaps post some images of what it does / looks like?
Posted Tue 30 Dec 25 @ 9:19 am
It's a transform video effect, have some visual on deck call the effect and it will do stuff to the image.
Posted Tue 30 Dec 25 @ 9:22 am
It does stuff - OK that narrows it down LOL :-)
I've installed it now.
It has a bunch of presets: GrayScale, GBR (?), High Contrast, Negative, Horizontal Mirror, Rotate 180, PixelsHide, CenterBlur, ColorDistortion.
They all seem to be static though, and can't be animated or sequenced.
I'd like to see an option to step through the presets to the beat or bar, maybe select which presets to use (and in which order), and also on/off to the beat or bar.
Thanks!
I've installed it now.
It has a bunch of presets: GrayScale, GBR (?), High Contrast, Negative, Horizontal Mirror, Rotate 180, PixelsHide, CenterBlur, ColorDistortion.
They all seem to be static though, and can't be animated or sequenced.
I'd like to see an option to step through the presets to the beat or bar, maybe select which presets to use (and in which order), and also on/off to the beat or bar.
Thanks!
Posted Tue 30 Dec 25 @ 9:54 am
If you want more freedom, you can copy and rename the dll with the pixel shader you want as VirtualDJ will keep the slider position of the fx name. Just be sure you don't change it then.
Posted Tue 30 Dec 25 @ 12:56 pm
GBR transform:
r=red
g=green
b=blue
color.rgb = color.gbr;
r=red
g=green
b=blue
Posted Tue 30 Dec 25 @ 1:01 pm
An update is now available.
I am already working on the next version with more fx and options.
I am already working on the next version with more fx and options.
Posted Fri 13 Feb 26 @ 12:23 pm
Nice, still playing to work out "mask" but I'll figure it out.
I'd have made the buttons wrap, on 13 & + = 1, on 1 & - = 13
I'd have made the buttons wrap, on 13 & + = 1, on 1 & - = 13
Posted Fri 13 Feb 26 @ 3:01 pm
Maybe wait for the next version before mapping. I have changed the order to group them and added new. I hope to upload it tonight.
Posted Fri 13 Feb 26 @ 6:01 pm
v2.3 is now available
Posted Thu 19 Feb 26 @ 12:51 pm
V2.3.3 is now available
Posted Sat 23 May 26 @ 9:42 am
Changes?
Posted Sat 23 May 26 @ 3:30 pm
2.3 -> 2.3.3
CHANGELOG
CHANGELOG
Posted Sat 23 May 26 @ 3:39 pm
I have just uploaded version 2.4.4 on the website.
Posted Sun 26 Jul 26 @ 6:01 pm
Something of not much, just a QoL improvement to have the buttons make the dial wrap round.
I might have some questions later once I've tried some things with the sauce.
I might have some questions later once I've tried some things with the sauce.
void CPixelShader8::OnButton(int id)
{
float min_step = 0.0f;
if (NUMBER_FX > 1)
min_step = 1.0f / float(NUMBER_FX - 1);
switch (id)
{
case ID_BUTTON_1:
if (m_ButtonLeft == 1)
{
if (m_SliderValue[1] - min_step < 0.0f)
m_SliderValue[1] = 1.0f;
else
m_SliderValue[1] -= min_step;
OnParameter(ID_SLIDER_2);
}
break;
case ID_BUTTON_2:
if (m_ButtonRight == 1)
{
if (m_SliderValue[1] + min_step > 1.0f)
m_SliderValue[1] = 0.0f;
else
m_SliderValue[1] += min_step;
OnParameter(ID_SLIDER_2);
}
break;
}
}
Posted Thu 06 Aug 26 @ 6:45 am
Indeed i forgot the case with just one NUMBER_FX and the division per 0 :-)
I am going to fix the code
[Edit] I just understood what you wanted to tell. Good idea
I am going to fix the code
[Edit] I just understood what you wanted to tell. Good idea
Posted 7 days ago @ 4:00 pm
I just added my first shader [just duplicated negative with minor changes]
I'm hunting for a particular shadertoy shader to try next [not fun, if any site needed a 160p button it's that one.]
I'm hunting for a particular shadertoy shader to try next [not fun, if any site needed a 160p button it's that one.]
Posted 7 days ago @ 6:05 pm
In the pixelshader8.vcxproj file you can directly edit this part to avoid manually updating it inside Visual studio:
<FxCompile Include="..\src\Shaders\Negative.hlsl">
<ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Pixel</ShaderType>
<ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">5.0</ShaderModel>
<EntryPointName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ps_main</EntryPointName>
<EntryPointName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ps_main</EntryPointName>
<ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Pixel</ShaderType>
<ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">5.0</ShaderModel>
<ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\src\Shaders\%(Filename).cso</ObjectFileOutput>
<ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\src\Shaders\%(Filename).cso</ObjectFileOutput>
</FxCompile>
Posted 7 days ago @ 6:27 pm





