Tag: 过剩

opengl:关于glutMainLoop()的问题

有人可以解释一下glutMainLoop如何工作的吗? 第二个问题,为什么glClearColor(0.0f, 0.0f, 1.0f, 1.0f); 在glutDisplayFunc(RenderScene);之后定义glutDisplayFunc(RenderScene); 首先我们调用glClear(GL_COLOR_BUFFER_BIT); 然后才定义glClearColor(0.0f, 0.0f, 1.0f, 1.0f); int main(int argc, char* argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(800, 00); glutInitWindowPosition(300,50); glutCreateWindow(“GLRect”); glutDisplayFunc(RenderScene); glutReshapeFunc(ChangeSize); glClearColor(0.0f, 0.0f, 1.0f, 1.0f); <– glutMainLoop(); return 0; } void RenderScene(void) { // Clear the window with current clearing color glClear(GL_COLOR_BUFFER_BIT); // Set current drawing color to […]

如何在OpenGL和GLUT中为键触发的旋转设置动画?

我想在C中使用GLUT在OpenGL中旋转一个简单的立方体。当我按下一个键时会发生旋转。 如果我使用glRotatef(angle, 0.0f, 1.0f, 0.0f) ,立方体将立即旋转而不需要动画。 我想慢慢旋转它,所以完成旋转大约需要2秒钟。

C编译错误(没有这样的文件或目录,编译终止)

我在Windows上试图学习一些OpenGL。 我安装了mingw并有一个测试文件。 我将我的test.c文件放在glut文件夹中,其中包含glut文件,例如glut32.dll和库文件。 我在cmd中使用mingw来运行这个文件: gcc opengl.c -o opengl -lGL -lGLU -lglut 我收到了这个错误: opengl.c:1:23 fatal error: GLUT/glut.h: No such file or directory #include 编译终止。 不知道我做错了什么,有人知道吗? 谢谢!

为什么我需要glut.h,glut32.lib,glut32.dll ALL来编译一个openGL程序?

据我所知,.lib文件是某种编译文件,当然dll文件包含其中的所有函数。 为什么我不能只使用.lib文件或.dll文件? 为什么说明书告诉我得到所有这三个? 顺便说一句,openGL文件是不是免费的,反正我们有一个“freeGLut”?

opengl + glut glutPostRedisplay在哪里?

我用C语言编写GLUT和OPENGL,我希望我的窗口一次又一次地重绘自己。 我知道我可以用glutPostRedisplay()渲染,如果我把它放在Glut的闲置函数中我的电脑滞后。 我的代码是关注atm void on_idle() { glutPostRedisplay(); } void on_draw() { … glClearColor(1.f, 1.f, 1.f, 1.f); glClear(GL_COLOR_BUFFER_BIT); … glFlush(); } int main(int argc, char** argv) { … glutDisplayFunc(&on_draw); glutIdleFunc(&on_idle); … }

为什么GlutPostRedisplay和sleep函数在这段代码中不起作用?

我试图在这个项目中实现usb和cpu之间的数据传输。 数据传输显示为从计算机的一个组件移动到另一个组件的小矩形。 在下面的代码中,GlutPostRedisplay不起作用。 另外,有人可以告诉我使用的sleep()是否正确,因为显示中调用的函数不能同步工作。 从不执行casing()。 在fisrtscreen()之后,它直接跳转到opened()并且operation()不起作用。 这段代码的错误是什么? void operate() { URLTEXTX = 200; URLTEXTY = 950; displayString(READUSB,1); //southbrigde to northbrigde bottom(488.0,425.0,380.0); back(488.0,188.0,380.0); top(188.0,380.0,550.0); //northbridge to cpu front(230.0,350.0,595.0); top(345.0,600.0,650.0); //read from usb back(700.0,625.0,465.0); bottom(625.0,460.0,385.0); back(620.0,525.0,390.0); sleep(1); URLTEXTX = 200; URLTEXTY = 950; displayString(WRITEUSB,1); //cpu to northbridge bottom(350.0,650.0,595.0); back(350.0,230.0,600.0); //northbridge to southbridge bottom(188.0,550.0,380.0); front(188.0,488.0,380.0); top(483.0,380.0,425.0); //write to […]

在Windows上为glut 3.7构建静态库

我一直在尝试将glut编译为静态库,而不必在运行时链接glut32.dll。 我下载了过剩的windows源代码但是当我尝试编译时(默认),我不断得到: Making in glut subdirectory… link /INCREMENTAL:NO /NOLOGO -entry:_DllMainCRTStartup@12 -dll -out:glut32.dll -def:glut.def glut_8x13.obj glut_9x15.obj glut_bitmap.obj glut_bwidth.obj glut_cindex.obj glut_cmap.obj glut_cu rsor.obj glut_dials.obj glut_dstr.obj glut_event.obj glut_ext.obj glut_fullscrn.obj glut_gamemode.obj glut_get.obj glut_hel10.obj glut_hel12.obj glut_hel18.obj glut_init.obj glut_input.obj glut_joy.ob j glut_key.obj glut_keyctrl.obj glut_keyup.obj glut_mesa.obj glut_modifier.obj glut_mroman.obj glut_overlay.obj glut_roman.obj glut_shapes.obj glut_space.obj glut_stroke.obj glut_swap.obj glut_swidth. obj glut_tablet.obj glut_teapot.obj glut_tr10.obj glut_tr24.obj glut_util.obj glut_vidresize.obj […]

OpenGL – GLUT – 显示不同的弹出菜单

在我的项目中,我想根据用户按下鼠标右键的位置显示两个不同的菜单。 我实施了采摘。 这里没有问题。 我想在用户右键单击对象时显示菜单,在右键单击任何对象(屏幕中的空白区域)时显示不同的菜单。 这可能与GLUT有关吗?

我必须包含哪些库来访问GLUT / OpenGL(没有XCode的Mac)?

标题是问题的核心,但问题来自于我从SpaceSimulator.net的教程中获得的代码。 我会在这里发给你的。 #include #include #include #include #include typedef struct { float x,y,z; } vertex_type; typedef struct { int a,b,c; } polygon_type; #define MAX_POLYGONS 2000 polygon_type polygon[MAX_POLYGONS]; #define MAX_VERTICES 2000 vertex_type vertex[MAX_VERTICES]; typedef struct { vertex_type vertex[MAX_VERTICES]; polygon_type polygon[MAX_POLYGONS]; } obj_type,*obj_type_ptr; int screen_width, screen_height, filling; GLfloat rotation_x_increment, rotation_y_increment, rotation_z_increment; GLfloat rotation_x, rotation_y, rotation_z; obj_type cube = […]

如何在openGL中使用纹理图像加载和填充立方体

我有一个带有立方体的网格,我想用两种不同的颜色和3种不同的图像(.bmp)填充立方体。 所以每个立方体都充满了颜色或图像。 我写了一个代码,当我按下按钮时,网格中充满了5种不同的颜色。 任何人都可以告诉我如何更改我的代码以3个不同的图像(随机)填充网格? 这是我的代码: void randomFilling(); void myprint(); struct square{ int v1x, v1y; int v2x, v2y; int v3x, v3y; int v4x, v4y; int color; }; struct square Squares[12][15]; struct flags{ int b; }flags; void drawScene(); void findVerticesPosition(){ int counter=0; for(int i=0; i<600; i+=40){ for(int j=0; j<480; j+=40){ Squares[j/40][i/40].v1x = i; Squares[j/40][i/40].v1y = j; Squares[j/40][i/40].v2x […]