49得票2回答
为什么我的OpenGL Phong着色器表现得像一个平面着色器?

我过去几周一直在学习OpenGL,但是在实现Phong着色器时遇到了问题。尽管我使用了 smooth 限定符,但似乎没有在顶点之间进行插值。我错过了什么吗?感谢OpenGL超级宝典第五版提供的顶点和片段着色器代码。我强烈推荐这本书! 顶点着色器:#version 330 in vec4 v...

15得票1回答
如何正确使用gluLookAt?

我不想涉及复杂的三角学来计算旋转和其他3D世界的事情,因此gluLookAt似乎是一个不错的替代方案。根据文档,我只需要放置相机位置的3个坐标,用于观察的3个坐标以及“上”方向。最后一个部分在我假定它应该与屏幕顶部所指的方向中视线成直角之前一点也不清楚。 它根本不是这样工作的。我有一些Pyt...

17得票10回答
PyOpenGL报错:TypeError: 'NoneType'对象不可调用。

我正在尝试学习游戏编程的基础知识,我已经安装了pygame和pyopengl。 我的代码:import sys import OpenGL from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT ...

9得票1回答
如何在PyOpenGL中使用顶点数组对象和glDrawElements进行绘图

我有以下代码,它应该只是将一个绿色三角形绘制到屏幕上。它使用顶点数组对象和索引缓冲区进行绘制,并具有我可以制作的最简单着色器。 起初,我没有使用索引缓冲区,只是使用glDrawArrays进行绘图调用,这很好,但当我改用glDrawElements时,屏幕上什么都没有绘制(完全黑屏)。 f...

26得票9回答
PyOpenGl 还是 pyglet?

我想尝试使用Python和OpenGL做一些小实验,但是我无法找到为什么要使用PyOpenGl而不是pyglet的好理由。 你会推荐哪个?为什么?

9得票2回答
PyOpenGL是学习OpenGL编程的好起点吗?

我想开始学习OpenGL,但我不想再学一门语言来实现它。我已经相当熟练地掌握了Python并且喜欢这种语言。我只是想知道它跟常规API有多接近?我是否能够轻松地按照教程和书籍进行学习,而不会遇到太多麻烦? 我知道C++能提供更好的性能,但是对于仅仅学习来说,使用PyOpenGL是否可行呢?

10得票2回答
如何从Vispy的屏幕坐标获取世界坐标

我不确定如何将屏幕坐标转换为世界坐标。我正在使用VisPy,并希望在3D中实现射线跟踪和拾取能力。我基于立方体示例准备了一些代码。下面的代码通过更改Z值在屏幕上发送一个粗略的光线,并打印3D坐标(在''on_mouse_press''方法中)。但是结果不正确。如果我单击立方体的右上角,应该会打...

9得票1回答
使用Python实现无可见窗口的OpenGL渲染视图

我需要渲染一些场景。我已经使用pyopengl和pygame在Python中成功完成了操作。问题在于它只会创建一个短暂的窗口。 我想要渲染相同的图像并保存它,而不会创建可见的窗口(或者可能根本不创建窗口,甚至不需要pygame)。 import cv2 import numpy as np...

15得票2回答
刚刚安装了QtOpenGL但无法导入它(来自Python)。

我刚刚使用apt-get在Debian Linux上安装了它。apt-get install libqt4-opengl PyQt4的其余部分可用,但我无法访问这个新模块。from PyQt4 import QtOpenGL 引发ImportError。有任何想法该怎么做?

35得票3回答
我该在哪里找到一个好的在线OpenGL 3.0教程,而且不使用任何弃用功能?

我刚购买了OpenGL超级宝典的第五版。我很高兴他们避免使用被弃用的功能,但他们的示例使用了GLTools。 GLTools提供了一系列有用的函数,用于渲染简单的3D对象和管理视图截头锥、相机和变换矩阵。 这一切都很棒,但所提供的抽象隐藏了底层细节,我很难在不能使用GLTools的代码中进行...