| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1199 人关注过本帖
标题:第一个opengl程序
只看楼主 加入收藏
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
结帖率:95.45%
收藏
 问题点数:0 回复次数:5 
第一个opengl程序
程序代码:
#include <GL/glut.h>
GLfloat thera=0;
GLfloat t=360;
void myDisplay()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    //glutSolidCube(0.5);

    
    //glut中的二次曲面
    //glutWireSphere(10,20,20);
    //glutWireTorus(3,10,20,20);

    //任意固定点的旋转
    //glTranslatef(3,0,0);
    //glRotatef(90,0,1,0);
    //glTranslatef(-3,0,0);
    //glutWireTeapot(3);

    //旋转动画生成
    glPushMatrix();
    glRotatef(thera,0.0,1.0,0.0);

    //缩放
    //glScalef(1.0,1.0,1.0);
    glutWireCube(2);
    glPopMatrix();

    glPushMatrix();
    glColor3f(1.0,0.0,0.6);
    glRotatef(t,0.0,0.5,0.5);

    //缩放
    //glScalef(1.0,1.0,1.0);
    glutWireCube(2);
    glPopMatrix();
     

    glColor3f(0.0,0.4,0.2);
    glBegin(GL_LINES);
        glVertex3i(0,-5,0);
        glVertex3i(0,5,0);
    glEnd();

    //二次曲面
    //GLUquadricObj *obj=gluNewQuadric();
    //gluQuadricDrawStyle(obj,GLU_LINE);
    //gluSphere(obj,10,20,20);
    //gluCylinder(obj,10,5,7,15,15);
    //gluDisk(obj,3,10,20,15);
    //glFlush();
    glutSwapBuffers();
}

void init()
{
    glEnable(GL_DEPTH_TEST);
    glClearColor(1.0,1.0,1.0,0.0);
    glColor3f(0.0,0.0,0.0);

    /*glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-10.0,10.0,-10.0,10.0,-10.0,50.0);*/

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glFrustum(-5.0,5.0,-5.0,5.0,12,20.0);
    //gluPerspective(90,1,1.0,50.0);


    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    gluLookAt(10.0,10.0,10.0,0.0,0.0,0.0,0.0,1.0,0.0);
}
/*void lineSegment(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.0,0.4,0.2);
    glBegin(GL_LINES);
        glVertex2i(180,15);
        glVertex2i(10,145);
    glEnd();
    glFlush();
    
}*/


void idle()
{
    if (thera<360)
        thera+=0.1;
    else
        thera-=360;
    if (t>0)
        t-=0.1;
    else
        t+=360;
    glutPostRedisplay();
}
//在指定区域显示完整图形
/*void reshape(int w,int h)
{
    glViewport(0,0,500,500);
}*/

void main(int argc,char**argv)
{
    glutInit(&argc,argv);                                   //GLUT初始化
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);            //初始化显示模式
    glutInitWindowPosition(50,50);                          //初始化windows窗口位置
    glutInitWindowSize(500,500);                            //初始化windows窗口尺寸
    glutCreateWindow("simple");                             //创建窗口
    //glutReshapeFunc(reshape);
    glutIdleFunc(idle);
    glutDisplayFunc(myDisplay);                             //注册绘制函数
    init();
    glutMainLoop();                                         //消息处理循环
}
搜索更多相关主题的帖子: color 
2015-04-24 20:31
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
刚接触opengl做的第一个opengl程序与大家分享下

一片落叶掉进了回忆的流年。
2015-04-24 20:32
BlueGuy
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
学一个opengl 写的2d游戏引擎 cocos2d-x

我就是真命天子,顺我者生,逆我者死!
2015-06-04 23:03
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
以下是引用BlueGuy在2015-6-4 23:03:38的发言:

学一个opengl 写的2d游戏引擎 cocos2d-x

不会写

一片落叶掉进了回忆的流年。
2015-06-05 18:53
BlueGuy
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 4楼 诸葛欧阳
你理解错啦,

我就是真命天子,顺我者生,逆我者死!
2015-06-05 23:45
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
效果挺好

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2019-06-25 12:17
快速回复:第一个opengl程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023972 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved