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 练习10 Approximation of Sphere

Nice! #include #include #include //a point data type typedef GLfloat point3[3]; point3 v[] = {{...

screensaver opengl -work of year2

  • 2011年09月23日 16:29
  • 469KB
  • 下载

关于 INSTEAD OF 触发器

快生三星了,好歹也得在CSDN上留点什么以示水平不低吧,但总是不知道该写什么,只善于回答问题,不善于总结问题。近来在坛子上经常看到有问触发器的,而且大多是要求实现在一定条件下不向表中进行操作的触发器,...

test obj opengl

  • 2017年11月28日 12:56
  • 3KB
  • 下载

opengl shader language 烹饪书

  • 2017年11月21日 09:32
  • 7.3MB
  • 下载

高斯拉普拉斯算子(Laplace of Gaussian)

本文主要对Log(laplace of gaussian)算子进行了简单的介绍,Log算子通过采用高斯函数对原图像进行卷积操作,减少噪声和离散点的影响,接着应用Laplace算子来检测过零点,从而实现...
  • kezunhai
  • kezunhai
  • 2013年09月11日 22:57
  • 16230

OpenGL Data Visualization Cook Book

  • 2017年11月10日 14:25
  • 4.93MB
  • 下载

OpenGL参考手册

  • 2017年11月21日 16:12
  • 1.34MB
  • 下载

Bag-of-words模型入门介绍文章

入门文章
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:superPrimer of openGL >_<
举报原因:
原因补充:

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