您现在的位置是:课程
OpenGL实战编码设计
2023-06-29 20:55课程 人已围观
课程介绍:
本课程由张立铜老师将自己在企业多年积累的开发经验制作而成。
课程涵盖了OpenGL开发的方方面面,
对开发中经常用到的开发知识点进行讲解,
从实战的角度进行编码设计。
通过课程的学习,掌握OpenGL图形编程技巧,并能学以致用.
对从事游戏,图形技术研发的高级程序员有极大帮助。
授课计划:
学员需要具备C++基础:
从最基本的固定管线开始,一节课一个知识点。
从实战的角度出发,结合项目开发中经常用到的知识点作深入的讲解。
以面向对象的编程方式对知识点进行封装。
兼容了OpenGL ES,讲解如何在QT、Android NDK中编写OpenGL程序。
可以直接引入到项目中使用。
适用人群:
学生、游戏开发程序员、图形开发程序员。
课程详情请看第一节课程介绍,
课程包含但不限于以下知识点:
第一章:OpenGL环境建立
01. win32窗口的建立1
02. win32窗口的建立2
03. win32下建立OpenGL环境
04. MFC-对话框下建立OpenGL环境
05. MFC-View-建立OpenGL环境
06. MFC-MDI(多文档试图)-建立OpenGL环境
07. win32下建立OpenGLES2.0环境
08. MFC-对话框下建立OpenGLES2.0环境
09. 全屏窗口(OpenGL)
10. glut环境的建立
11. glfw框架的搭建
12. QT下建立OpenGL环境
13. QT下建立OpenGLES2.0环境
14. 安卓下纯C++(NDK)进行OpenGLES开发(不通过JNI)
第二章:基础图元
01. 正交投影
02. 绘制第一个三角形
03. 三角形列表绘制圆(GL_TRIANGLE_LIST)
04. 三角形列表绘-顶点数据方式绘制
05. 使用三角形扇绘制一个圆(GL_TRIANGLE_FAN)
06. 三角形带的使用(GL_TRIANGLE_STRIP)
07. 带颜色的三角形绘制
08. 线的绘制
09. 圆线的绘制(对线绘制的巩固)
10. 贝塞尔曲线的绘制
11. 矩形带的绘制
12. 不规则多边形的绘制(GL_POLYGON)
13. spline自由曲线的绘制
14. spline曲线编辑(鼠标拖动修改关键点)
15. 线样式的应用,实线,虚线,点划线
16. 平滑处理-反锯齿的应用
17. 图片的绘制
18. OpenGL扩展的使用,获取最新的显卡特性
19. 突破帧率限制(垂直同步控制)
20. 全屏幕反锯齿的应用
第三章:三维世界
01. 透视投影
02. 绘制一个立方体
03. 绘制带有颜色的立方体
04. 矩阵变换-平移矩阵
05. 矩阵变换-缩放矩阵
06. 矩阵变换-旋转矩阵
07. 矩阵组合操作
08. 太阳系(矩阵的应用,级联应用)-方式1
09. 太阳系(矩阵的应用,级联应用)-方式2
第四章:多彩世界-纹理
01. 纹理的建立
02. FreeImage
03. 绘制多个不同贴图的立方体
04. 绘制一个带贴图的正方体
05. 一个立方体多贴图
06. 纹理包装
07. 纹理滤波
08. Mipmap多层级纹理
09. MipMap层级纹理应用
10. 纹理动画-滚动的广告牌
11. 纹理的更新,局部更新,以及替换(高效率)
12. 纹理矩阵变换-纹理动画
13. MultiTexture多纹理
14. 多纹理应用-漂浮的云
15. 压缩纹理
16. dds压缩纹理的加载
17. 环境纹理
18. 纹理实现帧动画
19. 视频纹理(ffmpeg)实现视频播放
20. 实现简单的粒子系
21. 统纹理应用-遮罩处理,多种投影下的纹理复合应用
第五章:显存的分配-优化
01. 资源管理-纹理管理的实现
02. 显示列表的使用
03. 顶点缓冲区
04. 索引缓冲区
05. PBuffer,实现离屏渲染
06. PBuffer,实现离屏渲染-示例
07. Frame Buffer Object -更加高效的离屏渲染方法
08. Frame Buffer Object -更加高效的离屏渲染方法-验证
09. 屏幕数据的获取
10. 将屏幕内容存储为图像文件
11. Pixel Buffer Object实现快速回读显存数据
12. Pixel Buffer Object实现快速内存数据到显存数据的传输
13. Pixel Buffer Object实现快速回读显存数据(DMA处理)解放cpu
第六章:场景控制
01. 低版本OpenGL实现快速的画中画效果
02. 坐标系,观察矩阵,投影矩阵基本原理
03. 最基本的摄像机
04. 对摄像机控制,键盘控制摄像机移动
05. 第一人称摄像机类的封装
06. 第一人称摄像机类封装-增加鼠标操作
07. 第三人称摄像机
08. 第三人称摄像机类的完善
09. 第三人称摄像机的重新设计
10. 第三人称摄像机-角色控制
11. 摄像机的应用-多摄像机切换控制
12. 摄像机路径动画-曲线飞行的摄像机
13. 多视口渲染-多摄像机渲染
14. 场景-节点设计,优化绘制多个实体
15. 场景-节点裁剪-大规模绘制的利器
第七章:地形
01. 地形的介绍-地形网络的生成
02. 地形网络的优化-索引方式绘制
03. 外部地形数据读取1
04. 外部地形数据读取2
05. 外部地形数据读取3
06. 外部地形数据读取4
07. 地形定点雾化处理-云雾山1
08. 地形定点雾化处理-云雾山2
09. 地形漫游-第一人称摄像
10. 地形漫游-第三人称摄像机-角色控制
11. 地形漫游-第三人称摄像机-鼠标控制
第八章:界面-UI
01. Freetype环境的建立(文字绘制的支持)
02. Freetype函数的调用
03. OpenGL& Freetype结合生成纹理
04. 文字绘制,多字体,多颜色
05. 文本的编辑-鼠标拖动
06. 事件的处理
07. UI框架设计-管理的实现
08. 按钮类的实现
09. 图片字体文件的保存
10. 图片字体文件的加载
第九章:模型&插件制作
01. 模型的介绍 课件下载
02. OBJ格式模型的加载
03. OBJ格式模型的绘制
04. OBJ模型材质(纹理的加载)
05. OBJ格式模型的优化(重复点去除)
06. 3DMAX 导出插件的制作(开发Max插件的环境)
07. MAX API的访问,实现对MAX场景的遍历和访问
08. 实现导出顶点数据和面索引数据到XML文件
09. 准备导出材质数据(面按照材质分组)
10. 插件实现导出材质
本课程在OpenGL系列课程中的定位在下表中:
1 | C++ 程序设计 | 1-编程语言-入门 |
2 | C++ 中搭建Lua脚本系统开发框架 | 2-编程语言-脚本系统 |
3 | OpenGL ES2.0 基础精讲 | 3-移动图形1-入门 |
4 | OpenGL ES2.0 中级篇 | 3-移动图形2-进阶 |
5 | OpenGL 实战编码设计 | 3-桌面图形1-入门 |
6 | OpenGL 全面解析OpenGL-Shader语言 | 3-桌面图形2-进阶 |
7 | OpenGL 3D图形学理论-实现OpenGL精简内核 | 3-桌面图形3-提升 |
8 | WebGL 基础篇-坚如磐石 | 3-网页图形1-入门 |
9 | 软件实战-Google地图下载器制作 | 4-实战项目-GIS |
10 | 软件实战-Google地图瓦片的绘制,漫游 | 4-实战项目-GIS |
11 | 软件实战-实现shapefile的绘制 | 4-实战项目-GIS |
12 | 三维引擎开发-图形数理基础 | 4-实战项目-三维引擎 |
13 | 三维引擎开发-摄像机操作 | 4-实战项目-三维引擎 |
14 | 三维引擎开发-GUI设计与实现 | 4-实战项目-三维引擎 |
15 | 三维引擎开发-场景编辑器 | 4-实战项目-三维引擎 |
16 | 三维引擎开发-渲染 | 4-实战项目-三维引擎 |
17 | 软件实战-实现RGB到YUV420加速转换输出 | 4-实战项目-视频 |
18 | 软件实战-实现视频播放(FFMpeg) | 4-实战项目-视频 |
19 | 游戏实战-太空大战 | 5-实战项目-游戏 |
20 | 游戏实战-血腥大地-第一季(建立场景) | 5-实战项目-游戏1 |
21 | 游戏实战-血腥大地-第二季(资源破解与管理) | 5-实战项目-游戏2 |
22 | 游戏实战-血腥大地-第三季(怪物模型制作) | 5-实战项目-游戏3 |
每个课程的详细介绍,可以在套餐课程列表中,
点击对应课程,观看【第一节-课程介绍】了解。
套餐链接
ke./course/package/14996
上一篇:游戏策划研修班—数值策划课程