博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用辅助库建立openGL编程环境
阅读量:2437 次
发布时间:2019-05-10

本文共 1464 字,大约阅读时间需要 4 分钟。

     openGL和Direct3D是当前主要的个人计算机3DAPI,它的最大特点是跨平台和可扩展.我在这里不想回顾它的发展历史,让我们直接进入正题,看看如何开始建立openGL程序框架.

一.使用辅助库

  这是最简单快速的建立openGL程序的方式,程序通过字符命令模式,可以在linux和windows等下运行.网上有许多介绍文章,这里不做详细介绍,而且这一般都不会使用,除非你是初学者.

      以下以Windows 下的Visual C++为例:

  1.工程中包含进相关库                        #paragma comment(lib,"glaux.lib")

  2.源代码前包括相关的头文件             #include <GL/glaux.h>

        3.调用相关函数编写openGL程序

    #paragma comment(lib,"opengl32.lib")                                             //包含openGL基本库,openGL程序一定有

    #paragma comment(lib,"glaux.lib")             //包含openGL辅助库,要用辅助函数才有

     #include "windows.h"                   //windows 下需要有,不然出错

    #include <GL/gl.h>                     //基本函数头文件

    #include <GL/glaux.h>                   //辅助函数头文件

    void myinit(void);

   void CALLBACK myReshape(GLsizei w,GLsizei h);

   void CALLBACK display(void);

    void myinit(void)

   {

       glClearColor(0.0,0.0,0.0,0.0);

       glClear(GL_COLOR_BUFFER_BIT);

   }

    void CALLBACK myReshape(GLsizei w,GLsizei h)

   {

      glViewport(0,0,w,h);

      glMatrixMode(GL_PROJECTION);

      glLoadIdentity();

      if(w<=h)

           glOrtho(-1.5,1.5,-1.5*(GLfloat)h/(GLfloat)w,

                      1.5*(GLfloat)h/(GLfloat)w,-10.0,10.0);

      else

           glOrtho(-1.5*(GLfloat)h/(GLfloat)w,

                      1.5*(GLfloat)h/(GLfloat)w,-1.5,1.5,-10.0,10.0);

      glMatrixMode(GL_MODELVIEW);

      glLoadIdentity();

     }

     void CALLBACK display(void)

   {

    glColor3f(1.0,1.0,0.0);

    auxWireSphere(1.0);

    glFlush();

    }

    void main(void)

    {

       auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);

       auxInitPosition(0,0,500,500);

       auxInitWindow("AUX_SAMPLE");

       myinit();

       auxReshapeFunc(myReshape);

       auxMainLoop(display);

 } 

转载地址:http://dhwqb.baihongyu.com/

你可能感兴趣的文章
程序员,你的逻辑思维有多强(一道推理题测试,不可错过) (转)
查看>>
COM应用软件开发技术 (bcd的文章) (转)
查看>>
JBuilder Editor中光标不能正确定位问题的解决 (转)
查看>>
XML加ASP实现网页“本地化” (转)
查看>>
Java中的异步网络编程 (转)
查看>>
用于核心模式驱动程序的网络体系结构(1) (转)
查看>>
More Effective C++ 条款20 (转)
查看>>
对美国政府电子安全官员宣称的所谓“GOVnet”安全网络分析 (转)
查看>>
一个程序员的爱恋 (转)
查看>>
足球战术->边锋之Decorator篇 (转)
查看>>
编写优质无错代码(1) (转)
查看>>
在VC中调用WORD(显示,修改,存盘,运行宏)之二去掉word的常用,格式工具栏 (转)...
查看>>
MySQL 4.1.0 中文参考手册 --- 6.3 用于 SELECT 和 WHERE 子句的函数 (1) (转)
查看>>
vs.net beta 2中利用DataGrid分页详解 (转)
查看>>
Process-Display-Process (PDP) pattern (转)
查看>>
基于构件复用的软件方法与COM支持 (转)
查看>>
DELPHI中使用API函数详解 (转)
查看>>
Single Entry Point to EJB Layer (转)
查看>>
InsideJVM(3)--Method area(方法区) (转)
查看>>
中文版Windows XP 的新增功能(转)
查看>>