OpenGL函数库详解
1.glClear(GLbitfield mask);
功能;用预先设置的值清除缓冲区。
参数说明;mask指定被刷新的缓冲区,可以是GL_COLOR_BUFFER_BIT. GL_DEPTH_BUFFER_BIT ,GL_ACCUM_BUFFER_BIT, GL_STENCIL_BUFFER_BIT
GL_COLOR_BUFFER_BIT.表示颜色缓冲区
GL_DEPTH_BUFFER_BIT ,表示深度缓冲区
GL_ACCUM_BUFFER_BIT,表示累积缓冲区
GL_STENCIL_BUFFER_BIT表示模板缓冲区
2.glClearColor(GLelamof red,GLelamof green,Glelamof blue, Glelampf alpha);
功能;指定颜色缓冲区的清除值
参数说明;初始值0,取值范围[0,1]
3.glClearDepth();
功能;指定深度缓冲区的清除值
参数说明;初始值0,取值范围[0,1]
4.glClearIndex();
功能;指定颜色索引缓冲区的清除值
参数说明;初始值0,取值范围[功能;指定颜色缓冲区的清除值
参数说明;初始值0,取值范围[0,1]0,1]
5.glClearAccum();
功能;用于设置累积缓冲区的清除值
参数说明;初始值0,取值范围[0,1]
6.glClearStencil();
功能;设置模板缓冲区的清除值
参数说明;初始值0,取值范围[0,1]
7.glColor3{b,d,f,s,i,ub,ui,us}();
功能;设置当前的绘图颜色
参数说明;取值范围[0.0,1.1]
8.glColor4();
功能;设置当前的绘图颜色
参数说明;取值范围[0.0,1.1]
9.glFinish(void);
功能;在有限时间内强制执行opengl命令
消隐
在三维空间中,一些物体遮挡另一个物体是很自然的事,而且这种遮挡关系随视点的不同而不同,清除一个物体被其他物体挡住的部分的操作称为消隐;
10.3.glClearDepth(GLelampd depth);
功能;指定深度缓冲区的清除值
参数说明;depth指定清除缓冲区时用的深度值。初始值1,也就是刷新深度buffer后,深度buffer为窗口中每一个像素点设置的深度值。
进行消隐时启用深度测试,11.glEnable(GL.GL_DEPTH_TEST);
12.glDepthFunc(GLenum func);
功能;指定用于深度缓冲比较值。
参数说明;func指定深度比较函数,GL_NEVER,GL_LESS,GL_EQUAL,GL_LEQUAL,GL_GREATER,GL_NOTE_QUAL,GL_GEQUAL,GL_ALWAYS,缺省值GL_LESS,
GL_NEVER,不通过(输入的深度值不取代参考值)
GL_LESS,如果输入的深度值小于参考值,则通过
GL_EQUAL,如果输入的深度值等于参考值,则通过
GL_LEQUAL,如果输入的深度值小于或等于参考值,则通过
GL_GREATER,如果输入的深度值大于参考值,则通过
GL_NOTE_QUAL,如果输入的深度值不等于参考值,则通过
GL_GEQUAL,如果输入的深度值大于或等于参考值,则通过
GL_ALWAYS,总是通过(输入的深度值取代参考值)
构造图形
13.glBegin(GLenum mode)
参数说明;mode
GL_POINT 单个点
GL_LINES线
GL_LINE_STRIP 折线
GL_LINE_LOOP 闭合线
GL_TRIANGLES 多个三角形
GL_TRIANGLES 相连的三角形
GL_TRIANGLE_FAN 三角形扇
GL_QUADS 多个四边形
GL_QUADS_STRIP 相连的四边形
GL_POLYGON 凸多边形
glVertex 设置定点坐标
glColor 设置当前颜色
glIndex 设置当前调色板索引
glNormal 设置当前法线向量
glEvalCoord 生成一维或二维坐标
glCallList,glCallLists 执行显示列表
glTexCoord 设置纹理坐标
glEdgeFlag 标志边缘是否为边界
glMaterial 设置材质属性
14.glEnd();
15. glPointSize(GLfloat size)
功能;指定光栅化的点的直径
初始值;1;
启用反走样glEnable(GL_POINT_SMOOTH);
关闭glEnable(GL_POINT_SMOOTH);
16.glLineWidth(GLfloat width)
功能;指定光栅化线的宽度
初始值为1;
启用反走样glEnable(GL_LINE_SMOOTH);\
关闭glDisable(GL_LINE_SMOOTH);
20.glLineStipple(GLint factor,GLshort pattern);
功能;指定线的点画绘制模板
参数说明;factor 指定点画绘制模板中每个二进制位的重复次数范围[1,256] 默认1;pattern 一个16位整数
21. glRect()
功能;绘制一个矩形
22. glPolygonMode(GLenum face,GLenum mode);
功能;指定多边形正面或反面的绘图模式
参数说明;face GL_FRONT正面,GL_BACK反面,GL_FRONT_AND_BACK正反面
mode 绘图模式 GL_POINT点 ,GL_LINE线段, GL_FILL填充
23.glFrontFace(GLenum mode)
功能;
指定多边形的正面;
参数说明;GL_CCW相当于投影到窗口坐标系的多边形的有序顶点,按逆时针方向出现的为多边型的正面。
,GL_CW,指定所绘制的多边形的顶点按顺时针方向的面是多边型的正面
缺省值GL_CCW
24.glCullFace(Glenum mode);
功能;指定被拣选的多边形的面。
参数说明;mode GL_FRONT GL_BACK GL_FRONT_AND_BACK ,却省值是GL_BACK.
开启拣选操作glEnable(GL_CULL_FACE);\
关闭glDisable(GL_CULL_FACE);
25.glPolygonStipple();
功能;设置多边型的点画绘制方法
开启多边型的点画绘图模式启glEnable(GL_POLYGON_STIPPLE)
关闭glDisable(GL_POLYGON_STIP_PLE)
26.glEdgeFlag(boolean);
功能;指定某边是被当作边界还是当作非边界
曲线的基本理论
27.glMap1{f,d}(GLenum target,GLfloat u1,float u2,int stride,
int order , const double * points);
功能;定一个一维取值器
参数说明;target 指定由求知器所生成的种类,u1,u2指定u
的线型映射方式,并把它提供给函数glEvalCoordl().
stride 指定在有points提供的数据结构中,从一个控制点的
开始位置倒下一个控制点的开始位置之间跨越的浮点或双
精度值的存储单元数目。这里允许将控制点插入任意的数
据结构中。他唯一的约束条件是一个特定的控制点必须占
据连续的内存存储单元。order 制定控制点的数目。points
指定一个指向控制点数组的指针。
GL_MAP1_VERTEX_3 4 定点坐标
CL_MAP1_INDEX 颜色索引
GL_MAP1_COLOR_4 颜色分量 R,G,B,A
GL_MAP1_NORMAL法向量
GL_MAP1_TEXTURE_COORD_1 2 3 4 纹理坐标
28.glEvalCoord1{f,d}(TYPE u);
功能;求取有效的一维映射值
29.glMapGrid1{f d}(int un, type u1,type u2);
功能;定义一个一维的网格
参数说明;un指定网格范围[u1,u2];
29.glEvalMesh1(Glenum mode ,int il,int i2);
功能;计算点或线的一位网格
参数说明;mode 指定式计算点还是线的一维网格,
取,GL_POINT GL_LINE
样条曲面地绘制
30.glMap2{f,d}(GLenum target,type u1,type u2,int
ustride,int uorder,type v1 ,type v2,int vstride,int vorder,const
type * points)
功能;定义一个二维求值器;
31..glMapGrid2{f,d}(TYPE nu,type u1, type u2,int
nv,type v1,type v2);
功能;求ding
32.glMapGrid2{f d}(TYPE nu,type u1, type u2,int nv,type
v1,type v2);
功能;定义一个二维的网格
参数说明;un指定网格范围[u1,u2];
29.glEvalMesh1(Glenum mode ,int il,int i2,int j1,int j2);
功能;计算点或线的二维网格
参数说明;mode 指定式计算点还是线的一维网格,
取,GL_POINT GL_LINE
样条曲面地绘制
显示列表
30.glNewList(int list ,GLenum mode);
功能;建立或替代一个显示列表
参数说明;list 指定一个显示列表的名称,mode指定编译
模式,GL_COMPILE只被编译
GL_COMPILE_AND_EXECUTE
31.glEndList()
功能;结束一个显示列表
32.glCallList(int list)
功能;执行一个显示列表
33.glListBase(int base)
功能;
为函数glCallLists设置显示列表的基值
34.glCallLists(sizei n,GLenum type,const void * lists);
功能;执行一组显示列表
35.glGenLists(size range);
功能;建立一组连续的空显示列表
36.glIsList(int list);
功能;确定一个名称是否对应一个显示列表
37.glDeleteLists(int list ,size range);
功能;删除一组连续的显示列表
坐标变换
OpenGL函数库详解相关推荐
- PHP PDO函数库详解
PDO是一个"数据库访问抽象层",作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高 ...
- php中的¥row,PHP PDO函数库详解
PDO是一个"数据库接见抽象层",感化是同一各类数据库的接见接口,与mysql和mysqli的函数库比拟,PDO让跨数据库的应用更具有亲和力:与ADODB和MDB2比拟,PDO更高 ...
- FifoBuffer函数库详解
FFmpeg 项目里面有一个 fifo 的实现 ,fifo 的全称是 first in first out (先进先出),而且这是一个环形的buffer内存管理器,代码实现在 libavutil/fi ...
- string.h函数库详解
string.h函数总结以下的函数使用时 都是入口参数 我们修改相应的入口参数进行试验 1 #ifndef __STRING_NO_EXPORTSusing ::std::size_t;using : ...
- c语言标准库详解(七):字符串函数string.h
c语言标准库详解(七):字符串函数<string.h> 头文件<string.h>中定义了两组字符串函数.第一组函数的名字以 str 开头:第二组函数的名字以 mem 开头.除 ...
- c语言标准库详解(十四):时间函数time.h
c语言标准库详解(十四):时间函数<time.h> 概述 头文件<time.h>中声明了一些处理日期与时间的类型和函数.其中的一些函数用于处理当地时间,因为时区等原因,当地时间 ...
- 从头开始写STM32F103C8T6驱动库(四)——编写延时函数,详解Systick
系列文章目录 Github开源地址 从头开始写STM32F103C8T6驱动库(一)--STM32CubeMX创建并调整工程结构 从头开始写STM32F103C8T6驱动库(二)--编写系统初始化程序 ...
- Py之seaborn:数据可视化seaborn库(三)的矩阵图可视化之jointplot/JointGrid/pairplot/PairGrid/FacetGrid密度图等的函数源代码详解之最强攻略
Py之seaborn:数据可视化seaborn库(三)的矩阵图可视化之jointplot/JointGrid/pairplot/PairGrid/FacetGrid折线图/柱状图+散点图/矩形密度图的 ...
- matlab中sinks,MATLAB Simulink模块库详解(二)Sinks篇
MATLAB Simulink模块库详解(二)Sinks篇 Simulink模块库概述 1.Sources模块库,为仿真提供各种信号源 2.Sinks模块库,为仿真提供输出设备元件 3.Continu ...
最新文章
- 《预训练周刊》第8期:首个千亿中文大模型「盘古」问世、谷歌等提出视频音频文本转换器VATT...
- 《UNIXLinux程序设计教程》一3.7 非阻塞I/O
- layui 按钮点击一次后失效_00017-layui 对话框 layer.open 点击保存,按钮失效,保存完后,再恢复...
- Vue.js Class 与 Style 绑定
- 【学习笔记】区块链应用判断准则
- Redis遇到的那些坑
- 重磅!2018人脸识别研究报告(附全文下载)
- 分布式事务中间件Seata简介
- 蓝桥杯2020答案c语言b组,2020十月份蓝桥杯B组省赛题解大全(害!附题面文件和部分代码~)...
- android nsdservice 类型,Android NSD onServiceFound()没有被调用
- 20175212童皓桢 类定义
- MySQL · 特性分析 · 执行计划缓存设计与实现
- 2021年电工(初级)考试及电工(初级)考试题
- 微信小程序实现语音合成功能
- (笔记)数据结构——顺序表
- 带固态硬盘的电脑Ubuntu和Windows双系统安装
- 正大国际琪貨召主涨户:股指期货套期保值交易可分为哪几类
- MiniJavaVM——一个Java虚拟机的设计和实现
- Linux中kil命令和pkill命令的区别
- 强化学习Q-learning入门