2016-01-04 19 views
1

我是新与OpenGL和我试着运行这个例子(source):控制台不显示用printf任何文本用OpenGL

#include<GL/glu.h> 
#include<GL/glut.h> 
#include<stdio.h> 
#include<stdlib.h> 

int xa,xb,ya,yb; 
void display (void) 
{ 
int dx=xb-xa; 
int dy=yb-ya; 
int p0 = 2*dy - dx; 
float x=xa,y=ya; 

glClear (GL_COLOR_BUFFER_BIT); 

glColor3f (0.0, 1.0, 0.0); 
glBegin(GL_POINTS); 
glVertex2i(x,y); 
int p =p0; 
int k; 
for(k=0;k<dx;k++) 
{ 
if(p<0) 
{ 
x = x+1; 
glVertex2i(x,y); 
} 

else 
{ 
    x = x+1; y = y+1; 
    glVertex2i(x,y); 
} 
} 

glEnd(); 
glFlush(); 
} 

void init(void) 
{ 
glClearColor (0.0, 0.0, 0.0, 0.0); 
glMatrixMode(GL_PROJECTION); 
glLoadIdentity(); 
glOrtho(-100.0, 100.0, -100.0, 100.0, -1.0, 1.0); 
} 

int main(int argc, char** argv) 
{ 
printf("Enter the points\n(X1,Y1,X2,Y2):-\n"); 
scanf("%d %d %d %d",&xa,&ya,&xb,&yb); 
glutInit(&argc, argv); 
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); 
glutInitWindowSize (500, 500); 
glutInitWindowPosition (100, 100); 
glutCreateWindow ("Breshanman Line Algorithm "); 
init(); 
glutDisplayFunc(display); 
glutMainLoop(); 
return 0; 
} 

但是,任何printf命令不显示在控制台上的消息,我用printf测试了其他代码,得到了相同的结果。 CodeBlocks不显示任何错误。

+0

哪个'printf(“something”)'? – Reigertje

+0

对不起,我的意思是代码中使用的任何printf命令。 – alekar

+1

你真的有一个控制台窗口吗? –

回答

0

在将库gdi32,comdlg32和user32添加到链接库时工作过。