问题标签 [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 投票
0 回答
217 浏览

objective-c - 使用自定义类中的顶点数据绘制到 OpenGL

我正在查看用于将 OpenGL 内容绘制到屏幕上的苹果文档,在他们的“绘制到窗口或视图页面”(下面链接)上,它们表明您可以通过在openGL类中的 drawRect 方法中放置数据来进行绘制。我明白这一点,但如果你有一个customClass产生一些你想绘制的顶点数据的东西怎么办。它是如何绘制到屏幕上的?

理想情况下,我可以在我的 customClass 中的 draw 方法中做到这一点,比如......

这里文档

0 投票
1 回答
2380 浏览

c++ - 使用OpenGL绘制时钟的小时标记

这是我的代码:

这是我的重塑功能(没有它我什么都看不到,虽然我不确定它是如何工作的)

所以我试图用尺寸为 2.0 的线立方体来绘制时钟的小时标记,每个立方体必须距离中心 5.2 个单位。这是一个任务,我知道它可能很简单,但我无法让它正常工作。我的问题是立方体出现在 3D 中,但我希望它们出现在 2D 中,因为我只会看到一张脸。另外,圆圈没有居中,我不明白为什么。我知道我应该使用 pushMatrix 和 popMatrix 但无论我如何使用它都不起作用。

0 投票
1 回答
3951 浏览

c++ - 简单的彩色 3D 棱镜

我开始学习 OpenGL,我将它与 SFML 2.1 一起使用来获取窗口、加载图像等。但是我遇到了简单棱镜的问题。面孔是部分透明的,看起来很糟糕:/我正在看教程,但我不知道我的代码有什么问题......你能帮我吗?我读到这是 Z-Buffering 的问题。如何解决?

这是我的代码:

这是我的结果:

0 投票
3 回答
409 浏览

opengl - 单击 Quad 并在 opengl 中获取屏幕坐标

假设我像这样制作一个四边形:

好的,现在说我想确定用户是否在该四边形内部单击。好吧,当您单击时,您会收到屏幕坐标,因此,如果您的主窗口是 600x600 像素,那么您的单击将产生小于 600 的 x 和 y 值。但我将点击 (375,400) 与之前的四边形进行比较使用从 -1.0 到 1.0 的值创建以定义 4 个顶点。

如何确定用户是否在四边形内部单击?

0 投票
1 回答
92 浏览

java - 3D 线条从屏幕中途截断

我正在制作一个模型,它循环遍历所有实体并为它们画线。

它工作正常,但如果实体不在我的视口中,线条将在屏幕中途切断。

我的代码(至少对于这些行)几乎是这样的:

x、y 和 z 只是实体的坐标。

不太确定如何解决这个问题。

0 投票
1 回答
264 浏览

java - 为什么 LWJGL 仅在 Windows 上在以前和当前的游戏状态之间闪烁?

此问题仅发生在 Windows 中。在 Linux 中运行良好。

我有一个基于堆栈的状态管理系统。当我从一种状态切换到另一种状态时,显示屏会在前一个状态和当前状态之间闪烁。它几乎就像一个缓冲区仍在显示先前的状态并与当前状态交替。

这是我的第一个状态初始化、绘制和退出代码:

  • init在状态首次加载时调用

  • draw被称为每个循环

  • pause在新状态被放到栈顶之前被调用。

    这是下一个 gameState 代码:

    /li>

这就是加载新状态的方式。

第一个状态调用:

super.sm.push(new MainMenu(super.sm));

这是 StateManager ( sm) 代码:

主游戏循环在 StateManager 上调用此方法:

是什么导致在 Windows 上发生状态之间的闪烁?

0 投票
0 回答
624 浏览

c++ - 如何使用 glOrtho2D 移动位置?

我正在尝试根据玩家(简单方块)的位置(x,y)移动相机。比例尺比较小,字符为0.5f x 0.5f。

如何使用 glOrtho2D 将相机聚焦在玩家的 x 和 y 坐标上?

我真的很困惑你如何使用左、右、下和上。这完全没有意义,它显然定义了屏幕比例以及它绘制的位置?

任何帮助都非常感谢。

我从以下 3d 版本 (gluLookAt) 切换:

并在调整大小

0 投票
1 回答
616 浏览

c++ - 来自 x、y 和 z 文本文件的 OpenGL 线框

我有一个包含 3 个坐标的文件,我可以将其渲染为点、线、三角形或任何图元。我想构建这个文件的线框模型,我应该更改或添加什么以将其视为线框

样本:

0 投票
2 回答
726 浏览

c++ - glMultMatrix 在 glBegin() 中不起作用

我正在创建一个程序,允许我在 3 个空间中绘制点,使用 Catmull-Rom 样条线连接它们,然后围绕样条线绘制一个圆柱体。我正在使用GL_TRIANGLES_STRIP以短间隔连接围绕样条线绘制的点圈,希望将它们全部连接到样条线周围的圆柱体中。

我已经设法在这些间隔处绘制完整的点圆,使用GL_POINTS,并将它们正确定位到关于 Frenet 框架的线。不幸的是,要使用GL_TRIANGLE_STRIP,我相信我需要在一组两个点之间一次绘制一个点。

我遇到的问题是,glMultMatrixglBegin. 下面的代码将绘制一个点圈,但在原点,glMultMatrix我用来平移和定位点圈的glbegin. 有针对这个的解决方法吗?

0 投票
3 回答
421 浏览

c++ - openGL中的完全透明对象

我需要创建一个完全透明的表面,穿过轴的原点并始终平行于屏幕。我正在尝试使用此代码(在 中c++),但结果类似于 50% 混合(不完全):

附加信息:我需要这个透明表面来使用该功能在其上获得一个点gluUnProject(winX, winY, winZ, model, proj, view, &ox, &oy, &oz);