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 […]

将图像放置在固定布局GTK2中

我有一个试图执行以下操作的应用程序: 创建一个GTK2顶级主窗口 在主窗口中添加固定框架,以便对窗口小部件进行绝对定位 创建一个GtkImages矩阵,用于显示动画GIFS和静态JPEGS 在启动时,从列表中随机选取的静态JPEGS将填充矩阵 当事件发生时,矩阵将填充动画GIFS 当动画结束时,可能会在矩阵中再次显示不同的JPEGS 仅当两个或多个随机选择的JPEGS放置在矩阵的一行中时,才会发生运行时错误。 以下是此类运行时错误的示例: (wrong:3909): Gtk-WARNING **: Can’t set a parent on widget which has a parent 如果该行的每个图像都是唯一的,则不会发生运行时错误。 代码片段和运行时输出如下: /* * Compile me with: * gcc -Wall -o wrong wrong.c $(pkg-config –cflags –libs gtk+-2.0 gmodule-2.0) */ /* header includes */ /**** prototypes ****/ /********************/ typedef struct { unsigned int pixel_width, […]

使用多个图像的GTK2应用程序内存泄漏

这是关于GTK2处理资源使用的最后一个问题的后续内容。 应用程序正在正确显示图像,但是现在每次从磁盘加载GtkImages并将其放置在固定帧上进行绝对定位时,它似乎会泄漏一些内存。 我使用以下几秒钟调用的基本方法来加载和显示不同的图像集。 int DisplaySymbols( GameInfo *m ) { // variable declarations removed for brevity // error checking needs to be added GtkWidget *image; pos_y = 150; for( y = 0; y < 3; y++ ) { pos_x = 187; for( x = 0; x < 5; x++ ) { image=gtk_image_new_from_file( fileName ); gtk_fixed_put(GTK_FIXED(frame), image, […]

洪水填充算法

我正在使用turbo C ++在C中使用一个简单的图形库,因为我正在开发一个非常原始版本的绘画风格程序,每个都运行良好,但我无法使洪水填充算法工作。 我使用4路泛洪填充算法,首先我尝试使用递归版本,但它只适用于小区域,填充大区域使其崩溃; 阅读我发现实现它的显式堆栈版本解决了问题,但我没有真正看到它。 我开发了这样的堆栈: struct node { int x, y; struct node *next; }; int push(struct node **top, int x, int y) { struct node *newNode; newNode = (struct node *)malloc(sizeof(struct node)); if(newNode == NULL) //If there is no more memory return 0; newNode->x = x; newNode->y = y; newNode->next = *top; *top […]

如何在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 […]

梯形波方程的方程

我正在写交流function来产生梯形波。 有没有人知道产生梯形波的数学方程式? 与y = A * sin(B * x)非常相似的想法为不同的x值产生正弦波。

我在哪里可以找到一个简单的图形C库直接写入帧?

我需要一个简单的图形C库来在我将直接写入帧的设备上使用。 框架位于常规存储器中。 没有图形加速硬件。 没有什么花哨。 我只是想绘制线条,圆圈,OSD之类的字符串。 拥有使用优质精益算法的function会很棒(我的CPU是运行在400MHz的ARM9)。 有什么建议吗?

C图形库错误

我有以下代码: #include #include #include #include void main() { int gd=DETECT,gm; int dx,dy,p,end; float x1,x2,y1,y2,x,y; initgraph(&gd,&gm,””); printf(“\nEnter the value of x1: “); scanf(“%f”,&x1); printf(“\nEnter the value of y1: “); scanf(“%f”,&y1); printf(“\nEnter the value of x2: “); scanf(“%f”,&x2); printf(“\nEnter the value of y2: “); scanf(“%f”,&y2); dx=abs(x1-x2); dy=abs(y2-y1); p=2*dy-dx; if(x1>x2) { x=x2; y=y2; end=x1; } else { x=x1; […]

使用单个光源渲染3D立方体的最简单方法是什么?

下面描述的是一个三维立方体的蹩脚Photoshop模型。 以下是我的参数:解决方案必须…… …编译并运行我的小而忠实的Macbook Air, 而不使用像葡萄酒这样的Windows模拟器 …生成一个窗口,在运行时看起来与上面的模型相当接近 …只使用免费工具(“免费”,如“演讲” 和 “啤酒”) …使用C(不是C ++或C#) …能够从编译时定义的不同角度渲染立方体,可能使用预处理器宏 ……利用GPU WEEE! 潜在资源: http://www.gamedev.net/topic/579689-sdl–opengl-rendering-a-cube/ http://www.evl.uic.edu/arao/cs594/sdlglsl.html

水泥效应 – 艺术效果

我希望对图像产生影响,其中所得到的图像看起来好像是在粗糙的水泥背景上绘制的,并且水泥背景在边缘附近自定义以突出它们…请帮助我编写算法来生成这样的效果。 第一张图像是原始图像 第二个图像是我正在寻找的输出。 请注意检测到边缘并且边缘在边缘附近变化以清楚地指示边缘