首页 文章
  • 0 votes
     answers
     views

    删除openGL中动态分配的内存

    我使用C和freeglut,并想知道如何使用 new 删除动态分配的内存 . 关闭窗口时我需要释放内存 . 我应该把它放在哪里 delete pointer ?在 glutMainLoop() 之前? Update* . 例如,我使用 int *ptr = new int[n] 来存储顶点坐标,并且在代码中没有使用类 . 所以我必须在 main() 中调用 delete 来释放内存 . 我知...
  • 2 votes
     answers
     views

    OpenGL和Broken Lines问题中的无限循环绘图

    无限循环问题 我想达到如图所示的效果: 我通过在 glutDisplayFunct 回调函数中包含一个无限循环来生成这个,这是不好的,因为我无法处理来自键盘的任何输入 . 我能想到的另一种方法是使用过剩的显式窗口刷新函数 . 我想知道如何插入无限循环并检查键盘输入 . 这是我所做的示例代码 . 它只是实现了DDA算法,并尝试通过生成随机坐标和颜色来绘制无限线 . #include <std...
  • 3 votes
     answers
     views

    调试GLFW显示设置

    在我的project中,我想使用GLFW来支持窗口 . 它在我的笔记本电脑和办公室电脑上工作正常,但我的家用桌面不让我打开一个窗口(所有这些都是Ubuntu 12.04) . 我也尝试了 GLUT ,至少给了我一个错误信息,但我能够发现的是X-Server不支持窗口的设置( glXChooseFBConfig 的东西) . 但是,我能够使用SDL打开一个窗口 . 现在我'm very curiou...
  • 0 votes
     answers
     views

    使用线性插值为从A点移动到B点的直线设置动画

    struct Point{ float x; float y; }; 使用这个结构我做了4分,并为它们分配了值 . 然后使用 Points 的实例创建图片中显示的线条 . PO.x = -0.5f; PO.y = 0.5f; P1.x = -1.0f; P1.y = -0.5f; Q0.x = 0.5; Q0.y = -1.0f; Q1.x = 0.7f; Q1.y = 0...
  • 6 votes
     answers
     views

    如何使用PyGame而不是GLUT初始化OpenGL上下文

    我正在尝试使用Python和PyGame开始使用OpenGL . 我将使用PyGame而不是GLUT来完成所有初始化,窗口打开,输入处理等 . 但是,我的着色器无法编译,除非我准确指定OpenGL和配置文件的版本 . 他们使用书中的GLUT初始化进行编译: glutInit() glutInitDisplayMode(GLUT_RGBA) glutInitWindowSize(400, 400) ...
  • 4 votes
     answers
     views

    如何根据对象的方向旋转对象

    类似的问题WebGL:Rotate object around world axis . 我需要以用户应该能够用鼠标移动它的方式旋转对象,就像他拖动它一样 . 问题是 glRotatef 只是旋转对象而不考虑它在OpenGL中的四元数 . 这就是我现在实现轮换的方式: // rotation 2D GLfloat C-vector, posX, posY GLfloat's void mouse(...
  • 3 votes
     answers
     views

    glBufferData()的分段错误

    我无法弄清楚为什么这段代码是seg faulting: AxesMarker::AxesMarker(float size) : size_(size), vbo_vertices_(0), vbo_elements_(0) { Vertex vertices[6] = { Vertex(Color4f::RED, Vector3f::ZERO, Vector3f::ZE...
  • 1 votes
     answers
     views

    C,过剩,OpenGL“调整大小窗口”事件?

    我使用的是OpenGL 3.3 . 在我的应用程序中,我将鼠标光标设置在窗口的中心(我将窗口的大小传递给“Camera”类的构造函数),但是当我调整窗口大小(如全屏)时,我将光标放在窗口的某个位置左边的部分 . 所以,我想通过新的尺寸来避免这样的事情 . 我怎样才能做到这一点?过剩可能存在某种“调整大小”事件?
  • 1 votes
     answers
     views

    如何处理GlutPostRedisplay?

    我正在制作一个游戏,其中我的玩家是一个精灵,当我按下右键或向上键(跳跃并运行)时我会在pressKeySpecial和releaseKeySpecial中写下“GlutPostRedisplay” . 之后,我做了一些动画,我已经制作了一个使用GlutPostRedisplay的计时器功能(glutTimerFunc) . 现在的问题是,当我按下右键时,我的播放器会继续更改其精灵图像以便在某个地方...
  • 1 votes
     answers
     views

    使用静态链接在Linux上交叉编译Windows的GLUT项目

    我正在尝试交叉编译这个最小的GLUT程序: #include <GL/glut.h> int main(int argc, char **argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); glutCreateWindow(&q...

热门问题