OpenGL程序仅显示屏幕后面的内容

杰森

当我运行OpenGL程序时,如果当前打开了一个文本编辑器,则opengl程序会在其屏幕上显示该部分。或打开Web浏览器后,opengl程序将显示该浏览器的一部分。这是我的主要功能:

int main(int argc, char** argv)
{
    glutInit(&argc, argv);  
    glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH ); 
    glutInitWindowSize(500, 500);
    glutInitWindowPosition(100, 100);
    glutCreateWindow("OpenGL Program");

    glutDisplayFunc(display);

    glutMainLoop();

    return 0;
} 

我的显示功能:

void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); 
    glLoadIdentity();

    gluLookAt(posz,posy,posz, 0, 0, 0, upx, upy, upz);
        glBegin(GL_TRIANGLES);
      glVertex3f(-1.0f,-0.25f,0.0f);
      glVertex3f(-0.5f,-0.25f,0.0f);
      glVertex3f(-0.75f,0.25f,0.0f);

    glEnd();
}

它不会给出任何错误或警告,它只会显示屏幕上已经存在的内容。我想念什么?谢谢。

安东·科尔曼(Andon M.Coleman)

glutInitDisplayMode (... GLUT_DOUBLE) 告诉窗口系统使用双缓冲渲染,但是在代码中的任何地方都没有交换缓冲区调用。

基本上,您总是会在发生这种情况时绘制到后缓冲区中,并且窗口系统仅使用前缓冲区的内容来绘制其窗口。这里的想法是,前缓冲区始终是一个完成的图像,当您在绘制完框架后实际交换缓冲区时,前缓冲区非常有用。但是就目前而言,您的前缓冲区始终是未定义的。

要解决此问题,请glutSwapBuffers ()在的末尾添加一个呼叫void display ()这将复制/交换您的后缓冲区和前缓冲区,因此您呈现的输出是可见的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OpenGL程序仅显示屏幕后面的内容

来自分类Dev

Android应用程序显示在主屏幕后面,为什么?

来自分类Dev

使OpenGL上下文不显示屏幕

来自分类Dev

Android应用程序在LoginActivity之前显示屏幕

来自分类Dev

(Linux / X11)具有固定背景的透明窗口上的透明opengl对象显示了窗口后面的内容

来自分类Dev

我的 GLFW 窗口正在显示它后面的任何内容

来自分类Dev

Apple Watch:从基于页面的导航显示模式屏幕后,状态栏不可见

来自分类Dev

如何在显示屏幕的确切中间显示某些内容?

来自分类Dev

初始屏幕后,应用程序崩溃(应该显示菜单屏幕时)

来自分类Dev

Qt OpenGL-半透明对象从窗口后面显示内容

来自分类Dev

仅向新用户显示屏幕反应导航 v3

来自分类Dev

OpenGL屏幕后处理效果

来自分类Dev

TabBar 后面的 TableView 内容

来自分类Dev

在NotifyDataSetChanged()之后RecyclerView不会更新,打开和关闭屏幕后内容会显示

来自分类Dev

如何在WPF窗口中显示屏幕保护程序的预览

来自分类Dev

在Chrome扩展程序中,是否可以截屏并在弹出窗口中显示屏幕?

来自分类Dev

屏幕重新打开后,应用程序窗口全部移至主显示屏

来自分类Dev

Windows Phone 8.1在锁定屏幕后面记录GPS

来自分类Dev

电子-显示屏幕键盘(Windows)

来自分类Dev

TeamViewer没有显示屏幕?

来自分类Dev

在ActiveAdmin显示屏幕中截断标题

来自分类Dev

意外关闭显示屏/屏幕

来自分类Dev

避免显示屏幕外的纹理

来自分类Dev

隐藏在图像后面的容器的程序化屏幕截图

来自分类Dev

RecyclerView仅在旋转屏幕后显示

来自分类Dev

启动屏幕后,应用程序崩溃

来自分类Dev

OpenGL视图仅显示空白(粉红色)屏幕

来自分类Dev

在仅 Xamarin 后面的列表视图点击代码上显示警报

来自分类Dev

使用CSS在现有内容后面的网页上显示背景图像

Related 相关文章

  1. 1

    OpenGL程序仅显示屏幕后面的内容

  2. 2

    Android应用程序显示在主屏幕后面,为什么?

  3. 3

    使OpenGL上下文不显示屏幕

  4. 4

    Android应用程序在LoginActivity之前显示屏幕

  5. 5

    (Linux / X11)具有固定背景的透明窗口上的透明opengl对象显示了窗口后面的内容

  6. 6

    我的 GLFW 窗口正在显示它后面的任何内容

  7. 7

    Apple Watch:从基于页面的导航显示模式屏幕后,状态栏不可见

  8. 8

    如何在显示屏幕的确切中间显示某些内容?

  9. 9

    初始屏幕后,应用程序崩溃(应该显示菜单屏幕时)

  10. 10

    Qt OpenGL-半透明对象从窗口后面显示内容

  11. 11

    仅向新用户显示屏幕反应导航 v3

  12. 12

    OpenGL屏幕后处理效果

  13. 13

    TabBar 后面的 TableView 内容

  14. 14

    在NotifyDataSetChanged()之后RecyclerView不会更新,打开和关闭屏幕后内容会显示

  15. 15

    如何在WPF窗口中显示屏幕保护程序的预览

  16. 16

    在Chrome扩展程序中,是否可以截屏并在弹出窗口中显示屏幕?

  17. 17

    屏幕重新打开后,应用程序窗口全部移至主显示屏

  18. 18

    Windows Phone 8.1在锁定屏幕后面记录GPS

  19. 19

    电子-显示屏幕键盘(Windows)

  20. 20

    TeamViewer没有显示屏幕?

  21. 21

    在ActiveAdmin显示屏幕中截断标题

  22. 22

    意外关闭显示屏/屏幕

  23. 23

    避免显示屏幕外的纹理

  24. 24

    隐藏在图像后面的容器的程序化屏幕截图

  25. 25

    RecyclerView仅在旋转屏幕后显示

  26. 26

    启动屏幕后,应用程序崩溃

  27. 27

    OpenGL视图仅显示空白(粉红色)屏幕

  28. 28

    在仅 Xamarin 后面的列表视图点击代码上显示警报

  29. 29

    使用CSS在现有内容后面的网页上显示背景图像

热门标签

归档