Better previews

This commit is contained in:
Anuken
2020-02-26 14:44:06 -05:00
parent a1fd621eb6
commit fdaac290ac
7 changed files with 113 additions and 20 deletions

View File

@@ -43,6 +43,12 @@ public class PlanetMesh{
generateMesh();
}
public @Nullable Vec3 intersect(Ray ray){
boolean found = Intersector3D.intersectRaySphere(ray, center, radius, Tmp.v33);
if(!found) return null;
return Tmp.v33;
}
/** @return the sector that is hit by this ray, or null if nothing intersects it. */
public @Nullable Ptile getTile(Ray ray){
boolean found = Intersector3D.intersectRaySphere(ray, center, radius, Tmp.v33);
@@ -51,10 +57,15 @@ public class PlanetMesh{
}
public void render(Mat3D mat){
Shaders.planet.begin();
Shaders.planet.setUniformMatrix4("u_projModelView", mat.val);
mesh.render(Shaders.planet, lines ? Gl.lines : Gl.triangles);
Shaders.planet.end();
render(mat, Shaders.planet);
}
public void render(Mat3D mat, Shader shader){
shader.begin();
shader.setUniformMatrix4("u_projModelView", mat.val);
shader.apply();
mesh.render(shader, lines ? Gl.lines : Gl.triangles);
shader.end();
}
private void generateMesh(){

View File

@@ -4,6 +4,7 @@ import arc.Core;
import arc.graphics.Color;
import arc.graphics.g2d.TextureRegion;
import arc.graphics.gl.Shader;
import arc.math.geom.*;
import arc.scene.ui.layout.Scl;
import arc.util.ArcAnnotate.*;
import arc.util.Time;
@@ -18,6 +19,7 @@ public class Shaders{
public static LightShader light;
public static SurfaceShader water, tar, slag;
public static Shader planet;
public static PlanetGridShader planetGrid;
public static void init(){
shadow = new Shadow();
@@ -37,6 +39,20 @@ public class Shaders{
tar = new SurfaceShader("tar");
slag = new SurfaceShader("slag");
planet = new LoadShader("planet", "planet");
planetGrid = new PlanetGridShader();
}
public static class PlanetGridShader extends LoadShader{
public Vec3 mouse = new Vec3();
public PlanetGridShader(){
super("planetgrid", "planetgrid");
}
@Override
public void apply(){
setUniformf("u_mouse", mouse);
}
}
public static class LightShader extends LoadShader{