[原]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)绘制模式为三角形时 绘制四边形

下一篇讲述 使用索引方式绘制多边形

时间: 2024-08-08 09:34:04

[原]OpenGL基础教程(一)多边形绘制的相关文章

[原]OpenGL基础教程(二)多边形绘制

上篇介绍了最基本的三角形绘制,本篇介绍如何使用索引的方式绘制多边行. 为什么要使用索引方式,总体来说提高性能.如何提高:使用顶点数组的好处是避免大量的函数调用.即避免每画一个顶点就调用1次glVertex*(). 另一个好处是避免多边形相邻顶点的冗余指定.例如正方体,分别描述6个正方形,会造成每个顶点被重复描述3次. 如果以上没有说服力,看看这个, gl.Begin(),gl.End()对是一种低效的方式,因此opengl es干脆不再支持他们了,同时高版本的opengl都在弃用gl.Begin

[原]OpenGL基础教程(四)VBO+纹理绘制四边形

工程下载地址:http://pan.baidu.com/s/1ntr7NHv 提取码:yf1h 一.本文牵扯知识点梳理: (1)VBO (2)纹理 (3)libpng(加载png) (4)shader 1.VBO(Vertex Buffer Objec) //顶点坐标   glEnableVertexAttribArray(0);//激活顶点属性数组 glGenBuffers(1, &VertexID);创建句柄   glBindBuffer(GL_ARRAY_BUFFER, VertexID)

[原]OpenGL基础教程(五)缓冲区数据更新方式

1.glBufferSubData 适用于相同数据类型 void SetPositionY(float y){    vector<Vector3<float>>::iterator ver3;    for(ver3 = vertices.begin();ver3!=vertices.end();ver3++)    {        ver3->y +=y;     }    glBindBuffer(GL_ARRAY_BUFFER,posHandler);    glB

opengl基础学习专题 (三) 多边形绘制的几种样式

题外话 聪明人之所以不会成功,是由于他们缺乏坚韧的毅力. ——艾萨克·牛顿(1643年1月4日—1727年3月31日)英国 也许可以理解为 想更深一步的时候,坚持,努力和聪明缺一不可. 挺直腰杆在此向您致敬,愿您仍在天国 仍潇洒的思索着,奔跑着. 正文 在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处. 例如:点太小,难以看清楚:直线也太细,不舒服:或者想画虚线,但不知道方法只能用许多短直线,甚至用点组合而成. 这些问题将在本课中被解决. 下面就点.直

opengl基础学习专题 (二) 点直线和多边形

题外话 随着学习的增长,越来越觉得自己很水.关于上一篇博文中推荐用一个 学习opengl的 基于VS2015的 simplec框架.存在 一些问题. 1.这个框架基于VS 的Debug 模式下,没有考虑Release版本 2.这个版本中chead,c基础头文件中有些宏设计的不好,例如 //4.0 控制台打印错误信息 #ifndef CERR #define CERR(fmt,...) fprintf(stderr,fmt,##__VA_ARGS__),putchar('\n') #endif/*

Android OpenGL ES绘图教程之三 : 绘制图形

在定义了将要被OpenGL绘制的形状之后,你当然想要绘制它们.使用OpenGL ES 2.0绘制图形需要的代码可能比你想象的要多,因为API提供了大量的图形渲染管道控制接口. 这一章将介绍如何使用OpenGL ES 2.0 API绘制上一章中定义的形状 1. 初始化形状 在你做任何的绘制操作之前,你都必须进行初始化和加载计划绘制的形状.除非在执行的过程中形状所在的结构(原坐标)发生变化,你应该在render中的onSurfaceCreated()方法中初始化它们以提高内存和执行效率. publi

概率论基础教程(中文版.原书第9版)[美]SheldonM.Ross

概率论基础教程(中文版.原书第9版)[美]Sheldon M.Ross华章数学译丛最新,2014年的版本链接:https://pan.baidu.com/s/1rVdfA1YX8c1g18ejvIn_pQ如下: 原文地址:http://blog.51cto.com/14063572/2319565

OpenGL基础图形编程

一.OpenGL与3D图形世界1.1.OpenGL使人们进入三维图形世界 我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体.我们又生活在一个充满信息的世界中,能否尽快地理解并运用这些信息将直接影响事业的成败,所以我们需要用一种最直接的形式来表示这些信息. 最近几年计算机图形学的发展使得三维表现技术得以形成,这些三维表现技术使我们能够再现三维世界中的物体,能够用三维形体来表示复杂的信息,这种技术就是可视化(Visualization)技术.

photoshop基础教程视频-贺叶铭-传智播客-笔记

界面构成 1.菜单栏 2.工具箱 3.工具属性栏 4.悬浮面板 5.画布 ctrl+n 新建对话框 (新建画布) 打开对话框:ctrl + O (Open) 画布三种显示方式切换:F 隐藏工具箱,工具属性栏,悬浮面板:TAB 缩放工具:Z alt(缩小) 切换到 暂时切换到 满画面显示 ctrl + 0 (数字) 按住空格:暂时切换到抓手(移动画布) LOGO: 标志 效果分析思路: 1.构图 2.配色 网络:Ctrl + " (参考线的单位必须和画面的单位统一) 调节网格大小:ctrl+k(首