Better previews
This commit is contained in:
@@ -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(){
|
||||
|
||||
@@ -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{
|
||||
|
||||
Reference in New Issue
Block a user