opengl画线段什么不显示
有大神帮忙看下://ConsoleApplication3.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include<gl/glut....
有大神帮忙看下:
// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <gl/glut.h>
#include <gl/glu.h>
#include <gl/GL.h>
#include <windows.h>
void Initial()
{
glMatrixMode(GL_PROJECTION); //设置投影参数
gluOrtho2D(0.0,200.0,0.0,150.0);
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT) ;
glColor3f(1.0, 1.0, 1.0) ;
glBegin(GL_LINES) ;
glVertex3f(0.25, 0.25, 0.0) ;
glVertex3f(0.75, 0.25, 0.0) ;
glEnd() ;
glFlush() ;
}
int main(int argc,char* argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(200,200);
glutInitWindowSize(400,400);
glutCreateWindow ("Opengl程序");
glutDisplayFunc (&display);
Initial();
glutMainLoop();
return 0;
}
我发错了是这样的: glVertex3f(-1.0f, 0.0f, 0.0f) ;
glVertex3f(1.0f,0.0f, 0.0f) ; 展开
// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <gl/glut.h>
#include <gl/glu.h>
#include <gl/GL.h>
#include <windows.h>
void Initial()
{
glMatrixMode(GL_PROJECTION); //设置投影参数
gluOrtho2D(0.0,200.0,0.0,150.0);
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT) ;
glColor3f(1.0, 1.0, 1.0) ;
glBegin(GL_LINES) ;
glVertex3f(0.25, 0.25, 0.0) ;
glVertex3f(0.75, 0.25, 0.0) ;
glEnd() ;
glFlush() ;
}
int main(int argc,char* argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(200,200);
glutInitWindowSize(400,400);
glutCreateWindow ("Opengl程序");
glutDisplayFunc (&display);
Initial();
glutMainLoop();
return 0;
}
我发错了是这样的: glVertex3f(-1.0f, 0.0f, 0.0f) ;
glVertex3f(1.0f,0.0f, 0.0f) ; 展开
展开全部
glVertex3f(0,0,0);
glVertex3f(0.0,0.0,5.0);
这个垂直于屏幕,永远不会被绘制。
另外glOrtho (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);设定了Z坐标为(-1.5到-20.0)的才会被复制,可是你画的两条线
glVertex3f(0,0,0);
glVertex3f(5.0,0.0,0.0);
glVertex3f(0,0,0);
glVertex3f(0.0,5.0,0.0);
都不在(-1.5~-20.0)范围内,所以不会被绘制。
修改成glOrtho (-1.0, 1.0, -1.0, 1.0, 0.0, 20.0);显示正常。
glVertex3f(0.0,0.0,5.0);
这个垂直于屏幕,永远不会被绘制。
另外glOrtho (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);设定了Z坐标为(-1.5到-20.0)的才会被复制,可是你画的两条线
glVertex3f(0,0,0);
glVertex3f(5.0,0.0,0.0);
glVertex3f(0,0,0);
glVertex3f(0.0,5.0,0.0);
都不在(-1.5~-20.0)范围内,所以不会被绘制。
修改成glOrtho (-1.0, 1.0, -1.0, 1.0, 0.0, 20.0);显示正常。
追问
我发错了是这样的: glVertex3f(-1.0f, 0.0f, 0.0f) ;
glVertex3f(1.0f,0.0f, 0.0f) ;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询