More branch merging

This commit is contained in:
Anuken
2021-10-14 20:58:03 -04:00
parent ad1c75d050
commit 6b59c1cd83
108 changed files with 1018 additions and 380 deletions

View File

@@ -3,14 +3,13 @@ package mindustry.graphics.g3d;
import arc.graphics.*;
import arc.graphics.gl.*;
import arc.math.geom.*;
import arc.util.*;
import mindustry.type.*;
/** Defines a mesh that is rendered for a planet. Subclasses provide a mesh and a shader. */
public abstract class PlanetMesh implements Disposable{
protected final Mesh mesh;
protected final Planet planet;
protected final Shader shader;
public abstract class PlanetMesh implements GenericMesh{
protected Mesh mesh;
protected Planet planet;
protected Shader shader;
public PlanetMesh(Planet planet, Mesh mesh, Shader shader){
this.planet = planet;
@@ -18,20 +17,21 @@ public abstract class PlanetMesh implements Disposable{
this.shader = shader;
}
/** Should be overridden to set up any shader parameters such as planet position, normals, etc. */
public abstract void preRender();
public PlanetMesh(){}
public void render(Mat3D projection, Mat3D transform){
preRender();
/** Should be overridden to set up any shader parameters such as planet position, normals, etc.
* @param params*/
public void preRender(PlanetParams params){
}
@Override
public void render(PlanetParams params, Mat3D projection, Mat3D transform){
preRender(params);
shader.bind();
shader.setUniformMatrix4("u_proj", projection.val);
shader.setUniformMatrix4("u_trans", transform.val);
shader.apply();
mesh.render(shader, Gl.triangles);
}
@Override
public void dispose(){
mesh.dispose();
}
}