问题标签 [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.
java - Java JOGL 纹理对象不翻译
我一直在尝试在独立的 Java 应用程序中使用 JOGL。我已经在 Android 上完成了 OpenGLES 的工作,并且刚刚将我的代码从 Android OpenGL 移植到了这个 Java 应用程序。有一些语法更改,但方法和构建步骤相似且到位。
我能够在画布上绘制浮点顶点数组并将颜色数据传递给着色器。现在我正在处理纹理。这就是我的问题所在。我可以通过 Java 对着色器进行纹理处理甚至应用其他颜色,但现在我希望能够在 3D 空间中移动对象。
如果没有纹理,我可以旋转/平移对象,但是当我将纹理应用于对象(确实应用了纹理)时,我无法旋转/平移对象。
如果有人能指出我所忽视的正确方向。我已经搜索并查看了教程和示例,但它们似乎都在做我所拥有的基础知识。
澄清一下,我在 3D 空间中移动纹理对象时遇到问题。
这是我的 ExampleGL 主渲染器:
这是我要绘制的对象:
这是我的 TextureHelper 类:
下面是我尝试应用纹理时使用的顶点着色器:
下面是我尝试应用纹理时使用的片段着色器:
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?
opengl - OpenGL 2.1 和 glBegin()/glEnd()
那里有很多 OpenGL 教程——我认为超过 90% 的教程使用 glBegin()/glEnd() 并在这两个调用之间设置了顶点。现在我发现有些人告诉我这些函数已被弃用,并且在较新版本的 OpenGL 中不再可用。
所以:这是正确的吗?
在我的应用程序中,我必须与 OpenGL 2.1 兼容。
java - LibGDX:如何使用 OpenGL 2.0 实现平面阴影效果?
所以我试图用 LibGDX 实现“多边形艺术/低多边形”风格。我首先构建一个由三角形组成的模型。
然后使用顶点着色器,我根据高度计算每个顶点的颜色。
问题是,当我希望地形像这样平坦阴影时,地形是 Gouraud 阴影:
我知道对于更高版本的 OpenGL,在 glsl 中有一个“flat”关键字,它将禁用顶点之间的颜色插值。根据我在网上和这篇文章中阅读的内容:http: //i.stack.imgur.com/DrNx9.jpg,我认为我需要让地形中的每个三角形彼此分开?我还需要计算每个三角形的法线?我无法理解其他 StackOverflow 中的代码,但这是我试图做的:
原来的
现在:
问题是新代码没有渲染任何东西……我查看了 ModelBuilder、MeshBuilder、Mesh 和 VertexAttribute/s 的 API,但我不知道为什么它不起作用。任何帮助都会很棒,因为这是非常令人沮丧的一天。非常感谢!
opengl-es-2.0 - 具有 OpenGL 和加权 OIT 的 3D 不透明多边形
我无法让不透明的多边形变得不透明。我正在使用这个网站的公式:
这是我的代码:
我无法让多个 glFragData[n] 工作,据我了解,OpenGL ES 无论如何都不支持多个。黄色多边形应该是完全不透明的,但在图片中它不是。我如何让它不透明而其他一切透明?另外如何创建半透明半不透明多边形?
这是我生成的图片:
opengl - 不绘制点
首先:是的,我知道这是一个非常过时的编程接口。但是有些目标机器甚至不保证 OpenGL 2.1,这就是为什么它仍然必须使用。
我的问题:使用 OpenGL 绘制一些几何图形时,不会绘制仅由 2 个点组成的点和多段线。是否有一条至少有三个坐标点的折线,它工作顺利。所以这不起作用:
...虽然这会产生预期的结果:
这是我的初始化:
知道这种行为的原因是什么吗?为什么不画简单的线和点?
c++ - QPixmap 在我的 glScissor(...) 设置上运行
如果这不准确,我深表歉意。我正在尽我所能将代码从一台计算机手动复制到另一台计算机,而目标计算机没有编译器(不要问)。
头文件
源文件
问题是这段代码来自paintGL()
:
一旦创建了 QPainter 对象glScissor(...)
,我之前在函数中所做的调用就会溢出,并且会进行某种glClearColor(...)
调用(可能来自 QPainter 的构造函数),将整个视口清除为我刚刚设置的背景颜色glScissor(...)
。然后像素图可以很好地绘制我的斜面纹理。
我不希望 QPainter 超出我的剪裁范围。
我得到的最接近解释的是两个 QPainter 方法,beginNativePainting()
和endNativePainting()
. 根据文档,这两者之间禁用了剪刀测试,但在他们的示例中,他们重新启用了它。我尝试使用这个“原生绘画”代码,但我无法阻止 QPainter 的存在,因为它忽略了 GL 的剪裁和清除我的整个视口。
为什么会发生这种情况,我该如何阻止这种情况?
注意:这台工作电脑有网络政策,禁止我去imgur之类的娱乐网站上传“我想要的”和“我得到的”图片,所以我必须用文字说明。
c++ - 如何在 Qt 应用程序中替换“gluOrtho2d”
我正在努力使我七年前编写的程序恢复生机。它全部用 Qt 编写,并使用一些 OpenGL 在应用程序正在显示的图像上绘制一些框架线。问题是使用了“gluOrtho2D”但不再找到。我想知道如何解决这个问题。这是代码:
eclipse - 如何修复加载纹理错误?
我正在学习GL2,有一个函数(来自学校)来加载纹理:
但是,它总是在这里抛出异常:(它的错误行太多,所以我只是复制前行)
我在mac上的Eclipse上运行这个,GL环境已经设置好了。有人可以解释这个错误以及如何解决它吗?谢谢!
java - 打开GL2.0库代码
所以老师给了我们下面两段代码
和
我知道这两个是相同的,但我想知道在哪里可以获得 GL2 的这些代码的列表?更喜欢使用枚举而不是硬编码值,所以我知道我在做什么,但是我们的一些工作没有这些信息。