superPrimer of openGL >_<

原创 2005年04月27日 17:26:00

一、骨干

1.要使用openGL提供的3D功能函数,只要在VC控制台项目中加入以下三个Libglu32.libglaux.libopengl32.lib。我是在下面这个地方找到的:C:/Program Files/Microsoft Visual Studio/VC98/Lib,反正这是VC提供的,肯定在其安装目录下面就是了。

2.VC项目里,建一个C++源文件,拷入以下代码:

#include <windows.h>       

#include <GL/gl.h>

#include <GL/glu.h>

#include <GL/glaux.h>

//openGL窗口的绘制函数

void CALLBACK display(void)

{

      glBegin(GL_LINES);           //开始画一根线段

      glColor3f (1.0f, 1.0f, 1.0f);    //设置颜色

      glVertex2f(10.0f, 50.0f);      //第一个端点坐标

      glVertex2f(110.0f, 50.0f);     //第二个端点坐标    

      glEnd();      //画线结束

      glFlush ();   //绘图结束

}

int main(int argc, char** argv)

{         

      auxInitWindow ("Hello OpenGL");   //初始化openGL窗口,设置标题

      auxMainLoop(display);        //循环运行display过程

      return(0);  

}

3.编译执行即可,可以一个小窗口跳出来,里面画了一条线!

#include <windows.h>       

#include <GL/gl.h>

#include <GL/glu.h>

#include <GL/glaux.h>

//openGL窗口的绘制函数

void CALLBACK display(void)

{

      glBegin(GL_LINES);           //开始画一根线段

      glColor3f (1.0f, 1.0f, 1.0f);    //设置颜色

      glVertex2f(10.0f, 50.0f);      //第一个端点坐标

      glVertex2f(110.0f, 50.0f);     //第二个端点坐标    

      glEnd();      //画线结束

      glFlush ();   //绘图结束

}

int main(int argc, char** argv)

{         

      auxInitWindow ("Hello OpenGL");   //初始化openGL窗口,设置标题

      auxMainLoop(display);        //循环运行display过程

      return(0);  

}

3.编译执行即可,可以一个小窗口跳出来,里面画了一条线!

注:这个openGL窗口是一个标准的windows窗口,看到包含头文件里的那个windows.h了吗?不过那些乱八七糟的工作已经被封装在auxMainLoop()函数里了,多好!不用管什么窗口类注册、初使化、消息循环等等东西了。

4.上面程序中,橙黄色部分可以自己设定,改下看看效果?

二、添叶加枝

1.默认的openGL窗口太小了,自己指定一个:
      auxInitPosition (100, 100, 400, 400);

注:要保证在main函数的auxMainLoop(display);之前。看看效果,自己

摸索窗口的坐标系。

2.是不是发现怎么改glColor3f (1.0f, 1.0f, 1.0f);的参数,颜色都还是暗红色的?需要把显示模式设成RGB

auxInitDisplayMode (AUX_RGB);

注:要保证在main函数的 auxInitWindow ("Hello OpenGL£¡");之前。

3.设置openGL窗口的背景颜色:

glClearColor (0.0, 0.0, 0.0, 0.0);

注:要保证在main函数的auxMainLoop(display);

4.响应按键效果

a 首先在main中加入这么一句:
auxKeyFunc(AUX_0,cc);

注:要保证在main函数的auxMainLoop(display);

b. 写这个函数:
void CALLBACK cc()

{glClearColor (1.0, 1.0, 0.0, 1.0);}

注:前面已经说过这个函数了,就是设定窗口的背景颜色。

编译执行,可以发现按0的时候,窗口背景颜色被改变。

5.还有好多函数,有兴趣就去下面的网页,作入门很不错:
http://202.113.12.9/chinese/teaching/fundamental/kejian/

http://graphics.stanford.edu/courses/cs248-96-winter/Assignments/libaux.html

openGL与openGL ES 的区别

OpenGL与OpenGL-ES简介  OpenGL      是由SGI公司开发的一套3D图形软件接口标准,由于具有体系结构简单合理、使用方便、与操作平台无关等优点,OpenGL迅速成为一种3D...
  • pizi0475
  • pizi0475
  • 2016年01月29日 17:00
  • 1987

Win7下的OpenGL安装

通常所说的OpenGL的函数库为GL和GLU库,这两个库与操作系统和显卡驱动有关,不能手动升级或更新,这个需要电脑搭载的显卡和驱动的支持。也因此,这两个库:GL和GLU是不需要手动安装的,操作系统和编...
  • u011501388
  • u011501388
  • 2016年11月10日 20:51
  • 4379

OPENGL 数组

OpenGL. 顶点数组. Buffer Object üOpenGL提供顶点数组函数 启用数组: glEnableClientState(GLenum array);来启动指定的数组 参数可...
  • linsoiler1
  • linsoiler1
  • 2012年08月07日 15:39
  • 901

OpenGL es 流水线与驱动

一、OpenGL ES Pipeline的概念: OpenGL es 流水线就是将用户输入的3D数据经过一系列的处理最终生成用户在屏幕上看到的3D图像。这一过程由一系列专业的模块组成,如下图所示。 ...
  • hudfang
  • hudfang
  • 2015年12月08日 09:46
  • 1062

[实例]OpenGL绘制茶壶(光照、三维变换)

#include #ifdef __APPLE__ #include #else #include #endif #include double angle = 0.0; static ...
  • Mahabharata_
  • Mahabharata_
  • 2016年08月25日 22:55
  • 4901

OpenGL(七) 光照模型及设置

OpenGL把现实世界中的光照系统近似归为三部分,分别是光源、材质和光照环境。 光源就是光的来源,是“光”这种物质的提供者; 材质是指被光源照射的物体的表面的反射、漫反射(OpenGL不考虑...
  • dcrmg
  • dcrmg
  • 2016年11月10日 23:42
  • 7631

OpenGL ES 入门 (一)

opengl 为免费的2D 3D图形api软件库,在android上应用的是一个分支子集 opengl es,可能在平常使用中少有接触到这些个api,一般的app层面操控接触的都是view层面,往下构...
  • jscese
  • jscese
  • 2015年12月09日 16:37
  • 10318

OpenGL特点及功能

  刚毕业不久的时候参加过一个项目就是OpenGL相关的开发,自己在大学里面都不知道这玩意。刚接手非常郁闷,还好有高手带我们这种新兵蛋子。当时是用.net框架的C++开发,对于刚毕业没多久的人确实是一...
  • hantiannan
  • hantiannan
  • 2009年09月07日 22:16
  • 3133

opengl:绘制球体

数学基础球面参数方程球面的参数曲线可以用球坐标表示,引入参数u,v,其中v是球面点与原点的连线与z轴正向的夹角,u表示连线在xy平面的投影与x轴正向的夹角,如下图所示:则球面参数方程可以表示为:球面法...
  • majing19921103
  • majing19921103
  • 2015年04月13日 01:47
  • 13141

教你一步一步用OpenGL写游戏——前言

关于这套教程这是一个系列的教程。在这套教程里,我将会把之前用OpenGL+Qt做过的一款游戏和大家分享,并且从头到尾一步步分析整个游戏的实现过程和架构设计。 关于写这些东西的目的,我想大概有三点吧:...
  • androidcon
  • androidcon
  • 2016年07月05日 15:25
  • 3924
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:superPrimer of openGL >_<
举报原因:
原因补充:

(最多只允许输入30个字)