0
glut.h
を私のCodeblocksにインストールしました。黒い背景に赤い線を出力するプログラムを書いた。しかし、彼の窓だけが現れています。このコードは別のPCで正常に動作します。何が問題ですか?それは私自身のラップトップの問題ですか?プログラミングはウィンドウを表示するだけです
#include<windows.h>
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
#include<stdlib.h>
#include<stdio.h>
#define ROUND(x) ((int)(x+0.5))
float xa=0,xb=50,y,m,ya=0,yb=50;
void display (void)
{
int dx=xb-xa,dy=yb-ya,steps,k;
float xIncrement,yIncrement,x=xa,y=ya;
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 0.0, 0.0);
if(abs(dx)>abs(dy))
steps=abs(dx);
else steps=abs(dy);
xIncrement=dx/(float)steps;
yIncrement=dy/(float)steps;
glBegin(GL_POINTS);
glVertex2s(ROUND(x),ROUND(y));
for(k=0; k<steps; k++)
{
x+=xIncrement;
y+=yIncrement;
glVertex2s(ROUND(x),ROUND(y));
}
glEnd();
glFlush();
}
void init(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glOrtho(-100.0, 100.0, -100.0, 100.0, -1.0, 1.0);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow ("DDA algorithm");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
TNXたくさん
ソリューションは、ウィンドウがダブルバッファリングされ、レンダリング後のバッファを交換することです。あなたは私の日を救います、なぜこのコードは他のPCで動作しますか? - Vallentin –
多くの要因がありますので、言い難い特に原因は何か私のラップトップにも赤い線が表示されましたが、画面のサイズを変更すると空白になりました。 – Vallentin