public static IBuffer Create(VertexFormat vertexFormat, BufferUsageHint usageHint) { #if false if (Configuration.useOpenRL) { return(new BufferGLRL(vertexFormat, usageHint)); } else #endif { return(new BufferGL(vertexFormat, usageHint)); } }
public void BindAttributes(IVertexStream vertexStream, VertexFormat vertexFormat) { foreach (var mapping in mappings) { if (vertexFormat.HasAttribute(mapping.SrcUsage, mapping.SrcIndex)) { var attribute = vertexFormat.FindAttribute(mapping.SrcUsage, mapping.SrcIndex); vertexStream.Add( mapping, attribute, vertexFormat.Stride ); } } }
public void BindAttributes(VertexStreamRL vertexStream, IProgram program, VertexFormat vertexFormat) { foreach (var mapping in mappings) { var programAttribute = program.Attribute(mapping.Name); if (programAttribute == null) { continue; } var vertexFormatAttribute = vertexFormat.FindAttribute(mapping.SrcUsage, mapping.SrcIndex); if (vertexFormatAttribute == null) { continue; } vertexStream.Add( mapping, vertexFormatAttribute, vertexFormat.Stride, programAttribute.Slot ); } }
internal BufferRL(VertexFormat vertexFormat, BufferUsageHint usageHint) { bufferTarget = Caustic.OpenRL.BufferTarget.ArrayBuffer; bufferUsageHint = usageHint; this.vertexFormat = vertexFormat; }
internal BufferRL(BufferTarget target, BufferUsageHint usageHint) { bufferTarget = target; bufferUsageHint = usageHint; this.vertexFormat = null; }
internal BufferGL(VertexFormat vertexFormat, BufferUsageHint usageHint) { bufferTarget = BufferTarget.ArrayBuffer; bufferUsageHint = usageHint; this.vertexFormat = vertexFormat; }
internal BufferGLRL(VertexFormat vertexFormat, BufferUsageHint usageHint) { bufferGL = new BufferGL(vertexFormat, usageHint); bufferRL = new BufferRL(vertexFormat, (Caustic.OpenRL.BufferUsageHint)usageHint); }