[原]OpenGL基础教程(一)多边形绘制
1、opengl开发环境搭建 参考http://brothergrup.iteye.com/blog/1602471
2、为三角形填充颜色:
填充颜色函数为glColor(3/4)*(r,g,b) 3或4 表示 rgb/rgba;* 表示rgba的数值类型(b,i..) 最终都会被映射到[0-1].
如何映射的呢 就是拿写的值/当前类型最大值 比如byte是-128~127 glColor3b(1,0,0) 等价于 glColor3f(1/127f,0,0) 小于0的 就当0处理
void renderScene(void)
{
........
//每个顶点赋值成红色
glVertex3f(-0.5,-0.5,0.0);
glColor3b(127,0,0);
glVertex3f(0.5,0.0,0.0);
glColor3b(127,0,0);
glVertex3f(0.0,0.5,0.0);
glColor3b(127,0,0);
..........
}
3、绘制四边形
注意 选择四边形模式时 四个顶点按照顺序来画,顺时针或者逆时针。
void renderScene(void)
{
glBegin(GL_QUADS); //四边形模式绘制
glVertex3f(-0.5,-0.5,0.0);
glColor3f(1.0,0,0);
glVertex3f(0.5,-0.5,0.0);
glColor3f(1.0,0,0);
glVertex3f(0.5,0.5,0.0);
glColor3f(1.0,0,0);
glVertex3f(-0.5,0.5,0.0);
glColor3f(1.0,0,0);
glEnd();
}
假如颠倒3,4顶点的次序 ,发生混乱 如图:

(2)绘制模式为三角形时 绘制四边形

下一篇讲述 使用索引方式绘制多边形
[原]OpenGL基础教程(一)多边形绘制的更多相关文章
- [原]OpenGL基础教程(二)多边形绘制
上篇介绍了最基本的三角形绘制,本篇介绍如何使用索引的方式绘制多边行. 为什么要使用索引方式,总体来说提高性能.如何提高:使用顶点数组的好处是避免大量的函数调用.即避免每画一个顶点就调用1次glVert ...
- [原]OpenGL基础教程(四)VBO+纹理绘制四边形
工程下载地址:http://pan.baidu.com/s/1ntr7NHv 提取码:yf1h 一.本文牵扯知识点梳理: (1)VBO (2)纹理 (3)libpng(加载png) (4)shader ...
- [原]OpenGL基础教程(五)缓冲区数据更新方式
1.glBufferSubData 适用于相同数据类型 void SetPositionY(float y){ vector<Vector3<float>>::itera ...
- Android UI基础教程 目录
从csdn下载了这本英文版的书之后,又去京东搞了一个中文目录下来.对照着看. 话说,这本书绝对超值.有money的童鞋看完英文版记得去买中文版的~~ Android UI基础教程完整英文版 pdf+源 ...
- opengl基础学习专题 (三) 多边形绘制的几种样式
题外话 聪明人之所以不会成功,是由于他们缺乏坚韧的毅力. ——艾萨克·牛顿(1643年1月4日—1727年3月31日)英国 也许可以理解为 想更深一步的时候,坚持,努力和聪明缺一不可. 挺直腰杆在此向 ...
- opengl基础学习专题 (二) 点直线和多边形
题外话 随着学习的增长,越来越觉得自己很水.关于上一篇博文中推荐用一个 学习opengl的 基于VS2015的 simplec框架.存在 一些问题. 1.这个框架基于VS 的Debug 模式下,没有考 ...
- MFC+OpenGL基础绘制<转>
转载地址:https://blog.csdn.net/u013232740/article/details/47904115 ------------------------------------- ...
- OpenGL基础图形编程
一.OpenGL与3D图形世界1.1.OpenGL使人们进入三维图形世界 我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体.我们又生活在一个充 ...
- 【转】OpenGL基础图形编程(一)
原文:http://blog.chinaunix.net/uid-20638550-id-1909183.html 分类: 一.OpenGL与3D图形世界 1.1.OpenGL使人们进入三维图形世界 ...
随机推荐
- 以添加评论组件为例看angular2请求数据的处理
在NiceFish项目中,数据请求处理并没有用Promise的那一套方法,用的是Observable(观察者模式),我将其理解成生产者和消费者模式 如下简单例子:出自(https://segmentf ...
- VirtualBox 扩展包卸载或安装失败(VERR_ALREADY_EXISTS)(转)
文章出处:http://blog.csdn.net/leshami/article/details/9232229 最近在卸载VirtualBox出现了无法卸载的错误.提示为Failed to ins ...
- Spark Stage切分 源码剖析——DAGScheduler
Spark中的任务管理是很重要的内容,可以说想要理解Spark的计算流程,就必须对它的任务的切分有一定的了解.不然你就看不懂Spark UI,看不懂Spark UI就无法去做优化...因此本篇就从源码 ...
- Spring boot设置文件上传大小限制
原文:https://blog.csdn.net/lizhangyong1989/article/details/78586421 Spring boot1.0版本的application.prope ...
- C++11 多线程编程 使用lambda创建std::thread (生产/消费者模式)
要写个tcp server / client的博客,想着先写个c++11多线程程序.方便后面写博客使用. 目前c++11中写多线程已经很方便了,不用再像之前的pthread_create,c++11中 ...
- windows server 2008 R2安装图片浏览器/照片查看器方法
有用户的电脑安装了windows server 2008 R2,浏览大量图片时很不方便,因为系统中没有照片查看器或图片浏览器.其实,win2008 R2是有照片查看器的,只是默认情况下没有开启.参考以 ...
- Swift 编程语言【转载+整理】
原文地址 在过去的几年中,移动应用程序风靡全世界并且已经改变了我们使用互联网进行工作或者休闲的方式.为了创建移动应用程序,各种技术应运而生,同时开发过程也开始将其作为一等公民来对待.尽管移动似乎已经无 ...
- Web 安全 之 OpenSSL
什么是OpenSSL协议? SSL(Secure SocketLayer,安全套接层)协议是使用最为普遍网站加密技术,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技 ...
- c++11 简明学习
https://coolshell.cn/articles/5265.html http://www.cnblogs.com/me115/p/4800777.html#h29 https://chan ...
- 阿里云k8s应用最新日志采集不到的问题
问题描述: 阿里云k8s应用日志之前一直都是可以正常的采集, 先出现一问题, 通过kibana 和阿里云的日志服务都没法展示最新的k8s应用的日志, 部分应用的最新日志有被采集到,但大部分应用日志没有 ...