public FragmentInput VS(Vertex input) { FragmentInput output; output.Position = ShaderBuiltins.Mul(Ortho, new Vector4(input.Position, 0, 1)); return(output); }
public Vector4 FS(FragmentInput input) { Vector2 texCoords = input.TextureCoordinates; Vector4 inputColor = ShaderBuiltins.Sample(Input, Sampler, texCoords); return(inputColor * input.Color); }
public Vector4 FS(FragmentInput input) { Vector4 color = ShaderBuiltins.Sample(SourceTex, SourceSampler, input.TexCoords); color.W = 1; return(color); }
public Vector4 FS(FragmentInput input) { Vector2 texCoords = input.TextureCoordinates; Vector4 inputColor = ShaderBuiltins.Sample(Input, Sampler, texCoords); Vector4 tintedColor = new Vector4(inputColor.XYZ() * Tint.RGBTintColor, inputColor.Z); return(tintedColor); }
public Vector4 PS(PixelInput input) { var textureColor = ShaderBuiltins.Sample(Texture, Sampler, input.UV); textureColor *= input.Color; return(textureColor); }
public FragmentInput VS(VertexGPU input) { FragmentInput output; output.Position = ShaderBuiltins.Mul(Ortho, new Vector4(input.Position, 0, 1)); output.Color = new Vector4(input.Color_Int.X, input.Color_Int.Y, input.Color_Int.Z, 1) / InfoBuffer.ColorNormalizationFactor; output.Color.W = 1; return(output); }
public FragmentInput VS(VertexInput input) { FragmentInput output; output.Position = ShaderBuiltins.Mul(Wvp, new Vector4(input.Position, 1)); output.Color = input.Color; output.TextureCoordinates = input.TextureCoordinates; return(output); }
public void CS() { UInt3 dtId = ShaderBuiltins.DispatchThreadID; Vector4 color = Vector4.Zero; uint randState = (dtId.X * 1973 + dtId.Y * 9277 + Params.FrameCount * 26699) | 1; Ray ray = Camera.GetRay(Params.Camera, dtId.X, dtId.Y); color += Color(ray); ShaderBuiltins.Store(Output, new UInt2(dtId.X, dtId.Y), color); }
public Vector4 PS(PixelInput input) { var textureColor = ShaderBuiltins.Sample(Texture, Sampler, input.UV); if (ShaderGen.ShaderBuiltins.Abs(textureColor.W) < 0.1) { ShaderGen.ShaderBuiltins.Discard(); } textureColor *= input.Color; return(textureColor); }
public FragmentInput VS(VertexInput input) { FragmentInput output; Vector4 p = ShaderBuiltins.Mul(XformView, new Vector4(input.Position, 1)); Vector4 n = ShaderBuiltins.Mul(XformView, new Vector4(input.Normal, 0)); output.RelativePosition = p.XYZ(); output.RelativeNormal = ShaderBuiltins.Sqrt(n.XYZ()); output.Projected = ShaderBuiltins.Mul(XformProj, p); output.Color = input.Color; return(output); }
public void CS() { UInt3 dtid = ShaderBuiltins.DispatchThreadID; Vector4 color = Vector4.Zero; uint randState = (dtid.X * 1973 + dtid.Y * 9277 + Params.FrameCount * 26699) | 1; uint rayCount = 0; for (uint smp = 0; smp < RayTracingApplication.NumSamples; smp++) { float u = (dtid.X + RandUtil.RandomFloat(ref randState)) / RayTracingApplication.Width; float v = (dtid.Y + RandUtil.RandomFloat(ref randState)) / RayTracingApplication.Height; Ray ray = Camera.GetRay(Params.Camera, u, v, ref randState); color += Color(Params.SphereCount, ref randState, ray, ref rayCount); } color /= RayTracingApplication.NumSamples; ShaderBuiltins.Store(Output, new UInt2(dtid.X, dtid.Y), color); ShaderBuiltins.InterlockedAdd(RayCount, 0, rayCount); }
private static Vector3 ToSrgb(Vector3 color) { color = Vector3.Max(color, Vector3.Zero); return(Vector3.Max(1.055f * ShaderBuiltins.Pow(color, new Vector3(0.41666667f)) - new Vector3(0.055f), Vector3.Zero)); }
public Vector4 FS_Solid(FragmentInput input) { var n = ShaderBuiltins.Sqrt(input.RelativeNormal); return(new Vector4(input.Color.XYZ() * n.Z, input.Color.Z)); }
public Vector4 FS(FragmentInput input) { return(ShaderBuiltins.Sample(SurfaceTex, SurfaceSampler, input.UV)); }
public Vector4 FS(FragmentInput input) { return(ShaderBuiltins.Sample(Tex, Smp, new Vector2(0.5f, 0.5f))); }
public float RandomFloatBetween(uint seed, float max, float min) { return(ShaderBuiltins.Mod(RandomFloat(seed), max - min) + min); }
public Vector4 FS(FragmentInput input) { Vector4 color = ShaderBuiltins.Sample(SourceTex, SourceSampler, input.TexCoords); return(new Vector4(ToSrgb(color.XYZ()), 1f)); }