OpenGL(全写Open GraphicsLibrary)是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。

说白了,就是OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C++紧密接口,我们可以在VC++下进行编程(vs)

类似于OpenGL的图形软件包有很多比如微软的图形API,   OSG等等。其中OSG与       OpenGL的关系就好像是C++与C语言的关系,现在关于图形方面的编程大部分都在使用OSG,但是个人感觉先把OpenGL学会,再去了解OSG会更加方便。当我们了解了绘制图形的基本步骤和原理时,再去学习其他方面的图形知识会更加深刻。

初学者可以参看 ”OpenGL编程指南”,这本书个人感觉讲的不错,刚开始学习时可能对于初学者来说有点云里雾里,不过经过一段时间的熟悉,往后多看几章,就明白所说的道理了。

解释下什么是图形软件包(可以理解为SDK),这个可以理解为编写图形程序的一系列API函数,类似于C++的MFC一样,我们可以根据软件开发包中的函数来编写自己的程序。

编写OpenGL的程序需要用到三个文件,库文件,动态链接文件,头文件,具体的资源下载和配置方法请参看

配置方法        http://blog.csdn.net/u014028070/article/details/44300379

OpenGL学习笔记之了解OpenGL的更多相关文章

  1. OpenGL学习笔记之配置OpenGL

    OpenGL是计算机图形学领域的一门入门语言,OpenGL开发库的一些文件在官网上可以下载到.里面包含三个文件,如下: 1.把在OpenGL开发库中LIB(库文件)glut.lib和glut32.li ...

  2. OpenGL学习笔记3——缓冲区对象

    在GL中特别提出了缓冲区对象这一概念,是针对提高绘图效率的一个手段.由于GL的架构是基于客户——服务器模型建立的,因此默认所有的绘图数据均是存储在本地客户端,通过GL内核渲染处理以后再将数据发往GPU ...

  3. OpenGL学习笔记:拾取与选择

    转自:OpenGL学习笔记:拾取与选择 在开发OpenGL程序时,一个重要的问题就是互动,假设一个场景里面有很多元素,当用鼠标点击不同元素时,期待作出不同的反应,那么在OpenGL里面,是怎么知道我当 ...

  4. OpenGL学习笔记0——安装库

    最近需要做一个基于Zigbee室内无线定位的系统,受到TI公司ZigBee Sensor Monitor软件的启发,打算用OpenGL来做一个3D显示空间内物体位置的程序.学习阶段选择VS2010+O ...

  5. opengl学习笔记(一)

    ubuntu下opengl的安装及配置 OpenGL 是一套由SGI公司发展出来的绘图函数库,它是一组 C 语言的函数,用于 2D 与 3D 图形应用程序的开发上.OpenGL 让程序开发人员不需要考 ...

  6. OpenGL学习笔记2017/8/29

    OpenGL学习日志: 感谢doing5552 的OpenGL入门学习:http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html 相 ...

  7. OpenGL学习笔记(六)坐标系统

    目录 一.衔接 二.概述 三.各个坐标系统 局部空间 世界空间 观察空间 裁剪空间 四.两种投影矩阵 正射投影 透视投影 五.把它们都组合到一起 六.编码实现 1. 实现卡片旋转 2. 实现正方体旋转 ...

  8. opengl学习笔记(二):使用OpenCV来创建OpenGL窗口

    通常的增强现实应用需要支持OpenGL的OpenCV来对真实场景进行渲染.从2.4.2版本开始,OpenCV在可视化窗口中支持OpenGL.这意味着在OpenCV中可轻松渲染任何3D内容. 若要在Op ...

  9. OpenGL学习笔记(二)画三角形

    目录 渲染管线(Graphics Pipeline) 编码实现 顶点数据 顶点缓冲对象(VBO) 顶点着色器 编译着色器 片段着色器 着色器程序 链接顶点属性 顶点数组对象 最终绘制三角形 索引缓冲对 ...

随机推荐

  1. kickstrat

    定制部分 硬盘分区 root密码 网络地址 公共部分 %pre% %post% tcp调优 集中配置程序(ansible) sudo配置

  2. AX函数,将EXCEL列号转为列名

    str GetExcelColName( int i_col) { int j; str ret; int v_div,v_mod; str tmp1,tmp2; int i_col_ascii; ; ...

  3. mem中需找特定字符

    memstr //find 'substr' from a fixed-length buffer //('full_data' will be treated as binary data buff ...

  4. jquery+javascript编写国籍控件

    主要功能和界面介绍 国籍控件主要支持中文.英文过滤以及键盘上下事件. 源码介绍 国籍控件核心是两个文件,navtionality.js 和 mian.css.navtionality.js主要功能是国 ...

  5. 学习java 第1天

    自己是刚刚开始自学java看了视频和书 =-=,刚开始我先对命令窗口进行了一个大体上的了解 ,首先是打开,可以右键开始键,然后选择命令提示符,我更喜欢第二种,就是使用Win+R,然后输入cmd进入,我 ...

  6. 判断jquery是否已经加载,如果没有动态加载

    方法一: // Only do anything if jQuery isn't defined if (typeof jQuery == 'undefined') { if (typeof $ == ...

  7. C++ 必知必会:条款16 指向成员函数的指针并非指针

    这一点与指向成员的指针类似,其实现可能更加复杂,因为成员函数同时还存在虚拟函数,需要动态绑定执行动作.当然这种属性是属于函数本身的,此处表达的是指针不涉及函数的属性问题. 1: class shape ...

  8. Linux 不挂载设备,获取设备的文件系统信息

    块设备挂载后,可以通过df 或者 mount命令查看设备的文件系统信息.然而,有时候需要在不挂载设备的情况下予以判断,此时可以使用如下的方法: (1)查看文件系统类型 命令: file -sL /de ...

  9. linux安装桌面环境(GNOME)VNC连接Linux

    1.安装Gnome桌面 这里是使用的脚本安装.代码如下:  加附件 #!/bin/sh #This script is FREE and written by www.vpsyou.com   # i ...

  10. MongoDB简述

    简介 MongoDB is an open-source document database that provides high performance, high availability, an ...