问题标签 [opengl-1.x]

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 回答
852 浏览

java - LWJGL 纹理呈现纯白色

嘿嘿,

这个问题真的很烦。。。

我正在尝试使用 LWJGL 创建一个窗口并加载和渲染纹理。

Window-Creation 工作完美,纹理应该正确加载(经过测试,它始终是我想要渲染的纹理),但它会呈现纯白色。

初始化 OpenGL,加载纹理并渲染它:

TextureManager.java中的加载功能+其他东西:

以及 TextureManager 使用的 TextureIO.java:

结果:

在此处输入图像描述

也许你可以帮我解决这个问题。

0 投票
1 回答
1110 浏览

opengl - 如何在 OpenGL 中以像素为单位指定顶点?

我想用 OpenGL C++ 编写一个小项目,我想使用像素而不是浮点值,例如:

代替:

是否可以?

0 投票
2 回答
22642 浏览

opengl - openGL中glOrtho和glViewPort的区别

我正在努力找出一些东西,比如说我正在渲染一些高度为 100,宽度为 100 的图像。

在场景 A

glOrtho(0,100,0,100,-100,100)当glOrthois定义为(left,right,bottom,top,zNear,zFar)并且glViewPort(0,0,50,50)glViewPort定义为(左下角x,左下角y,宽度,高度)时,我正在使用a 。

在场景 B

当定义为 (left,right,bottom,top,zNear, zFar )glOrtho(0,50,0,50,-100,100)和glViewPort 定义为 (左下角 x, 左下角 y, 宽度, 高度)glViewPort(0,0,100,100)glOrthois

这基本上意味着在场景 A 中,图像将被渲染到比它需要的更低的宽度和高度(即每两个像素渲染一次)。在原始图像中将映射到目标“表面”中的一个,但仍会看到整个图像。

但是,在场景 B 中,图像将被剪裁,因此只有左上角的四分之一可见。我对么?- 为了清楚起见,这是一个来自明天的 CG 测试的问题,我想确保我正确获得了 openGL......(已经阅读了 API...... =\

0 投票
1 回答
550 浏览

opengl - 如何为 OpenGL 文本渲染计算字符映射中的最佳字形边界

为了使用 OpenGL 渲染文本,我采用纹理四边形方法,我为每个需要表示的字符绘制一个四边形。我将所有字符纹理信息存储在单个纹理中,并在纹理矩阵上使用 glScalef 和 glTranslatef 来选择纹理中的正确字符。起初我只在用于创建纹理的图像中放置了几个字符,并且效果很好。

从那以后我需要渲染更多的字符,比如小写字母。我尝试添加更多字符,但现在我的文本最终未对齐且更小。

有没有创建角色映射的正确方法,或者我的方法都错了?

注意:我使用的是单样式字体,所以字体尺寸不应该是问题,但是我想添加对具有非统一大小字符的字体的支持。

编辑:我使用顶点缓冲区进行绘图而不是立即模式。

编辑 2:包含字符映射的纹理有 9 行,每行有 11 个字符。由于字符大小相同,所以我在纹理矩阵上使用 glscalef 到纹理宽度的 1/9,高度的 1/11。VBO 定义四边形 (0,0),(1,0),(0,1),(1,1) 和 tex 坐标 (0,0),(1,0),(0,1),( 1,1)。不对齐似乎是由于我的转换不完全适合每个字形。如何计算每个字形的最佳边界?

0 投票
2 回答
11923 浏览

c++ - OpenGL:glRotatef 旋转什么?

当我这样称呼时glRotatef

我知道它是angle围绕y axis.
但是,这里旋转的是什么?究竟是哪个对象?

可能是一个愚蠢的问题,但我对此完全陌生。

我可以使用此处的答案旋转一条关于其端点的线,但我并不真正了解它在内部是如何工作的。

0 投票
1 回答
117 浏览

opengl - Low OpenGL alpha values cropping

I've injected a DLL into a game process to make a overlay interface, but the problem is that alpha values are being "cropped" (not rendering at all)

I've tested several alpha values and it seems to fail if alpha is below 0.3.

To illustrate what happens, the image that I'm trying to render is:

Transparency test

and the game redering the image is:

Game render

What is exactly happening here? Its the current state of opengl? I'm new to the API, and I have no idea why this happens.

More information:

The texture is being created from a buffer with:

I receive this buffer from Awesomium, and the values are right... I've checked the alpha values.

The rendering is done using this function (I've tried calling game's texture rendering function too but the same problem happens):

0 投票
1 回答
88 浏览

java - OpenGL GlOrtho没有出现图元

我正在绘制纹理,然后使用 GL_QUADS 将此纹理渲染到屏幕上。在屏幕上绘制纹理没有问题,但是在绘制纹理时,唯一有效的操作是 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - 这会将整个纹理设置为我想要的颜色。然而,不可能绘制任何图元。

下面的代码应该绝对用黑色覆盖整个纹理,对吧?

相反,它是橙色的。

像素宽度和像素高度都等于 64。我确保视口设置正确。glGetError() 也返回 0。

我错过了什么?

0 投票
1 回答
254 浏览

c++ - 如何在OpenGL中使用键盘从另一个类中移动一个对象?

如果我的 Sphere 是一类,我如何从键盘移动 OpenGL 中的 Sphere?

主要的:

球体类:

我尝试用 glutSpecialFunc(sfera1.keyboardown) 或 auxKeyFunc(AUX_RIGHT, sphere1.MutaDreapta1) 移动它,但在这两种情况下我都不能......谁能告诉我该怎么做?

0 投票
1 回答
1546 浏览

opengl - 不绘制点

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

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

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

这是我的初始化:

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

0 投票
0 回答
84 浏览

opengl - OpenGL 1.1 场景坐标到屏幕坐标

我知道 OpenGL 1.x 不仅仅是过时的,而且由于所需的目标硬件缺乏更好的 OpenGL 驱动程序,我必须使用这种遗留代码。或者换句话说:人们为支持这个老废话而付钱,而付钱的人是老板......

我的问题:在发送我的对象坐标之前,我使用函数 glLoadIdentity()、glTranslatef()、glScaled()、glRotatef() 设置了一些转换,以通过平移/缩放/旋转将视图更改为我的对象。

用户可以更改这些参数以获得不同的场景视图(通过在相关窗口上拖动鼠标)。

我的问题:如何在场景坐标(基于上述函数所做的转换)和画布坐标(表示鼠标在显示场景的窗口上的位置)之间进行转换?

谢谢!