기본 Java 함수로 개발을 시작한 플랫폼 작성자를 만들고 있지만 이제는 OpenGL로 모든 것을 전환하고 있습니다. 저는 항상 OpenGL을 사용하는 것처럼 모든 것을했습니다. 다른 OpenGL 프로젝트에서도 잘 작동했습니다. 이제 내 문제는 LWJGL/OpenGL이 아주 이상한 방식으로 텍스처를 스케일링한다는 것입니다.이상하게도 LWJGL/OpenGL 크기 조정 텍스처
내 화면의 가로 세로 비율과 관련이있을 것으로 보인다. (8 : 5)
나는 이미 올바른 방법으로 화면을 뒤집어 썼다. 그러나 텍스트가 잘 보이고있는 것처럼, 그것은 질감이있는 rect이고, 바닥. Metamorph.java (기본 클래스)
public static void initGL()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, Display.getWidth(), 0, Display.getHeight(), 1, -1);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glMatrixMode(GL_MODELVIEW);
glClearColor(0, 0, 0, 1);
glDisable(GL_DEPTH_TEST);
}
public void render()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glScalef(1.0f, -1.0f, 1.0f);
glTranslatef(0f, -720f, 0f);
//glScalef(1280f/800, 720f/500, 1f);
renderer.render();
Display.update();
Display.sync(60);
}
Renderer.java (렌더링 물건)
private void renderMainMenuWithGL()
{
//System.out.println("Main Menu!");
glColor4f(1, 1, 1, 1);
try
{
Texture bg = loadTexture("mockery");
bg.bind();
} catch (Exception e)
{
e.printStackTrace();
}
//drawQuad(0, 0, 1280, 720, 0, 0, 1280, 720);
glPushMatrix();
{
glBegin(GL_QUADS);
glTexCoord2f(0, 0);glVertex2f(0, 0);
glTexCoord2f(0, 1);glVertex2f(0, 720);
glTexCoord2f(1, 1);glVertex2f(1280, 720);
glTexCoord2f(1, 0);glVertex2f(1280, 0);
glEnd();
}
glPopMatrix();
TrueTypeFont f = loadFont(MAINFONT, Font.PLAIN, 50);
TrueTypeFont fb = loadFont(MAINFONT, Font.PLAIN, 48);
int sel = -1;
if(Mouse.getX() > 1000 && Mouse.getX() < 1240 && Mouse.getY() > 282.5F && Mouse.getY()< 737.5F)
sel = Math.round((Mouse.getY() - 337.5F)/75F);
if(sel == 0)
drawStringRight(fb, 1240, 350, "Story", new Color(0xff516b6b));
else
drawStringRight(f, 1240, 350, "Story", new Color(0xff516b6b));
}
private void drawStringRight(TrueTypeFont f, int x, int y, String s, Color c)
{
glPushMatrix();
f.drawString(x-f.getWidth(s), y, s, c);
glPopMatrix();
}
내가 : 여기
실제로 OpenGL을 사용 두 클래스에서 가장 중요한 조각이다 또한 파일 구조에 대한 조언을 듣고 다른 곳에서 내가 잘못한 부분을 열어 보았지만 마음에 들었다. WIP
-1 : 붙여 넣기가 죽으면 SO가 영원합니다. 코드를 질문으로 편집하십시오. – genpfault
위 게시물에 가장 작은 관련 스 니펫을 게시하십시오. 외부 연결은 끊고 당신을 돕는 것을 시도해 사람들을 위해 일이다. – user1118321
@genpfault 가장 중요한 스 니펫을 게시물로 편집했습니다. 아이디어가 있습니까? – juliand665