- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Exception in thread "main" java.lang.NullPointerException >>at org.lwjgl.-6ren">
我收到 0 个错误,但我在控制台中得到了这个:
>Exception in thread "main" java.lang.NullPointerException
>>at org.lwjgl.opengl.GL11.glMatrixMode(GL11.java:2052)
>>>at game.engine.GameLoop.start(GameLoop.java:22)
>>>>at game.engine.GameLoop.main(GameLoop.java:15)
我试图将实际值放入“glMatrixMode()”而不是“GL11.GL_PROJECTION”,但它返回相同的异常。
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.Display;
public class GameLoop
{
//Main
public static void main(String[] argv)
{
GameLoop.start();
}
//Metodo che gestisce il loop
public static void start()
{
//Inizializzazione OpenGL
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, 800, 600, 0, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
try
{
Display.setDisplayMode(new DisplayMode(800, 600));
Display.create();
} catch (LWJGLException e)
{
e.printStackTrace();
System.exit(0);
}
while(!Display.isCloseRequested())
{
Entità.pulisci();
Entità.colora();
Entità.disegna();
Display.update();
}
}
}
import org.lwjgl.opengl.GL11;
public class Entità
{
//Disegna un poligono
public static void disegna()
{
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2f(100,100);
GL11.glVertex2f(200,100);
GL11.glVertex2f(200,200);
GL11.glVertex2f(100,200);
GL11.glEnd();
}
//Pulisce il buffer
public static void pulisci()
{
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
}
//Setta il colore al poligono
public static void colora()
{
GL11.glColor3f(0.5f,0.5f,1.0f);
}
}
最佳答案
我对 Java 或 LWJGL 没有任何经验,但从您的代码来看似乎
Display.setDisplayMode(new DisplayMode(800, 600));
Display.create();
创建实际的显示 Canvas (或者您可以调用它),它还设置了 OpenGL 上下文。因此,在这些函数之前调用任何 OpenGL 函数(如 GL11.glMatrixMode
)可能会导致一些错误,在您的情况下会出现空指针异常。
所以尝试将这四个函数放在显示创建之后。您正在对 OpenGL 上下文进行更改,因此您首先需要一个有效的上下文。
关于java - "GL11.glMatrixMode()"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10946995/
将 glRotatef() 放在 glMatrixMode(GL_PROJECTION); 之后有什么区别 glMatrixMode(GL_PROJECTION); glLoadIdentity();
glMatrixMode(GL_PROJECTION)有什么区别和 glMatrixMode(GL_MODELVIEW) ? #include #include #include #define
我学习过的大多数 Android OpenGL ES 教程都有这样的 onSurfaceChanged() 函数: public void onSurfaceChanged( GL10 gl, int
我收到 0 个错误,但我在控制台中得到了这个: >Exception in thread "main" java.lang.NullPointerException >>at org.lwjgl.
我开始研究 OpenGL 的一些东西,我看到了很多调用 glMatrixMode 函数的例子。 根据我收集到的信息,将其设置为 GL_MODELVIEW 或 GL_PROJECTION(等)将激活该特
所以我正在阅读this LWJGL wiki 上的文章提到,“当使用‘向前兼容’上下文时,任何标记为已弃用的功能都将被删除。” 现在,当我实现与显示的前向兼容性时,每当我调用 glMatrixMode
static void resize(int width, int height) { const float ar = (float) width / (float) height;
我目前正在使用 SDL 1.2.4 和 C++Builder 10.0 Seattle。我设置了一个简单的测试程序来检查是否一切正常。 以下代码编译时没有警告或错误,但给我一个运行时错误: Excep
我正在阅读一本关于 OpenGL、SDL 的书,并且已经阅读了一些 OpenGL 文档。我也读过这篇文章:What does glLoadIdentity() do in OpenGL? 我正在掌握
我的下一个问题(或问题)是,当我用 glm 加载模型时,我能够看穿模型的某些部分,例如:如果有两座山在另一座前面,我可以看穿越近的山。 我会展示一张图片,但由于纹理不起作用,所以无法理解。 问题在这里
我想将 OpenGL 与 C++ 结合使用来创建一个带有“相机”(透视图)和要查看的对象的基本场景。我找到了示例代码 here .但出于某种原因,尽管我已将所有必要的包含和库捆绑在一起(见下文), /
在查看红皮书中的 reshape 示例时,我通常会发现如下内容: void reshape(int w, int h) { glViewport(0, 0, (GLsizei) w, (GLs
我有一个 iPhone 应用程序,我在 appDidFinishLaunching 中调用这三个函数: glMatrixMode(GL_PROJECTION); glOrthof(0, rect.si
在 Mac 上的 Parallels 中运行的 Windows 10 上,android 模拟器在启动时崩溃 C:\Android-SDK>.\tools\bin\avdmanager create
我的 OpenGL C++ 项目突然停止识别 glMatrixMode(GL_MODELVIEW)。我去吃晚饭,然后我的项目无法构建。 我在带有 CDT 插件的 Eclipse 中使用 Windows
我将先发布代码,然后发布以下问题: import java.util.Properties; import org.lwjgl.Sys; import org.lwjgl.input.Keyboard
使用 opengl es 演练黑莓 10 sdk。它使用 2 个命令,即: glMatrixMode(GL_PROJECTION); glLoadIdentity(); 及以后: glMatrixMo
我是一名优秀的程序员,十分优秀!