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) ;
展开
 我来答
苍狼_白鹿
2015-08-29 · TA获得超过11.8万个赞
知道大有可为答主
回答量:1.9万
采纳率:82%
帮助的人:5459万
展开全部
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(-1.0f, 0.0f, 0.0f) ;
glVertex3f(1.0f,0.0f, 0.0f) ;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式