나는 간단한 LWJGL 프로그램을 만들어 디스플레이를 만들고 텍스트를 화면에 렌더링합니다. 나는 Slick-util btw로 텍스트를 렌더링한다.LWJGL 느린 렌더링
그럼 내 질문은 그것이로드되기 전에 검은 색 화면 (또는 맑은 색이 무엇이든간에)이 몇 초 걸리는 이유입니다. 이 문제를 해결할 수있는 방법이 있습니까? 디스플레이가 모두 렌더링 될 때까지 디스플레이를 숨길 수 있습니까? 글쎄 내 질문입니다.
package com.survivalpixel.kopis;
import static org.lwjgl.opengl.GL11.GL_MODELVIEW;
import static org.lwjgl.opengl.GL11.GL_PROJECTION;
import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D;
import static org.lwjgl.opengl.GL11.glEnable;
import static org.lwjgl.opengl.GL11.glMatrixMode;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.opengl.GL11.glPopMatrix;
import static org.lwjgl.opengl.GL11.glPushMatrix;
import java.awt.Font;
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
import org.newdawn.slick.TrueTypeFont;
public class Menu {
private int WIDTH = 1080,HEIGHT = 720;
Font font;
TrueTypeFont gamefont;
public static void main(String args[]){
new Menu();
}
public Menu(){
try {
Display.setDisplayMode(new DisplayMode(WIDTH,HEIGHT));
Display.setResizable(false);
Display.setTitle("Kopis V.01");
Display.create();
} catch (LWJGLException e) {
}
initGL();
init();
while(!Display.isCloseRequested()){
glPopMatrix();
glClear(GL11.GL_COLOR_BUFFER_BIT);
drawString("This is a test",100,100);
Display.update();
Display.sync(100);
glPushMatrix();
}
Display.destroy();
System.exit(0);
}
private void initGL() {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 1080, 720, 0, -1, 1);
glMatrixMode(GL_MODELVIEW);
glClearColor(0, 0, 0, 0);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
private void init() {
font = new Font("times new roman", Font.BOLD,12);
gamefont = new TrueTypeFont(font, false);
}
public void drawString(String s,int x, int y){
gamefont.drawString(x, y, s);
}
}
예외를 삼키지 마십시오. 나는'glPushMatrix' /'glPopMatrix'를 바꿨다고 생각합니다. [TrueTypeFont] (http://slick.cokeandcode.com/javadoc/org/newdawn/slick/TrueTypeFont.html)는 더 이상 사용되지 않는 것 같습니다. –