use of com.badlogic.gdx.graphics.g3d.Material in project ultimate-java by pantinor.
the class CodexScreen method createAxes.
private void createAxes() {
ModelBuilder modelBuilder = new ModelBuilder();
modelBuilder.begin();
// grid
MeshPartBuilder builder = modelBuilder.part("grid", GL30.GL_LINES, Usage.Position | Usage.ColorUnpacked, new Material());
builder.setColor(Color.LIGHT_GRAY);
for (float t = GRID_MIN; t <= GRID_MAX; t += GRID_STEP) {
builder.line(t, 0, GRID_MIN, t, 0, GRID_MAX);
builder.line(GRID_MIN, 0, t, GRID_MAX, 0, t);
}
// axes
builder = modelBuilder.part("axes", GL30.GL_LINES, Usage.Position | Usage.ColorUnpacked, new Material());
builder.setColor(Color.RED);
builder.line(0, 0, 0, 500, 0, 0);
builder.setColor(Color.GREEN);
builder.line(0, 0, 0, 0, 500, 0);
builder.setColor(Color.BLUE);
builder.line(0, 0, 0, 0, 0, 500);
axesModel = modelBuilder.end();
axesInstance = new ModelInstance(axesModel);
}
use of com.badlogic.gdx.graphics.g3d.Material in project ultimate-java by pantinor.
the class CodexScreen method createLine.
private ModelInstance createLine(float sx, float sy, float ex, float ey, float z, Color color) {
Model model = null;
ModelBuilder mb = new ModelBuilder();
mb.begin();
MeshPartBuilder builder = mb.part("line", GL30.GL_LINES, Usage.Position | Usage.ColorUnpacked, new Material());
builder.setColor(color);
builder.line(sx, 0, sy, ex, 0, ey);
model = mb.end();
ModelInstance modelInstance = new ModelInstance(model);
modelInstance.transform.setToTranslation(0, z, 0);
return modelInstance;
}
use of com.badlogic.gdx.graphics.g3d.Material in project ProjektGG by eskalon.
the class GameLoadingScreen method onFinishedLoading.
@Override
protected void onFinishedLoading() {
GameSession session = ((ProjektGGApplication) application).getClient().getSession();
World world = session.getWorld();
// Create the ModelInstances
for (BuildingSlot s : world.getBuildingSlots()) {
if (s.isBuiltOn()) {
s.getBuilding().setRenderData(new SelectableRenderData(application.getAssetManager().get(s.getBuilding().getType().getModelPath(), Model.class)));
// FIXME siehe AuthoritativeSession#init(...)
s.getBuilding().getRenderData().transform.translate(s.getPosX(), 0, s.getPosZ());
s.getBuilding().getRenderData().transform.rotate(Y_AXIS, s.getRotationToStreet());
// TODO Use _one_ scene for all models?
// new SelectableRenderData(scene,
// building1.getType().getNodeName(), true);
}
}
Model skyboxModel = application.getAssetManager().get(session.getSessionSetup().getMap().getSkyboxPath(), Model.class);
for (Material m : skyboxModel.materials) {
// fixes a bug related to changes in gdx 1.9.9, see
// https://github.com/libgdx/libgdx/issues/5529
m.remove(ColorAttribute.Emissive);
}
world.setSkybox(new ModelInstance(skyboxModel));
Log.info("Client", "Game assets loaded");
if (((ProjektGGApplication) application).isHost()) {
((ProjektGGApplication) application).getServer().startMatch();
Log.info("Server", "Game started!");
}
application.getScreenManager().pushScreen("round_end", "simple_zoom", 1);
}
Aggregations