public void Add( VertexFieldSemantic field, float x, float y ) { CheckAdd( field, 2 ); List<float> stream = m_Streams[ field ]; stream.Add( x ); stream.Add( y ); }
public void Add( VertexFieldSemantic field, Color c ) { CheckAdd( field, 4 ); List<float> stream = m_Streams[ field ]; stream.Add( c.R / 255.0f ); stream.Add( c.G / 255.0f ); stream.Add( c.B / 255.0f ); stream.Add( c.A / 255.0f ); }
public void Add( VertexFieldSemantic field, Vector3 vec ) { Add( field, vec.X, vec.Y, vec.Z ); }
public void Add( VertexFieldSemantic field, Point3 pt ) { Add( field, pt.X, pt.Y, pt.Z ); }
private void CheckAdd( VertexFieldSemantic fieldType, int numElements ) { VertexBufferFormat.FieldDescriptor field = m_Format.GetDescriptor( fieldType ); if ( field == null ) { throw new InvalidOperationException( string.Format( "Field for \"{0}\" was not specified in format \"{1}\"", field, m_Format ) ); } if ( field.NumElements != numElements ) { throw new InvalidOperationException( string.Format( "Expected field \"{0}\" in format \"{1}\" to contain {2} elements, not {3}", field, m_Format, field.NumElements, numElements ) ); } }