问题标签 [opengl-2.0]

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 投票
1 回答
187 浏览

java - Java JOGL 纹理对象不翻译

我一直在尝试在独立的 Java 应用程序中使用 JOGL。我已经在 Android 上完成了 OpenGLES 的工作,并且刚刚将我的代码从 Android OpenGL 移植到了这个 Java 应用程序。有一些语法更改,但方法和构建步骤相似且到位。

我能够在画布上绘制浮点顶点数组并将颜色数据传递给着色器。现在我正在处理纹理。这就是我的问题所在。我可以通过 Java 对着色器进行纹理处理甚至应用其他颜色,但现在我希望能够在 3D 空间中移动对象。

如果没有纹理,我可以旋转/平移对象,但是当我将纹理应用于对象(确实应用了纹理)时,我无法旋转/平移对象。

如果有人能指出我所忽视的正确方向。我已经搜索并查看了教程和示例,但它们似乎都在做我所拥有的基础知识。

澄清一下,我在 3D 空间中移动纹理对象时遇到问题。

这是我的 ExampleGL 主渲染器:

这是我要绘制的对象:

这是我的 TextureHelper 类:

下面是我尝试应用纹理时使用的顶点着色器:

下面是我尝试应用纹理时使用的片段着色器:

0 投票
2 回答
1232 浏览

java - Libgdx dim screen with glClearColor

I simply want to draw background, overlay it with 0.5f transparent black color to dim it and render on top of that a pause menu.

I have tried:

and nothing is working. I also couldn't find any solution online. My other option is to overlay a black sprite, but I don't want to do that. Is there anyway to paint it over with GL?

0 投票
2 回答
685 浏览

opengl - OpenGL 2.1 和 glBegin()/glEnd()

那里有很多 OpenGL 教程——我认为超过 90% 的教程使用 glBegin()/glEnd() 并在这两个调用之间设置了顶点。现在我发现有些人告诉我这些函数已被弃用,并且在较新版本的 OpenGL 中不再可用。

所以:这是正确的吗?

在我的应用程序中,我必须与 OpenGL 2.1 兼容。

0 投票
1 回答
2353 浏览

java - LibGDX:如何使用 OpenGL 2.0 实现平面阴影效果?

所以我试图用 LibGDX 实现“多边形艺术/低多边形”风格。我首先构建一个由三角形组成的模型。

1

然后使用顶点着色器,我根据高度计算每个顶点的颜色。

2

问题是,当我希望地形像这样平坦阴影时,地形是 Gouraud 阴影:

3

我知道对于更高版本的 OpenGL,在 glsl 中有一个“flat”关键字,它将禁用顶点之间的颜色插值。根据我在网上和这篇文章中阅读的内容:http: //i.stack.imgur.com/DrNx9.jpg,我认为我需要让地形中的每个三角形彼此分开?我还需要计算每个三角形的法线?我无法理解其他 StackOverflow 中的代码,但这是我试图做的:

原来的

现在:

问题是新代码没有渲染任何东西……我查看了 ModelBuilder、MeshBuilder、Mesh 和 VertexAttribute/s 的 API,但我不知道为什么它不起作用。任何帮助都会很棒,因为这是非常令人沮丧的一天。非常感谢!

0 投票
0 回答
165 浏览

opengl-es-2.0 - 具有 OpenGL 和加权 OIT 的 3D 不透明多边形

我无法让不透明的多边形变得不透明。我正在使用这个网站的公式:

加权顺序独立透明度

这是我的代码:

我无法让多个 glFragData[n] 工作,据我了解,OpenGL ES 无论如何都不支持多个。黄色多边形应该是完全不透明的,但在图片中它不是。我如何让它不透明而其他一切透明?另外如何创建半透明半不透明多边形?

这是我生成的图片:

在此处输入图像描述

0 投票
1 回答
1546 浏览

opengl - 不绘制点

首先:是的,我知道这是一个非常过时的编程接口。但是有些目标机器甚至不保证 OpenGL 2.1,这就是为什么它仍然必须使用。

我的问题:使用 OpenGL 绘制一些几何图形时,不会绘制仅由 2 个点组成的点和多段线。是否有一条至少有三个坐标点的折线,它工作顺利。所以这不起作用:

...虽然这会产生预期的结果:

这是我的初始化:

知道这种行为的原因是什么吗?为什么不画简单的线和点?

0 投票
1 回答
74 浏览

c++ - QPixmap 在我的 glScissor(...) 设置上运行

如果这不准确,我深表歉意。我正在尽我所能将代码从一台计算机手动复制到另一台计算机,而目标计算机没有编译器(不要问)。

头文件

源文件

问题是这段代码来自paintGL()

一旦创建了 QPainter 对象glScissor(...),我之前在函数中所做的调用就会溢出,并且会进行某种glClearColor(...)调用(可能来自 QPainter 的构造函数),将整个视口清除为我刚刚设置的背景颜色glScissor(...)。然后像素图可以很好地绘制我的斜面纹理。

我不希望 QPainter 超出我的剪裁范围。

我得到的最接近解释的是两个 QPainter 方法beginNativePainting()endNativePainting(). 根据文档,这两者之间禁用了剪刀测试,但在他们的示例中,他们重新启用了它。我尝试使用这个“原生绘画”代码,但我无法阻止 QPainter 的存在,因为它忽略了 GL 的剪裁和清除我的整个视口。

为什么会发生这种情况,我该如何阻止这种情况?

注意:这台工作电脑有网络政策,禁止我去imgur之类的娱乐网站上传“我想要的”和“我得到的”图片,所以我必须用文字说明。

0 投票
1 回答
664 浏览

c++ - 如何在 Qt 应用程序中替换“gluOrtho2d”

我正在努力使我七年前编写的程序恢复生机。它全部用 Qt 编写,并使用一些 OpenGL 在应用程序正在显示的图像上绘制一些框架线。问题是使用了“gluOrtho2D”但不再找到。我想知道如何解决这个问题。这是代码:

0 投票
0 回答
631 浏览

eclipse - 如何修复加载纹理错误?

我正在学习GL2,有一个函数(来自学校)来加载纹理:

但是,它总是在这里抛出异常:(它的错误行太多,所以我只是复制前行)

我在mac上的Eclipse上运行这个,GL环境已经设置好了。有人可以解释这个错误以及如何解决它吗?谢谢!

0 投票
0 回答
177 浏览

java - 打开GL2.0库代码

所以老师给了我们下面两段代码

我知道这两个是相同的,但我想知道在哪里可以获得 GL2 的这些代码的列表?更喜欢使用枚举而不是硬编码值,所以我知道我在做什么,但是我们的一些工作没有这些信息。