问题标签 [lwjgl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2539 浏览

java - 我在哪里可以找到 LWJGL 的示例用法?

我在 lwjgl.org 上看过官方演示,但我希望看到更多教程级别的示例。

0 投票
2 回答
1642 浏览

java - 纹理顶点缓冲区对象

我想做的是用OpenGL绘制一个(大)地形。所以我有一组顶点,比如说 256 x 256,我存储在 VRAM 中的顶点缓冲区对象中。我正确地对它们进行了三角测量,所以我有一个用于面部的索引缓冲区。

我还加载了一个方形纹理,它必须应用于每个三角形。所以我对纹理坐标有疑问:

每个顶点包含在 4 个三角形中,这意味着它需要 4 个纹理坐标。但是 glDrawRangeElements() 需要与顶点一样多的纹理坐标。

所以我不知道如何用 VBO 做到这一点。也许有更好的概念来解决我的问题,或者我只是缺乏一个好主意。

提前致谢。

0 投票
2 回答
1772 浏览

java - 没有 glGet* 调用的opengl截锥剔除

视锥体计算的各种示例使用 glGetFloatv() 来获取当前投影和模型视图矩阵(GL_PROJECTION_MATRIX,GL_MODELVIEW_MATRIX),并基于此进行一些视锥体剔除。

我已经读过 glGet* 是您不希望在主渲染循环中使用的东西;

“使用“Get”或“Is”函数会降低渲染性能。这些命令会强制图形系统在回答“Get”或“Is”查询之前执行所有排队的 OpenGL 调用。”

所以我的问题是。如何在我的代码中创建一个可靠的 Frustum 剔除算法,我应该把它放在哪里以确保这种停滞永远不会发生?

0 投票
1 回答
1811 浏览

java - 使用 Java 中的 LWJGL 的基于浏览器的 3D 游戏

我想使用带有 Java 编程语言的LWJGL创建一个基于浏览器的 3D 游戏。

谁能给我提供一个在其中创建窗口和盒子的小例子?

0 投票
2 回答
2127 浏览

java - 使用 NetBeans 编译 Java LWJGL 项目(包 org.lwjgl 不存在)

我尝试使用NetBeans编译 ( LWJGL ) Java 项目。我单击了项目-> 属性和库-> 编译。我添加了罐子位置、源文件位置和 javadoc 位置。

仍然当我尝试构建项目时,我得到了错误:

包 org.lwjgl 不存在。

我能做些什么来解决这个错误?

0 投票
1 回答
1726 浏览

java - 在 Mac 上从 SWT 应用程序打开 LWJGL 窗口

我有一个 SWT 应用程序,在按下按钮后会打开一个 OpenGL 窗口(使用 LWJGL 库)。它应该关闭它的主 SWT 窗口并使用 OpenGL 上下文打开一个新窗口。在 Windows 上运行良好。在 Mac 上,我收到此错误:

SWT 窗口关闭,然后应用程序挂起,没有打开任何窗口。

看起来 SWT 应用程序没有完全关闭并留下与其关联的菜单条目,这会阻止 LWJGL 窗口打开。Mac OS X 只需要一个应用程序菜单。SWT 没有释放它自己的菜单,而 LWJGL 想要添加另一个。

事实:

  • SWT 对话框中的按钮应该关闭对话框并打开 LWJGL 窗口 (org.lwjgl.opengl.Display)。

  • 该按钮在应用程序中设置一个静态变量,告诉它在 SWT 窗口关闭后下一步该做什么,因此不会直接从 SWT 回调打开 LWJGL 窗口。

  • 然后该按钮关闭 SWT 窗口。我不知道这样做的正确方法,但尝试了 shell.close、shell.dispose、display.close 和 display.dispose 的各种组合,但都没有奏效。他们都关闭了窗口,但每次都会发生错误。

有谁知道可以做些什么来完成这项工作?

更新:这根本行不通,而且苹果似乎永远不会修复它。解决它的唯一方法是启动一个新的应用程序实例并传递一个参数,告诉它打开第二个窗口。

更新 2:在这种特殊情况下,我通过对应用程序的 Windows 版本和 Mac 版本使用 SWT 对话框解决了这个问题,我编写了一个本机 Cocoa 对话框,它调用 JVM 并在需要时运行 LWJGL 应用程序。这很好用。

0 投票
2 回答
792 浏览

java - lwjgl 101:我怎样才能写出基础知识?

编辑:所以显然我做的一切都是正确的,但我遇到了一个不同的问题,看起来好像我做错了什么。对于那个很抱歉。——我,新手

这应该很简单,但我一生都无法弄清楚如何用 lwjgl 编译任何东西并让它工作。我可以写类似的东西

只要我自己编写所有类,我就可以轻松地编译具有不同包中的多个类的程序。但我不知道如何让 G 工作。我认为这与类路径有关?也许?帮助?

我真的一直在寻找几个小时,但最基本的教程假设你知道如何做到这一点!

编辑:哦,如果我违反了stackoverflow约定,我很抱歉;我确实尝试不这样做,但这是我在这里的第一个动作。

0 投票
2 回答
3356 浏览

java - LWJGL 不工作

我正在做一项家庭作业,以修改我的教授使用 LightWeight Java 游戏库给出的代码。问题是我无法完全加载测试代码来开始测试修改。我已经链接到 jar 文件,正如它在修改中所说的那样,但我仍然有一个挥之不去的错误。进口声明

import org.lwjgl.util.glu.*;

无法解决,所以我在以下几行中有错误,遍布整个代码:

关于出了什么问题的任何想法?

0 投票
1 回答
216 浏览

java - lwjgl 101:如何编写小程序?

我在 lwjgl 中有一个工作应用程序。它还没有做太多;我刚刚开始,但它确实像预期的那样编译和运行。我想把它做成一个小程序。我已经按照这里的指南进行操作,并且我有一个运行良好的小程序,并在小程序区域显示文本等,并且可以访问 lwjgl 的功能(如 Sys.alert),但我不知道如何获取 opengl实际渲染。我尝试过扩展 AWTGLCanvas 并调用this.add(myAWTGLCanvas)this我正在使用的 Applet 在哪里,但是......什么也没有。)initGL(paintGL()方法永远不会被调用。我想知道我是否应该对 Display 做一些事情,但这不是针对 applet 的,对吧?帮助?

另外:这算作“初学者”问题,对吗?

编辑:是我所拥有的简化版本。

0 投票
1 回答
270 浏览

opengl - 菜鸟问题:绘制平行于视图的四边形

好的,我想做的是在场景中绘制一个与视图平行的平面上的四边形。所以它应该看起来是平的。

更具体地说,与函数 glTranslate 和 glRotate 相比,我认为我没有很好地了解 gluLookAt 的机制是如何工作的:

如果我在绘制对象时使用函数 glTranslate 和 glRotate “手动”定位视图,则它的位置相对于当前视图。我知道这是由于堆栈中的转换矩阵。

但是,当我使用 gluLookAt (应该自动设置视图)时,我要绘制的对象的坐标必须是“绝对的”才能正确显示。

提前致谢。