hi all,
I would like to know how to replicate the old shader workflow from beta.
How to setup a dynamicbuffer in gamma, and how to declare the input in a sdsl shader file.
the first thing you have to answer is what is the intended use? will you do custom low-level drawing like in beta dx11 without using any PBR/light features?
if so, the syntax is exactly the same as in HLSL. however, for float/2/3/4 you should use Buffer instead of StructuredBuffer.
the rgroup for buffers for custom drawing is called PerUpdate.
so you would write:
rgroup PerUpdate
{
Buffer<float4> MyBuffer;
}
Tried with the example draw shader from the help patch, but no input pin is showing up…
VL treats the color as vec4 if I remove [Color], do I have to label the buffer it in a similar way?
Could you be so kind and post a small example patch that also shows how to setup the buffer node on the VL side ? I looked through the ShaderFX helppatches but could not find an example.
shader Sheeet_DrawFX : VS_PS_Base
{
[Color]
float4 Color = float4(1, 0, 0, 1);
rgroup PerUpdate
{
Buffer<float4> MyBuffer;
}
override stage void VSMain()
{
streams.ShadingPosition = mul(streams.Position, WorldViewProjection);
}
override stage void PSMain()
{
streams.Depth = 1;
streams.ColorTarget = Color;
}
};
It looks like you don’t ever use MyBuffer, hence the compiler will optimize and not create a Pin
you can just connect a sequence or spread
lol eine schwere Geburt. The tooltip is a bit misleading. I know, still experimental.
thx sebl!