package speiger.src.coreengine.rendering.tesselation.buffer;

import speiger.src.coreengine.math.color.ColorUtils;

public interface IVertexBuffer {
	public IVertexBuffer pos(float x, float y);
	public IVertexBuffer pos(float x, float y, float z);
	
	public default IVertexBuffer rgb(int color) { return rgb(ColorUtils.getR(color), ColorUtils.getG(color), ColorUtils.getB(color)); }
	public IVertexBuffer rgb(int r, int g, int b);
	public default IVertexBuffer rgba(int color) { return rgba(ColorUtils.getR(color), ColorUtils.getG(color), ColorUtils.getB(color), ColorUtils.getA(color)); }
	public IVertexBuffer rgba(int r, int g, int b, int a);
	
	public IVertexBuffer tex(float u, float v);
	public IVertexBuffer normal(float x, float y, float z);
	
	public IVertexBuffer endVertex();
	
	
}
