求助:opengl画图,输出的结果不对[已改正]

软件和网站开发以及相关技术探讨
回复
shirazbj
帖子: 333
注册时间: 2010-01-30 18:38

求助:opengl画图,输出的结果不对[已改正]

#1

帖子 shirazbj » 2012-12-18 9:01

用画点的方法,填充一个矩形。结果右下角不对。另怎么截图当前窗口呀?一按prtscr, 抓的是整个桌面。

代码如下,那错了?

谢谢

代码: 全选

#include <GL/glut.h>

int iwidth=1000;
int iheight=300;

void MyReshape(int w, int h)
{
        glViewport(0, 0, w, h);
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        glOrtho (0, iwidth, 0, iheight, 0, 1);
        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();
}

void display()
{
     glClear(GL_COLOR_BUFFER_BIT);
     glBegin(GL_POLYGON);
     int i;
     int j;
     for (j=0;j<iheight;j++)
     {
         for (i=0;i<iwidth;i++)
         {
             glVertex2f(i, j);
         }
     }
     glEnd();
     glFlush();
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitWindowSize(iwidth, iheight);
    glutCreateWindow("simple");
    glutReshapeFunc(MyReshape); 
    glutDisplayFunc(display);
    glutMainLoop();
}
上次由 shirazbj 在 2012-12-20 6:12,总共编辑 1 次。
免费NanoCAD=免费DraftSight+可API编程(用.net或者vbs和java脚本)=白白 AutoCAD
http://nanocad.com/
头像
zhw2101024
帖子: 1849
注册时间: 2009-03-28 16:10
系统: Arch debian win7
联系:

Re: 求助:opengl画图,输出的结果不对

#2

帖子 zhw2101024 » 2012-12-19 16:58

感觉应该检查一下循环的结束条件,比如说是小于还是小于等于。
shirazbj
帖子: 333
注册时间: 2010-01-30 18:38

Re: 求助:opengl画图,输出的结果不对

#3

帖子 shirazbj » 2012-12-19 19:02

zhw2101024 写了:感觉应该检查一下循环的结束条件,比如说是小于还是小于等于。
输出是这样的

改成
for (j=0+10;j<iheight-10;j++)
{
for (i=0+10;i<iwidth-10;i++)

也不对呀
附件
gl2.png
gl2.png (3.9 KiB) 查看 1906 次
免费NanoCAD=免费DraftSight+可API编程(用.net或者vbs和java脚本)=白白 AutoCAD
http://nanocad.com/
头像
zhw2101024
帖子: 1849
注册时间: 2009-03-28 16:10
系统: Arch debian win7
联系:

Re: 求助:opengl画图,输出的结果不对

#4

帖子 zhw2101024 » 2012-12-19 20:27

没写过opengl程序。觉得调试也是编程的一大乐趣啊,不要只想要结果,享受过程吧。把自带的例子好好看一下,肯定有跟你的需求接近的,仔细对比一下代码看有何不同之处。
shirazbj
帖子: 333
注册时间: 2010-01-30 18:38

Re: 求助:opengl画图,输出的结果不对

#5

帖子 shirazbj » 2012-12-20 6:11

原来是display里的glbegin错了。
应该用点,不是多边形。
我先画的多边形,想改称用点填充,这里忘了改了。
免费NanoCAD=免费DraftSight+可API编程(用.net或者vbs和java脚本)=白白 AutoCAD
http://nanocad.com/
回复