OpenGL学习(hello)
#include <gl/glut.h>
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT); // 清除颜色缓冲以及深度缓冲
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON); // 绘画開始话多边形
 /*glVertex3f(0.25, 0.25, 0.0);
 glVertex3f(0.75, 0.25, 0.0);
 glVertex3f(0.75, 0.75, 0.0);
 glVertex3f(0.25, 0.75, 0.0);*/
glutWireSphere(1.0,20.0,20.0);
glEnd();// 结束
glFlush();
}
void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0); //清空当前的全部颜色
glMatrixMode(GL_PROJECTION); //指定哪一个矩阵是当前矩阵
glLoadIdentity(); //将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);//平行投影矩阵
}
int main(int args, char* argv[])
{
glutInit(&args, (char**)argv);    // 对glut进行初始化
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 指定使用单缓存,rgb模式
glutInitWindowSize(480, 320);  // 初始化一个大小480,320的窗体
glutInitWindowPosition(100, 100); // 指定窗体的位置(左上角位置)
glutCreateWindow("Hello OpenGL"); // 定义窗体的名字
init(); // 初始化
glutDisplayFunc(display); // 回调
glutMainLoop(); // 启动程序
return 0;
}
OpenGL学习(hello)的更多相关文章
- OpenGL学习笔记3——缓冲区对象
		在GL中特别提出了缓冲区对象这一概念,是针对提高绘图效率的一个手段.由于GL的架构是基于客户——服务器模型建立的,因此默认所有的绘图数据均是存储在本地客户端,通过GL内核渲染处理以后再将数据发往GPU ... 
- OpenGL学习进程(12)第九课:矩阵乘法实现3D变换
		本节是OpenGL学习的第九个课时,下面将详细介绍OpenGL的多种3D变换和如何操作矩阵堆栈. (1)3D变换: OpenGL中绘制3D世界的空间变换包括:模型变换.视图变换.投影变换和视口 ... 
- OpenGL学习进程(11)第八课:颜色绘制的详解
		本节是OpenGL学习的第八个课时,下面将详细介绍OpenGL的颜色模式,颜色混合以及抗锯齿. (1)颜色模式: OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式. R ... 
- OpenGL学习笔记:拾取与选择
		转自:OpenGL学习笔记:拾取与选择 在开发OpenGL程序时,一个重要的问题就是互动,假设一个场景里面有很多元素,当用鼠标点击不同元素时,期待作出不同的反应,那么在OpenGL里面,是怎么知道我当 ... 
- OpenGL学习之路(一)
		1 引子 虽然是计算机科班出身,但从小对几何方面的东西就不太感冒,空间想象能力也较差,所以从本科到研究生,基本没接触过<计算机图形学>.为什么说基本没学过呢?因为好奇(尤其是惊叹于三维游戏 ... 
- OpenGL学习之路(三)
		1 引子 这些天公司一次次的软件发布节点忙的博主不可开交,另外还有其它的一些事也占用了很多时间.现在坐在电脑前,在很安静的环境下,与大家分享自己的OpenGL学习笔记和理解心得,感到格外舒服.这让我回 ... 
- OpenGL学习之路(四)
		1 引子 上次读书笔记主要是学习了应用三维坐标变换矩阵对二维的图形进行变换,并附带介绍了GLSL语言的编译.链接相关的知识,之后介绍了GLSL中变量的修饰符,着重介绍了uniform修饰符,来向着色器 ... 
- OpenGL学习之路(五)
		1 引子 不知不觉我们已经进入到读书笔记(五)了,我们先对前四次读书笔记做一个总结.前四次读书笔记主要是学习了如何使用OpenGL来绘制几何图形(包括二维几何体和三维几何体),并学习了平移.旋转.缩放 ... 
- OpenGL学习之windows下安装opengl的glut库
		OpenGL学习之windows下安装opengl的glut库 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装. Windows环境下的GLUT下载地址:(大小约为15 ... 
- OpenGL学习进程(10)第七课:四边形绘制与动画基础
		本节是OpenGL学习的第七个课时,下面以四边形为例介绍绘制OpenGL动画的相关知识: (1)绘制几种不同的四边形: 1)四边形(GL_QUADS) OpenGL的GL_QUADS图 ... 
随机推荐
- 算法:哈希表格(Hash Table)
			背景 Java 和 .Net 平台都有一个所有引用类型都会间接或直接继承的类型:Object,这个类型提供最基本的相等性比较算法和哈希算法,很多书上都给出了在重写这两个算法的时候的主意事项,其中大多数 ... 
- Selenium2+python自动化47-判断弹出框存在(alert_is_present)
			前言 系统弹窗这个是很常见的场景,有时候它不弹出来去操作的话,会抛异常.那么又不知道它啥时候会出来,那么久需要去判断弹窗是否弹出了. 本篇接着Selenium2+python自动化42-判断元素(ex ... 
- Access control configuration prevents your request from being allo
			我发现在在XP环境下我输入网易的220.181.28.42也找不到网页,就跟在LINUX下一样 都揭示: 错误 您所请求的网址(URL)无法获取 --------------------------- ... 
- 对JVM还一知半解
			对JVM还一知半解?这篇文章让你彻底搞定JVM 摘要: 对于Java开发者来说,想把自身能力提升到更高层次,某些JVM相关知识应该是优先级很高的.比如说GC策略,JVM调优. 就我在工作中遇到的情况来 ... 
- html调用servlet(JDBC在Servlet中的使用)(1)
			1.页面的数据表单 在使用Servlet处理用户请求之前,先准备一个页面,该页面用来提供数据表单.数据表单就是HTML中的<form>...</form>部分,当用户单击Sub ... 
- MySQL运行状态show status中文详解
			状态名 作用域 详细解释 Aborted_clients Global 由于客户端没有正确关闭连接导致客户端终止而中断的连接数 Aborted_connects Global 试图连接到MySQL服务 ... 
- iOS: 音效和音乐的播放,封装的工具类
			在iOS中音频播放从形式上可以分为音效播放和音乐播放.前者主要指的是一些短音频播放,通常作为点缀音频,对于这类音频不需要进行进度.循环等控制.后者指的是一些较长的音频,通常是主音频,对于这些音频的播放 ... 
- 混沌数学之Rössler(若斯叻)吸引子
			若斯叻吸引子(Rössler attractor)是一组三元非线性微分方程: frac{dx(t)}{dt} = -y(t)-z(t) frac{dy(t)}{dt} = x(t)+a*y(t) fr ... 
- 3D几何图形的生成算法
			在之前的博客上,发布了一个我写的3D几何图形生成的DEMO: http://www.cnblogs.com/WhyEngine/p/3415040.html DEMO下载地址: http://file ... 
- Java文件操作大全
			//1.创建文件夹 //import java.io.*; File myFolderPath = new File(str1); try { if (!myFolderPath.exists()) ... 
