package speiger.src.coreengine.rendering.gui.renderer;

import speiger.src.coreengine.assets.AssetLocation;
import speiger.src.coreengine.assets.base.IAssetProvider;
import speiger.src.coreengine.math.vector.floats.Vec4f;
import speiger.src.coreengine.math.vector.matrix.Matrix4f;
import speiger.src.coreengine.rendering.shader.SimpleShader;
import speiger.src.coreengine.rendering.shader.uniform.base.BufferUniform;
import speiger.src.coreengine.rendering.shader.uniform.base.FloatUniform;
import speiger.src.coreengine.rendering.shader.uniform.base.TextureUniform;
import speiger.src.coreengine.rendering.shader.uniform.vec.Matrix4fUniform;
import speiger.src.coreengine.rendering.shader.uniform.vec.Vec4fUniform;

public class SimpleUIShader extends SimpleShader {
	public BufferUniform camera = uniforms.addBuffer("cameraTransform", 0);
	public Matrix4fUniform modelMatrix = uniforms.addMat("modelMatrix", new Matrix4f());
	public TextureUniform texture = uniforms.addTexture("texture", 0);
	public FloatUniform useTexture = uniforms.addFloat("use_texture", 0);
	public Vec4fUniform bounds = uniforms.addVec4("bounds", Vec4f.ZERO);
	public FloatUniform roundness = uniforms.addFloat("roundness", 0);
	
	
	public SimpleUIShader(IAssetProvider provider) {
		super(provider, "gui_simple", AssetLocation.of("shader/gui/simple/vertex.vs"), AssetLocation.of("shader/gui/simple/fragment.vs"), "in_position", "in_tex", "in_color");
	}
	
}
