void initShaders() { shader = new ShadingProgram(); uboShaderSharedData = GL.GenBuffer(); GL.BindBuffer(BufferTarget.UniformBuffer, uboShaderSharedData); GL.BufferData(BufferTarget.UniformBuffer, Marshal.SizeOf(shaderSharedData), ref shaderSharedData, BufferUsageHint.DynamicCopy); GL.BindBuffer(BufferTarget.UniformBuffer, 0); GL.BindBufferBase(BufferRangeTarget.UniformBuffer, 0, uboShaderSharedData); fogData = UBOFogData.CreateUBOFogData(); uboFogData = GL.GenBuffer(); GL.BindBuffer(BufferTarget.UniformBuffer, uboFogData); GL.BufferData(BufferTarget.UniformBuffer, Marshal.SizeOf(fogData), ref fogData, BufferUsageHint.StaticCopy); GL.BindBuffer(BufferTarget.UniformBuffer, 0); GL.BindBufferBase(BufferRangeTarget.UniformBuffer, 1, uboFogData); }
public void Initialize() { _box = new Box(); _gpuSpace = new GpuSpace(DiscreteBounds.OfSize(30, 30, 30)); _program = new ShadingProgram(); }
public void UseShader(ShadingProgram program) { }
public void UseShader(ShadingProgram program) { Core.Renderer.UseShader(program); }
internal BufferArray(DrawObject obj) : base(obj.vertex, obj.texture, obj.color, obj.elemCount) { texture = obj.textureObj; program = obj.shader; }
void initShaders() { shader = new ShadingProgram (); uboShaderSharedData = GL.GenBuffer (); GL.BindBuffer (BufferTarget.UniformBuffer, uboShaderSharedData); GL.BufferData(BufferTarget.UniformBuffer,Marshal.SizeOf(shaderSharedData), ref shaderSharedData, BufferUsageHint.DynamicCopy); GL.BindBuffer (BufferTarget.UniformBuffer, 0); GL.BindBufferBase (BufferRangeTarget.UniformBuffer, 0, uboShaderSharedData); fogData = UBOFogData.CreateUBOFogData(); uboFogData = GL.GenBuffer (); GL.BindBuffer (BufferTarget.UniformBuffer, uboFogData); GL.BufferData(BufferTarget.UniformBuffer,Marshal.SizeOf(fogData), ref fogData, BufferUsageHint.StaticCopy); GL.BindBuffer (BufferTarget.UniformBuffer, 0); GL.BindBufferBase (BufferRangeTarget.UniformBuffer, 1, uboFogData); }
/// <summary> /// Use shading program for drawing /// </summary> /// <param name="program">Shading program to use</param> public static void UseShader(ShadingProgram program) { renderer_use_program(program == null ? 0 : program.Id); }