Example #1
0
        public void Dispatch(int xGroupCount, int yGroupCount, int zGroupCount)
        {
            var screen = _screen;

            ContextMismatchException.ThrowIfContextNotEqual(Engine.GetValidCurrentContext(), screen);

            var program = _program;

            ProgramObject.UseProgram(program);
            var context = new ComputeShaderContext(screen);
            var uniform = new ShaderDataDispatcher(program);

            IComputeShader.OnDispatchingInternal(_shader, uniform, context);
            IComputeShader.DispatchCompute(xGroupCount, yGroupCount, zGroupCount);
        }
Example #2
0
 protected abstract void OnRendering(ShaderDataDispatcher dispatcher, in Vector2i screenSize);
Example #3
0
 protected abstract void OnRendering(ShaderDataDispatcher dispatcher, Control target, in Matrix4 model, in Matrix4 view, in Matrix4 projection);
Example #4
0
 public void DispatchShader(ShaderDataDispatcher dispatcher, in Matrix4 model, in Matrix4 lightViewProjection)