Ich bin neu in LWJGL und OpenGL, und ich habe einige Google-Suche gemacht und konnte nichts anderes finden, das zu diesem Thema zu finden.Aufruf der Funktion "glClearColor()" verursacht Core-Dump
Ich habe ein grundlegendes Testprogramm erstellt, um ein leeres Fenster zu erstellen. Ich kann das Fenster erstellen und die Anwendung fein ausführen, aber wenn ich versuche, die klare Farbe mit glClearColor()
zu ändern, stürzt die Anwendung ab.
Hier ist der Text in der Konsole ausgegeben:
[error occurred during error reporting (printing problematic frame), id 0xe0000000]
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /*****/*******/eclipse/java-neon/workspace/LWJGL Project/hs_err_pid10749.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Dies ist die Datei, die den Fehler erstellt (ziemlich groß): https://pastebin.com/9h0gsRmTlink
Dies ist der Code:
package me.smorce.project;
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryUtil.*;
import org.lwjgl.glfw.GLFWVidMode;
import me.smorce.project.input.Input;
public class Game
{
public boolean running = false;
private long window;
public int windowWidth = 1280;
public int windowHeight = windowWidth/16 * 9;
public void start()
{
running = true;
init();
while(running)
{
update();
render();
if(glfwWindowShouldClose(window)) running = false;
}
}
private void init()
{
if(!glfwInit())
{
System.err.println("GLFW failed to initialize!");
return;
}
glfwWindowHint(GLFW_RESIZABLE, GL_TRUE);
window = glfwCreateWindow(windowWidth, windowHeight, "Game", NULL, NULL);
if(window == NULL)
{
System.err.println("GLFW failed to create the window");
return;
}
GLFWVidMode videoMode = glfwGetVideoMode(glfwGetPrimaryMonitor());
glfwSetWindowPos(window, (videoMode.width() - windowWidth)/2, (videoMode.height() - windowHeight)/2);
glfwSetKeyCallback(window, new Input());
glfwMakeContextCurrent(window);
glEnable(GL_DEPTH_TEST);
System.out.println("OpenGL: " + glGetString(GL_VERSION));
glfwShowWindow(window);
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
}
private void update()
{
glfwPollEvents();
if(Input.keys[GLFW_KEY_SPACE])
{
System.out.println("SPACE BAR");
}
}
private void render()
{
glfwSwapBuffers(window);
}
}
Alle Hinweise/Tipps wären hilfreich. Danke im Voraus.
Statt Links, wenn das Beste wäre, direkt hier Ihren Code zu veröffentlichen, vor allem, wenn es kurz ist (der Fehlerausgang könnte ein wenig sein groß, aber man könnte wenigstens die ersten Teile posten, die normalerweise die wichtigsten Informationen enthalten). Dadurch wird es einfacher, Ihre Frage zu lesen und zu verstehen, und die Leute werden mehr bereit sein zu helfen - und zu guter Letzt: Links können im Laufe der Zeit brechen. – Thomas
@Thomas Danke, ich habe es aktualisiert. – smorce