问题标签 [jogl]

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 投票
2 回答
5780 浏览

java - OpenGL:设置位置而不是平移?

我可以将当​​前渲染位置设置为任意值,而不是仅仅给它从当前位置的偏移量吗?

这就是我目前正在做的事情:

它允许我说“我想向左移动”,但不能说“我想移动到点 (2, 1, 2)”。有没有办法做到后者?

我将 OpenGL 与 JOGL 一起使用。

更新

@Bahbar 建议如下:

当我这样做时,除了六行之外的所有内容都消失了。我不确定为什么。我遇到了远裁剪平面太近的问题,所以它们可能太远而无法渲染。

0 投票
2 回答
2376 浏览

java - 解析 .obj 文件:如何处理材质/纹理?

我是 OpenGL 的新手。我正在使用 JOGL 玩弄它。我正在使用这个模型

我成功地将它渲染到窗口。但是,我想应用纹理/材料。我不完全确定如何做到这一点。

从 .obj 文件:

维基百科告诉我,该usemtl语句之后和下一条语句之前的所有内容都usemtl应该使用khaki_light_pave_W.png. 但是,我不确定如何在 OpenGL 中执行此操作。

文件顶部定义了一堆顶点:

我需要vt为纹理使用顶点吗?f声明包括索引。这些索引是指向v顶点vt,还是两者?

0 投票
2 回答
272 浏览

java - OpenGL:选择哪个多边形面朝前?

我是 OpenGL 的新手。我正在使用 Java/JOGL。

我对多边形面有困难。我希望能够控制哪一侧是正面或背面。我一直在研究这个文档

我认为在我的方法中,这行代码display()会使所有多边形面都被绘制出来,但它没有任何效果:

使用它,我可以翻转渲染哪些面:

但是我的多边形有一半面向一个方向,一半面向另一个,所以只有一半被渲染过。

我尝试使用gl.glNormal3f()设置正常,希望这与“正面”有关,但它没有效果。

我应该在这里做什么?

谢谢。

0 投票
4 回答
7781 浏览

java - Java:BufferUtil?

我正在尝试将此类JOGL 一起使用。它引用了 BufferUtil,我在任何地方都找不到。我找到了文档,但没有实际代码。Eclipse 不建议从任何地方导入它。我必须做什么才能使用此代码?

0 投票
3 回答
370 浏览

java - 通用 3D 演示软件的建议框架

我的公司决定我们需要一个“通用”的演示基础架构来进行技术演示,因为我可以使用 JOGL 或 OpenGL 编写它并创建自己的框架,我不想重新发明轮子。但是那里有很多 3D gfx 引擎和很多 OpenGL 包装器!

基本上,我们想使用 3D 图形来渲染一些地形并在上面放置简单的模型。他们的要求是让它看起来很棒并且是跨平台的。

基本上,我可以自由决定这将遵循的范围和范例,但我在想: - 能够加载 3D 模型并以全屏或窗口模式渲染它们。- 能够控制摄像机“飞”过所产生的场景。- 能够在所有内容之上显示/隐藏广告牌消息,即固定在屏幕上并始终面向相机的 2D 文本和图像。- 能够更改关于场景部分的简单事情,例如使对象出现/消失、更改高光颜色(如涂成红色)等。- 我可以选择编写或使用现有的脚本语言来注入事件处理和预编程动画。

示例用例: - 我们公司的某个人准备了一个包含一些建筑物的 3D 地形模型,基本上生成了一个类似 XML 的文件来描述场景及其对象。- 然后他继续使用我的程序飞过地形并记录一些“感兴趣的”相机位置。- 然后,他将其中一些位置绑定到键盘键和/或现有的 GUI 按钮。- 他添加了一些浮动文本。- 他使用我的程序演示了一个演示,加载了他的 3D 模型文件和脚本文件,然后可以开始与观众一起从他选择的一个相机姿势“飞”到下一个,当他到达和离开时,浮动文本会淡入淡出相机位置...当他单击按钮时,地形上的一些建筑物会以红色突出显示...等等。

  • 我有一些 OpenGL 和 JOGL,以及 XNA Game Studio 的经验。
  • 我宁愿使用Java,这样它就可以尽可能地独立于平台。

我该怎么办?

0 投票
2 回答
1427 浏览

opengl - OpenGL: How to undo scaling?

I'm new to OpenGL. I'm using JOGL.

I have a WorldEntity class that represents a thing that can be rendered. It has attributes like position and size. To render, I've been using this method:

The pattern I've been using is applying each attribute of the entity (like position or rotation), then undoing it to avoid corrupting the state for the next entity to get rendered.

Uncommenting out the scaling lines causes the app to be much more sluggish as it renders a modest scene on my modest computer. I'm guessing that the float division is too much to handle thousands of operations per second. (?)

What is the correct way to go about this? Can I find a less computationally intensive way to undo a scaling transformation? Do I need to sort objects by scale and draw them in order to reduce scaling transformations required?

Thanks.

0 投票
2 回答
586 浏览

opengl - 3D 图形:如何考虑模型的位置

我是图形新手。我正在试验 OpenGL / JOGL。

我有一个正在渲染的 .obj 文件。我很难将它准确地放置在世界上我想要的位置。考虑到模型的运行时集大小,我有一架我希望它休息的飞机。仅仅做一个转换是不够的,因为我需要考虑模型的尺寸。

即使那样,我也不确定如何将 .obj 的参考系中的 0 转换为世界坐标系。

处理这个问题的惯用模式是什么?

0 投票
1 回答
501 浏览

java - 图形:.obj 文件和材质/纹理

我是 OpenGL/JOGL 的新手。我能够将纹理硬核到多边形上,并且我正确地绘制了 .obj 文件中指定的多边形。我现在想绘制那些 .obj 文件中指定的材料/纹理,但我不太确定该怎么做。

例如,我下载了这个凉亭。下载包含一个 .obj 文件。从那个文件:

我怎么知道Nuovo是什么?应该有nuovo.mtl文件吗?

我还下载了另一个文件:

下载包括 .obj 和 .png 文件,但没有black_roofblack_roof_bricks.png. 我错过了什么,还是这些模型有缺陷?

0 投票
3 回答
4307 浏览

java - OpenGL:创建一个天空盒?

我是 OpenGL 的新手。我正在使用 JOGL。

我想为我的世界创造一个天空,我可以用云或星星来制作纹理。我不确定最好的方法是什么。我的第一直觉是制作一个非常大的球体,具有二次方位GLU_INSIDE和纹理。有没有更好的办法?

0 投票
1 回答
335 浏览

java - OpenGL:我在纹理这个错误吗?

我是 OpenGL 的新手。我正在使用 JOGL。

我下载了这个模型。它有一堆纹理。我正在尝试在这里应用“truck_color-blue.jpg”,但我不确定我做得对。这就是我所看到的:

并排:按纹理和网站演示

本质上,我正在做的是记录所有vtvvn条目,然后使用这些f行来索引它们。这是进行glTexCoord*()调用的代码:

我怀疑我没有正确地将纹理坐标与顶点匹配。该模型说它是UV映射的。这是否意味着我需要以不同的方式制作纹理?

我读取 .obj 文件的代码:

类 Polygon表示一条线,如f 1/2/3 4/5/6 7/8/9.

公共类多边形 { 私有列表面 = 新 ArrayList();

}

类 FacePoint表示一个面点,例如21/342/231.