Python 单击OpenGL绘制球体
我正在尝试创建一个简单的程序,当你点击它会在鼠标的位置画一个球体 该问题是另一个空白窗口,不显示任何内容。在下面的代码中,我至少确认它注册了鼠标点击,并且正在保存鼠标位置。我假设问题出在我的显示功能的某个地方,我只是不确定在哪里或者为什么 我所做的大部分工作都是以实例为基础的Python 单击OpenGL绘制球体,python,opengl,Python,Opengl,我正在尝试创建一个简单的程序,当你点击它会在鼠标的位置画一个球体 该问题是另一个空白窗口,不显示任何内容。在下面的代码中,我至少确认它注册了鼠标点击,并且正在保存鼠标位置。我假设问题出在我的显示功能的某个地方,我只是不确定在哪里或者为什么 我所做的大部分工作都是以实例为基础的 首先,您的坐标不正确地映射到屏幕像素(鼠标坐标以屏幕像素为单位,从上/左开始)。另外,gluOrtho2D定义了深度从-1到1的剪裁区域。因为我们在这里使用像素,所以您的球体将显示为2像素宽的纵向切片(只是一个环)。使用带
首先,您的坐标不正确地映射到屏幕像素(鼠标坐标以屏幕像素为单位,从上/左开始)。另外,
gluOrtho2D
定义了深度从-1到1的剪裁区域。因为我们在这里使用像素,所以您的球体将显示为2像素宽的纵向切片(只是一个环)。使用带有以下参数的glOrtho
而不是glortho2d
将解决这两个问题:
glOrtho(0.0, 550.0, 550.0, 0.0, -100.0, 100.0);
这将使从深度-100.0到100.0的所有内容都可见,这对于球体来说已经足够了
第二,你的“球体”太小以至于看不见。。。由于现在我们使用像素,请将其大小增加到一些像素:
glutSolidSphere(15, 250, 250)
它们看起来仍然不像球体,因为它们缺少渐变的阴影来提供深度印象,但这是一个更加复杂的照明问题。首先,您的坐标不正确地映射到屏幕像素(鼠标坐标以屏幕像素为单位,从上/左开始)。另外,
gluOrtho2D
定义了深度从-1到1的剪裁区域。因为我们在这里使用像素,所以您的球体将显示为2像素宽的纵向切片(只是一个环)。使用带有以下参数的glOrtho
而不是glortho2d
将解决这两个问题:
glOrtho(0.0, 550.0, 550.0, 0.0, -100.0, 100.0);
这将使从深度-100.0到100.0的所有内容都可见,这对于球体来说已经足够了
第二,你的“球体”太小以至于看不见。。。由于现在我们使用像素,请将其大小增加到一些像素:
glutSolidSphere(15, 250, 250)
它们看起来仍然不像球体,因为它们缺少能给人留下深度印象的渐变阴影,但这是一个照明问题,是一个更复杂的话题。“问题”…到底是什么?是删除你的主目录吗?Bluescreening?Woops抱歉修复了“问题”…到底是什么?是删除你的主目录吗?Bluescreening?Woops抱歉修正了这一点,谢谢你的工作,至于虚线的东西,我完全没有线索,如果你真的找到了什么,请随时再次发布。完美!非常感谢你的感谢,关于虚线的事情,我完全没有任何线索,如果你真的发现了什么,请随时再次发布。太好了!非常感谢你