您现在的位置是:课程

OpenGL Shader 全面解析

2023-06-29 20:56课程 人已围观

课程介绍:
本课程由张立铜老师将自己在企业多年积累的开发经验制作而成。
全面解析OpenGL Shader语言,从1.0到4.5版本,
全面掌握shader编程知识,并能够熟练的应用。
对从事游戏,图形技术研发的高级程序员有极大帮助。

 

授课计划:
学员需要具备C++基础:
1. 掌握Shader基础,从Shader1.0版到最新的4.5版,介绍每个版本中特性的用法;
2. 掌握Shader实用及常用案例实践;
3. 掌握TesslationShader(细化着色器),Tesslattion Shader应用/基础案例分析;
4. 掌握GeometryShader(几何着色器),Gemotry Shader应用/基础案例分析;
5. 掌握ComputeShader(通用计算着色器),Compute Shader应用/基础案例分析;
6. 掌握性能优化(大规模优化),通过大量案例讲解分析/结合最新特性,介绍高级用法;
借助shader加速应用,让程序轻松应对支撑百万级别的场景对象。

 

适用人群:
游戏开发高级程序员,图形开发高级程序员。

 

授课计划:
学员需要具备C++基础。
1:搭建各个平台的C++开发环境,了解C++静态和动态共享库。
2:掌握Socket基础,通信模型、多线程、数据包、粘包、阻塞等基础知识。
3:掌握前端(客户端)网络通信,消息队列、收发线程、消息结构、在商业工具、游戏引擎中应用。
4:掌握后端(服务端)网络通信,讲解性能优化要点,一步步构建出高性能服务器。
5:实际开发案例,将学习到的技术进行应用验证。

 

课程详情请看第一节课程介绍,
课程包含但不限于以下知识点:

第1章 GLSL-入门基础(语法)
1-01.环境建立[免费观看]
1-02.第一个shader[免费观看]
1-03.uniform关键字的使用[免费观看]
1-04.varying关键字实现shader之间参数传递[免费观看]
1-05.shader中访问顶点数据
1-06.shader中访问颜色数据
1-07.shader中访问纹理坐标数据
1-08.shader中访问法线数据
1-09.shader中的内置变量介绍
1-10.shader的基本语法
1-11.attribute关键字的使用
1-12.in/out关键字的使用
1-13.layout关键字的使用(修饰attribute)
1-14.layout关键字的使用(修饰uniform ,out)
1-15.多个shader的使用,状态切换
1-16.attribute数组数据的使用
1-17.attribute结构体数据的使用
1-18.uniform结构体和数组的使用
1-19.block块实现多个shader共享数据
1-20.block块实现shader之间数据传递
1-21.block之内存布局(shared,std140)
1-22.无数据绘制-常量数组的使用
1-23.深入理解gl_FragCoord内置变量的作用
1-24.纹理动画
1-25.纹理帧动画
1-26.纹理帧动画-GPU版本
1-27.多纹理转场过渡
1-28.多纹理转场过渡-推进过渡
1-29.多纹理转场过渡-推进过渡2
1-30.Shader绘制精灵
1-31.精灵的应用-粒子绘制

 

第2章 Shader实用及常用案例实践
2-01.shader实现光照
2-02.3D开发框架的搭建
2-03.shader实现带有颜色光照
2-04.shader实现带有光照+纹理
2-05.shader实现多纹理
2-06.shader实现多纹理贴花效果
2-07.billboard效果实现(CPU)
2-08.billboard效果实现(GPU)
2-09.billboard效果实现(GPU优化)
2-10.billboard效果实现(GPU动画)风吹草动
2-11.法线贴图(normal map) TBN
2-12.法线贴图(normal map) 增强效果,每像素光照
2-13.视差效果贴图
2-14.立体纹理贴图(cubemap)
2-15.立体纹理贴图 + 法线贴图
2-16.阴影实现-深度缓冲区的作用
2-17.阴影实现-FBO的使用
2-18.阴影的实现理论知识
2-19.阴影的实现(1)
2-20.阴影的实现(2)
2-21.fog-雾化效果实现-顶点雾
2-22.fog-雾化效果实现-每像素雾化
2-23.卡通渲染(cartoon)
2-24.Sobel边缘检测
2-25.马赛克效果实现
2-26.Terrain-刷绘1
2-27.Terrain-刷绘2
2-28.Terrain-刷绘3
2-29.Terrain-实现鼠标刷会
2-30.Terrain-刷绘边缘软化
2-31.Terrain-刷绘边缘软化2

 

第3章 Tessellation Shader(曲面细分)
3-1.Tessellation Shader介绍
3-2.Tessellation Line
3-3.Tessellation Line(2)
3-4.Tessellation Triangle
3-5.Tessellation Quads
3-6.裁减掉TCSshader
3-7.Tessellation 实现贝塞尔曲线
3-8.纹理坐标细化

 

第4章 Geometry Shader
4-1.billboard-Geometry版本
4-2.Geometry 计算法线
4-3.Geometry 实现贝塞尔曲线

 

第5章 Compute Shader(通用计算着色器)
5-1.通用计算的几大体系介绍&第一个compute shader
5-2.实现对一个数组作平方和
5-3.介绍Compute Shader 内置的变量
5-4.采用ComputeShader优化粒子系统
5-5.Compute Shader 实现贝塞尔曲线
5-6.Compute Shader 绘制billboard

 

第6章 性能优化(大规模优化)
6-01.100万个对象的绘制
6-02.100万个模型绘制-常规方法绘制
6-03.100万个模型绘制-采用VBO的方式降低数据传输
6-04.100万个模型绘制-视锥裁减
6-05.100万个模型绘制-裁减2
6-06.100万个模型-绘制方式优化
6-07.100万模型绘制-GPU裁减优化(feedback)
6-08.100万模型绘制-GPU裁减优化(2)
6-09.100万模型绘制-CPU-vs-GPU性能结果对比
6-10.100万模型绘制-物体过小优化处理

 

本课程在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

-->

站点信息

  • 文章统计篇文章