- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用以下 GLUT 方法使用 JOGL 在 3D OpenGL Canvas 中绘制球体:
GLUT glut = new GLUT();
glut.glutSolidSphere(radius, stacks, slices);
大小由radius
属性和位置定义
gl.glTranslatef(posX, posY, posZ);
在我的场景中,我绘制了 3 个具有不同 x 坐标的相同球体。我期望得到 3 个具有相同大小和相同 y 和 z 坐标的球体,但我得到了这个(我还应用了一些灯光和颜色设置,但我认为这与问题无关):
不仅球体的半径不同,而且它们的 z 位置也不同。第一个球体按预期绘制,但第二个和第三个球体变小,并且它们在 z 轴上位于前一个球体的后面。
我不知道是什么导致了这种行为...我的想法是它可能与 OpenGL 状态有关..
谁能启发我吗?
最佳答案
一点点研究揭示了答案:
方法
gl.glTranslate(posX,posY,posZ);
根据前一个矩阵的位置移动矩阵,因为它们都是相互相乘的,这会导致这些奇怪的值。解决方案是重新加载身份,以便通过调用以下方法将矩阵重置为默认状态:
gl.glLoadIdentity();
gl.glTranslate(posX,posY,posZ);
这是结果:
这个thread 帮助我找到了答案
关于java - JOGL:在指定位置绘制球体会导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28673143/
我一定是愚蠢之类的,但我在网上查看了几个 JOGL 示例,它们在 JOGL 中使用了 GL 接口(interface)的 color3f 方法,但是编译器提示找不到该方法,当我检查时javadoc我确
我从 here 下载了 jogl 2.0 ,文件 jogl-all.jar ,并运行了一个取自 here 的简单代码示例: import java.awt.event.KeyEvent; import
嗨,大家好 我在 JOGL 项目中添加拾取对象时遇到了麻烦。 我知道这可以通过选择缓冲区来完成..但我找不到例子 任何人? 最佳答案 一般来说,正如您可能知道的那样,JOGL 代码直接从您可能在网络上
我找不到有关在 JOGL 中呈现交错顶点数组(不是 VBO)的正确方法的任何信息。具体来说,使用 glVertexAttribPointer() 似乎不允许指定交错数据(FloatBuffer)内的偏
鉴于我从 JOGAMP wiki 获得的这个简单示例,为什么鼠标坐标在 y 方向上偏离 40,在 x 方向上偏离 20?单击屏幕右下角会显示坐标 (620, 440),而不是像我期望的那样 (640,
我正在学习使用 JOGL,在学习本教程时遇到了问题: https://sites.google.com/site/justinscsstuff/jogl-tutorial-1 https://site
我目前正在通过使用 JOGL 库(openGL 的 java 包装器)来探索 opengl,我用它来创建 2d/3d 图形。目前,我对通过“glutBitmapString”方法渲染的文本遇到了一些问
我在我的应用程序中使用 JOGL(OpenGL for Java),我需要一次在屏幕上绘制大量字符串,而我当前的解决方案太慢了。现在,我正在使用 Draw3D 方法使用 TextRenderer 绘制
我在使用 JOGL 时遇到问题。我这里有一本书用 C++ 解释了 OpenGL,但我的任务是用 JOGL 来做。我现在正在处理顶点缓冲区对象,这本书告诉我这一点: glGenBuffers(1, &m
我一直在尝试在独立的 Java 应用程序中使用 JOGL。我已经在 Android 上完成了 OpenGLES 的工作,并且刚刚将我的代码从 Android OpenGL 移植到了这个 Java 应用
我正在使用 JOGL 将 OpenGL SuperBible 演示翻译成 Java。第 12 章之前的所有演示都很顺利,但现在我陷入了阴影贴图。这是我的设置: public class ShadowM
我是 OpenGL 的新手,正在尝试使用 jogl。我可以毫无问题地绘制三角形,但是当我尝试绘制四边形(在许多教程中使用)时,Eclipse 一直告诉我 GL.GL_QUADS 无法解析。 gl.gl
我正在 JOGL 中构建一些东西,并且希望通过使用键盘或鼠标来使相机移动,这并不重要,只要相机可以围绕对象平移并可能放大和缩小即可。如果使用键盘/鼠标很困难,那么我也不介意使用应用程序中的某些按钮,例
我的问题是关于jogl的。我在 Canvas 显示中绘制图像。但我在图像上绘制多边形。我画多边形,但多边形是透明的,而不是颜色的。我可以做吗? gl.glBlendFunc(GL.GL_SRC_AL
我一直在尝试加载一个 bmp 图片以在我的程序中将其用作纹理 我使用了一个 IOStream 类来扩展 DataInputStream 以读取像素在照片中,此代码基于 C++ 的纹理加载器代码: //
在我的项目中,我希望为不同的对象使用一些纹理。 目前我有以下代码: private Texture[] textures = new Texture[1]; private int texture1
我已经使用 JOGL 几天了,现在这已成为一个主要障碍。我无法让形状以正确的 z 顺序绘制,而是按照它们提供给 OpenGL 的顺序绘制。 我花了最后几个小时研究这个问题,一般的解决方案(和我的 re
我正在尝试将 C# 应用程序移植到 Java,目前正在翻译 OpenGL 代码。在 C# 应用程序中使用了 OpenTK,在 Java 应用程序中我选择了 JOGL。当我尝试创建纹理时,程序抛出异常。
我最近才开始使用 JOGL,但我的第一个程序失败了,因为我无法获得 GL4 配置文件。 GLProfile test = GLProfile.get(GLProfile.GL4); 此行失败并显示错误
我正在使用 JOGL 渲染一些模型。我可以实现 KeyListener 接口(interface)并相应地接收击键。但问题是,按键后我无法再次刷新或渲染模型。我可以接收输入,但如何在 JOGL 中每次
我是一名优秀的程序员,十分优秀!