2023.06.25
https://gyazo.com/cd41db6b2f71701c25805c473c84e15fhttps://gyazo.com/b033b5f4f195635f405a1f3b9ca030ed
単に理解を深めるためだたので大量に無駄なところがある
例えばパラメーターが色々あるけどなんもイジれるようにしてない
code:Psychedelix.hlsl
Texture2D<float4> ImageA : register(t0);
sampler texSampler : register(s0);
cbuffer ParamConstants : register(b0)
{
float2 Center;
float Size;
float Colorize;
float Distort;
float DistortOffset;
float ScaleImage;
float SampleCount;
}
cbuffer TimeConstants : register(b1)
{
float globalTime;
float time;
float runTime;
float beatTime;
}
struct vsOutput
{
float4 position : SV_POSITION;
float2 texCoord : TEXCOORD;
};
float4 psMain(vsOutput psInput) : SV_TARGET
{
float2 uv = psInput.texCoord;
float2 pos = (uv.xy-0.5);
float2 cir = ((pos.xy*pos.xy+sin(uv.x*18.0+time)/25.0*sin(uv.y*7.0+time*1.5)/1.0)+uv.x*sin(time)/16.0+uv.y*sin(time*1.2)/16.0);
float circles = (sqrt(abs(cir.x+cir.y*0.5)*25.0)*5.0);
return float4(sin(circles*1.25+2.0),abs(sin(circles*1.0-1.0)-sin(circles)),abs(sin(circles)*1.0),1.0);
}