Posts

Showing posts with the label 101

Compute Shader, absolute minimum

 First make a compute shader - right click in the project window-  create shader, compute shader The default code will look as follows // Each #kernel tells which function to compile; you can have many kernels #pragma kernel CSMain // Create a RenderTexture with enableRandomWrite flag and set it // with cs.SetTexture RWTexture2D<float4> Result; [numthreads(8,8,1)] void CSMain (uint3 id : SV_DispatchThreadID) {     // TODO: insert actual code here!     Result[id.xy] = float4(id.x & id.y, (id.x & 15)/15.0, (id.y & 15)/15.0, 0.0); }   To keep things simple, lets just replace that last Result... line with    Result[id.xy]=float4(1,1,0,0);  This will make our shader produce a yellow colour. Note the #pragma kernel is called CSMain. This is basically the function name we'll be calling from the C# script.   To go with the compute shader, we need a C# script that assigns the shader to our geometry. Let's use a Qu...