为什么学习OpenGL?
OpenGL(Open Graphics Library)是一个跨平台的专业图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库,它被广泛应用于各种的电子游戏开发。
目录
下载学习内容
>>>点击进入微信交流
OpenGL 代码运行截图
3D动画代码运行在线演示
3D地形代码运行在线演示
3D地形平滑过渡代码在线演示
3D地形块衔接代码在线演示
基于斜坡的地形光照代码在线演示
3D地形子纹理代码在线演示
纹理的镂空与重叠代码在线演示
子纹理的组合代码在线演示
光照与法线代码在线演示
法线平均值代码在线演示
光照的转动代码在线演示
动态阴影代码在线演示
AI寻路代码在线演示
OpenGL 着色器编程
OpenGL 的安装
VS开发环境的下载与安装
Win32工程的创建
VS开发环境中配置OpenGL
GLSL整型变量
GLSL浮点型变量
GLSL布尔型变量
GLSL向量类型
GLSL矩阵类型
GLSL采样器类型
GLSL数组
GLSL in 限定符
GLSL out 限定符
GLSL uniform 限定符
GLSL if 语句
GLSL switch 语句
GLSL while 语句
GLSL do-while 语句
GLSL for 语句
GLSL 流程控制语句
GLSL 函数
GLSL 结构体
GLSL 运算符
产生顶点数组对象的名字
绑定顶点数组对象
删除顶点数组对象
检测顶点数组对象
产生缓冲区对象
绑定缓冲区对象
删除缓冲区对象
检测缓冲区对象
像素格式描述结构体
OpenGL渲染管线
世界坐标系与物体坐标系
坐标系转换
OpenGL观察变换
OpenGL投影变换
OpenGL Shader 地形引擎
地形信息的描述
地形信息的初始化
地形顶点的设置
地形顶点的缓冲区
地形顶点与着色器的关联
绘画地形
描述高度图的信息
读取并存储高度图的信息
获取高度信息
根据高度信息设置地形
根据高度信息进行平滑处理
存储平滑处理的计算结果
根据平滑处理的结果设置地形
设置地形的纹理坐标
地形纹理坐标与着色器关联
描述摄像机的信息
初始化摄像机的信息
检测键盘的按键
控制摄像机移动
地形网格节点
地形网格的存储
地形网格的初始化
地形网格的偏移量
地形网格的绘画
根据不同高度图设置地形网格
根据不同高度图进行平滑处理
绘画不同高度图的地形网格
不同地形网格应用不同的纹理
不同地形网格的纹理与着色器关联
基于高度的地形顶点光照计算
地形顶点光照与着色器的关联
着色器中处理光照的计算
斜坡光照的位置
基于斜坡光照的计算
计算地形网格的顶点索引值
设置地形网格的顶点
根据索引值绘画地形网格
地形子纹理坐标的计算
地形应用子纹理
OpenGL Shader 渲染
光照与法线
法线的作用
法线的计算与保存
光照信息的描述
光照与法线的计算
光照与法线的平滑处理
寻找地形中相邻的法线向量
判断需要处理的法线
计算相邻法线在缓冲区中的位置
法线平均值的计算
光照产生的日夜交替
光照位置的计算
光照移动的控制
混合
混合的作用
混合的计算
混合中的系数设置
混合状态的创建
透明混合的原理与实现
雾
雾的原理与计算方式
在着色器中设置雾的信息
根据摄像机与地形的观察距离计算雾的比例值
根据地形光照的信息与雾进行插值的计算
为常量缓冲区填充占位符
根据摄像机与模型的观察距离计算雾的比例值
根据模型光照的信息与雾进行插值计算
平面阴影
平面阴影的原理
获取模型顶点的位置信息
设置灯光的位置
计算阴影的比例值
计算阴影
通过混合的方式绘制阴影
控制当前要绘制模型还是阴影
模型阴影
模型纹理的透明处理
绘制模型阴影
模板缓冲区与模型阴影
模板缓冲区的作用与原理
模板测试
模板操作与系数的设置
模板的更新设置
模板在阴影中的应用原理
通过模板禁止像素重复绘制
创建并设置模板状态
根据模板的设置来绘制阴影
点光源
点光源的设置
点光源的计算
点光源的移动控制
聚光灯
多重纹理的设置
聚光灯的计算
多重纹理的混合
多重纹理的设置
多重纹理的混合原理
多重纹理的混合计算
镜子
镜子效果与模板的关系
模板状态的设置
反射的计算
绘制镜子中的影像