First player sprite iterations
This commit is contained in:
commit
68c7c8cbf3
37 changed files with 3093 additions and 0 deletions
44
src/com/gnarwhal/ld46/engine/model/TexRect.java
Normal file
44
src/com/gnarwhal/ld46/engine/model/TexRect.java
Normal file
|
@ -0,0 +1,44 @@
|
|||
package com.gnarwhal.ld46.engine.model;
|
||||
|
||||
import com.gnarwhal.ld46.engine.display.Camera;
|
||||
import com.gnarwhal.ld46.engine.shaders.Shader;
|
||||
import com.gnarwhal.ld46.engine.shaders.Shader2t;
|
||||
import com.gnarwhal.ld46.engine.texture.Texture;
|
||||
import org.joml.Matrix4f;
|
||||
import org.joml.Vector3f;
|
||||
|
||||
public class TexRect extends Rect {
|
||||
|
||||
private Texture texture;
|
||||
private Shader2t shader = Shader.SHADER2T;
|
||||
protected float direction = 1;
|
||||
|
||||
public TexRect(Camera camera, String path, float x, float y, float z, float width, float height, float rotation, boolean gui) {
|
||||
super(camera, x, y, z, width, height, rotation, gui);
|
||||
texture = new Texture(path);
|
||||
}
|
||||
|
||||
public TexRect(Camera camera, Texture texture, float x, float y, float z, float width, float height, float rotation, boolean gui) {
|
||||
super(camera, x, y, z, width, height, rotation, gui);
|
||||
this.texture = texture;
|
||||
}
|
||||
|
||||
public void render() {
|
||||
texture.bind();
|
||||
shader.enable();
|
||||
Matrix4f cmat = gui ? camera.getProjection() : camera.getMatrix();
|
||||
shader.setMVP(cmat.translate(position.add(width * scale / 2, height * scale / 2, 0, new Vector3f())).rotateZ(rotation).scale(width * scale * direction, height * scale, 1).translate(-0.5f, -0.5f, 0));
|
||||
vao.render();
|
||||
shader.disable();
|
||||
texture.unbind();
|
||||
}
|
||||
|
||||
public void setCenter(float x, float y) {
|
||||
position.x = x - width / 2;
|
||||
position.y = y - height / 2;
|
||||
}
|
||||
|
||||
public void setTexture(Texture texture) {
|
||||
this.texture = texture;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue