protected override void DoInitialize()
{
base.DoInitialize();
{
const int length = vertexCount;
ShaderStorageBuffer buffer = ShaderStorageBuffer.Create(typeof(vec4), length, BufferUsage.StaticDraw);
IntPtr pointer = buffer.MapBuffer(MapBufferAccess.WriteOnly);
unsafe
{
var array = (vec4*)pointer;
array[0] = new vec4(0, 0, 1, 1);
array[1] = new vec4(1, 0, 0, 1);
array[2] = new vec4(-1, 0, 0, 1);
array[3] = new vec4(0, 1, 0, 1);
}
buffer.UnmapBuffer();
buffer.Binding(this.Program, "PositionBuffer", 0);
buffer.Unbind();
//this.shaderStorageBuffer = buffer;
}
{
const int length = vertexCount;
ShaderStorageBuffer buffer = ShaderStorageBuffer.Create(typeof(vec4), length, BufferUsage.StaticDraw);
IntPtr pointer = buffer.MapBuffer(MapBufferAccess.WriteOnly);
unsafe
{
var array = (vec4*)pointer;
array[0] = new vec4(+1, +0, +0, 0);
array[1] = new vec4(+0, +1, +0, 0);
array[2] = new vec4(+0, +0, +1, 0);
array[3] = new vec4(+1, +1, +1, 0);
}
buffer.Binding(this.Program, "ColorBuffer", 1);
buffer.Unbind();
//this.shaderStorageBuffer = buffer;
}
this.groundRenderer.Initialize();
}