public void Main( [ShaderInput(typeof(AppData))] void *inputPtr, [ShaderOutput(typeof(VOutdata))] void *outputPtr, IShaderStage <IVertexShader> _) { AppData * appPtr = (AppData *)inputPtr; VOutdata *vOutPtr = (VOutdata *)outputPtr; vOutPtr->Vertex = ObjectToView * appPtr->Vertex * (SinTime * .3f + 1); }
public void Main( [ShaderInput(typeof(AppData))] void *inputPtr, [ShaderOutput(typeof(VOutData))] void *outputPtr, IShaderStage <IVertexShader> _) { AppData * appPtr = (AppData *)inputPtr; VOutData *vOutPtr = (VOutData *)outputPtr; Vector4 vertex = appPtr->Vertex * (SinTime * .3f + 1); Mul(ObjectToScreen, &vertex, &vOutPtr->Vertex); }
public unsafe void Main( [ShaderInput(typeof(AppData))] void *inputPtr, [ShaderOutput(typeof(VOutData))] void *outputPtr, IShaderStage <IVertexShader> _) { AppData * appPtr = (AppData *)inputPtr; VOutData *vOutPtr = (VOutData *)outputPtr; Vector4 pos = appPtr->Vertex; pos.Z *= MathF.Sin(pos.X + pos.Y + Time * .5f); Mul(ObjectToScreen, &pos, &vOutPtr->Vertex); }