versuche grade text darzustellen mithilfe von slick auf ein lwjgl 2 display mit einem UnicodeFont der text erscheint aber nicht es giebt aber auch keine fehler meldung oder so der code um den font zu laden:
und hier der rest der main klasse:
mit font.drawString(50, 50, "test"); sollte der text eig. gedrawt werden tut es aber nicht warum? b.z welche lösung könnte es dafür geben
mit TrueTypeFont btw das selbe problem
hoffe irgendwer kann mir helfen
LG coolian
Java:
UnicodeFont font = null;
try {
font = new UnicodeFont(new java.awt.Font("Times New Roman", java.awt.Font.PLAIN, 24));
font.getEffects().add(new ColorEffect(java.awt.Color.white));
font.addAsciiGlyphs();
font.loadGlyphs();
} catch (SlickException e) {
e.printStackTrace();
}
und hier der rest der main klasse:
Java:
package main;
import models.RawModel;
import models.TexturedModel;
import java.awt.Color;
import java.awt.Font;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.vector.Vector2f;
import org.lwjgl.util.vector.Vector3f;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.TrueTypeFont;
import org.newdawn.slick.UnicodeFont;
import org.newdawn.slick.font.effects.ColorEffect;
import renderEngine.DisplayManager;
import renderEngine.Loader;
import renderEngine.MasterRenderer;
import renderEngine.OBJLoader;
import shaders.StaticShader;
import terrain.Terrain;
import textures.ModelTexture;
import textures.TerrainTexture;
import textures.TerrainTexturePack;
import entities.Camera;
import entities.Entity;
import entities.Light;
import entities.Player;
import guis.FontLoader;
import guis.GuiRenderer;
import guis.GuiTexture;
public class Main {
private static final String HEIGHT_MAP = "heightmap";
public static void main(String[] args) {
DisplayManager.createDisplay();
Loader loader = new Loader();
//*******************************TERRIAN TEXTURE STUFF*****************
TerrainTexture backgroundTexture = new TerrainTexture(loader.loadTexture("grassy"));
TerrainTexture rTexture = new TerrainTexture(loader.loadTexture("dirt"));
TerrainTexture gTexture = new TerrainTexture(loader.loadTexture("pinkFlowers"));
TerrainTexture bTexture = new TerrainTexture(loader.loadTexture("path"));
TerrainTexturePack texturePack = new TerrainTexturePack(backgroundTexture, rTexture,
gTexture, bTexture);
TerrainTexture blendMap = new TerrainTexture(loader.loadTexture("blendMap"));
//*********************************************************************
Terrain terrain = new Terrain(0, -1, loader, texturePack, blendMap, HEIGHT_MAP);
RawModel model = OBJLoader.loadObjModel("tree", loader);
ModelTexture fernTextureAtlas = new ModelTexture(loader.loadTexture("fern"));
fernTextureAtlas.setNumberOfRows(2);
TexturedModel staticModel = new TexturedModel(model, new ModelTexture(loader.loadTexture("tree")));
TexturedModel grass = new TexturedModel(OBJLoader.loadObjModel("grassModel", loader), new ModelTexture(loader.loadTexture("grassTexture")));
grass.getTexture().setHasTransparency(true);
grass.getTexture().useFakeLighting(true);
TexturedModel fern = new TexturedModel(OBJLoader.loadObjModel("fern", loader), fernTextureAtlas);
List<GuiTexture> guis = new ArrayList<GuiTexture>();
List<Entity> entities = new ArrayList<Entity>();
GuiTexture gui = new GuiTexture(loader.loadTexture("box"), new Vector2f(0.5f, 0.5f), new Vector2f(0.25f, 0.25f));
Random random = new Random();
for(int i = 0; i < 400; i++) {
float x = random.nextFloat() * 800 - 400;
float z = random.nextFloat() * -600;
float y = terrain.getHeightOfTerrain(x, z);
entities.add(new Entity(staticModel, new Vector3f(x, y, z), 0, 0, 0, 3));
x = random.nextFloat() * 800 - 400;
z = random.nextFloat() * -600;
y = terrain.getHeightOfTerrain(x, z);
entities.add(new Entity(grass, new Vector3f(x, y, z), 0, 0, 0, 1));
x = random.nextFloat() * 800 - 400;
z = random.nextFloat() * -600;
y = terrain.getHeightOfTerrain(x, z);
entities.add(new Entity(fern, random.nextInt(4), new Vector3f(x, y, z), 0, 0, 0, 0.6f));
}
Light light = new Light(new Vector3f(0000, 10000, -10000), new Vector3f(1, 1, 1));
/*Terrain terrain2 = new Terrain(-1, 0, loader, texturePack, blendMap, HEIGHT_MAP);
Terrain terrain3 = new Terrain(-1, 0, loader, texturePack, blendMap, HEIGHT_MAP);
Terrain terrain4 = new Terrain(0, -1, loader, texturePack, blendMap, HEIGHT_MAP);
Terrain terrain5 = new Terrain(0, 1, loader, texturePack, blendMap, HEIGHT_MAP);
Terrain terrain6 = new Terrain(0, 1, loader, texturePack, blendMap, HEIGHT_MAP);
Terrain terrain7 = new Terrain(1, 0, loader, texturePack, blendMap, HEIGHT_MAP);
Terrain terrain8 = new Terrain(0, 0, loader, texturePack, blendMap, HEIGHT_MAP);
Terrain terrain9 = new Terrain(1, 1, loader, texturePack, blendMap, HEIGHT_MAP);
Terrain terrain10 = new Terrain(-1, -1, loader, texturePack, blendMap, HEIGHT_MAP);*/
UnicodeFont font = null;
try {
font = new UnicodeFont(new java.awt.Font("Times New Roman", java.awt.Font.PLAIN, 24));
font.getEffects().add(new ColorEffect(java.awt.Color.white));
font.addAsciiGlyphs();
font.loadGlyphs();
} catch (SlickException e) {
e.printStackTrace();
}
GuiRenderer guiRenderer = new GuiRenderer(loader);
MasterRenderer renderer = new MasterRenderer();
RawModel playerModel = OBJLoader.loadObjModel("person", loader);
TexturedModel playerTM = new TexturedModel(playerModel, new ModelTexture(loader.loadTexture("playerTexture")));
Player player = new Player(playerTM, new Vector3f(100, 0, -50), 0, 0, 0, 1);
Camera camera = new Camera(player);
while(!Display.isCloseRequested()){
camera.move();
player.move(terrain);
renderer.processTerrain(terrain);
/*renderer.processTerrain(terrain2);
renderer.processTerrain(terrain3);
renderer.processTerrain(terrain4);
renderer.processTerrain(terrain5);
renderer.processTerrain(terrain6);
renderer.processTerrain(terrain7);
renderer.processTerrain(terrain8);
renderer.processTerrain(terrain9);
renderer.processTerrain(terrain10);*/
renderer.processEntity(player);
for(Entity entity:entities) {
renderer.processEntity(entity);
}
renderer.render(light, camera);
guiRenderer.render(guis);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GL11.glDisable(GL11.GL_DEPTH_TEST);
font.drawString(50, 50, "test");
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glDisable(GL11.GL_BLEND);
DisplayManager.updateDisplay();
}
guiRenderer.cleanUp();
renderer.cleanUp();
loader.cleanUp();
DisplayManager.closeDisplay();
}
}
mit font.drawString(50, 50, "test"); sollte der text eig. gedrawt werden tut es aber nicht warum? b.z welche lösung könnte es dafür geben
mit TrueTypeFont btw das selbe problem
hoffe irgendwer kann mir helfen
LG coolian