
CTO - 从无到有软件实现3D绘制OpenGL内核实现
来自 网络整理·免费领取学习资源
8,274 领取 · 7,670 收藏更新于 2026年9月20日
这份资料来自网络整理2026年的付费VIP课,内容以视频为主,对应《CTO - 从无到有软件实现3D绘制OpenGL内核实现》。官网需要单独购买,有集上可以免费领取。
课程目录
- 01.第一阶段:图形学-基础阶段
- 1.图形学理论视频课程-实现OpenGL精简内核
- 1-1 课程介绍
- 1-10 绘制贝塞尔曲线
- 1-11 实现矩形的绘制
- 1-12 优化矩形绘制效率
- 1-13 矩形颜色的填充(颜色插值)
- 1-14 实现三角形绘制
- 1-15 实现三角形绘制2
- 1-16 实现三角形绘制3
- 1-17 给三角形填充颜色
- 1-18 代码效率优化
- 1-19 代码效率优化-三角形不可见优化(2)
- 1-2 建立开发环境-创建窗口
- 1-20 代码效率优化-三角形相交Y方向优化(3)
- 1-21 代码效率优化-三角形相交X方向优化(4)
- 1-3 建立窗口
- 1-4 实现点的绘制
- 1-5 绘制点的优化处理
- 1-6 实现线的绘制
- 1-7 绘制线优化
- 1-8 给线上色,绘制渐变色的线
- 1-9 线的巩固-多种绘制方式
- 2-1 实现图片的绘制i
- 2-10 图像的缩放-采样
- 2-11 归纳,总结
- 2-2 Freetype加载图片
- 2-3 Image类的编写
- 2-4 去掉不想要的颜色-color-key
- 2-5 实现Alpha测试
- 2-6 Alpha混合的实现
- 2-7 透明的处理
- 2-8 图像的部分绘制
- 2-9 图像的缩放
- 3-1 纹理坐标的引入
- 3-10 平移矩阵的应用
- 3-11 缩放矩阵的应用
- 3-12 旋转矩阵的应用
- 3-13 矩阵复合操作
- 3-2 纹理坐标的引入2
- 3-3 纹理颜色混合处理
- 3-4 实现状态机
- 3-5 实现状态机2
- 3-6 实现状态机3
- 3-7 纹理包装-重复
- 3-8 纹理包装-clamp-to-age
- 3-9 二维矩阵操作
- 4-1 3D理论
- 4-10 3D矩阵变换-复合变换
- 4-2 3D理论-向量
- 4-3 3D理论-矩阵
- 4-4 3D框架的实现
- 4-5 固定渲染管线实现
- 4-6 投影和观察矩阵
- 4-7 固定渲染管线实现-裁减
- 4-8 绘制第一个三角形
- 4-9 3D矩阵变换
- 5-1 摄像机的实现-消息处理
- 5-2 摄像机类的封装
- 5-3 摄像机类的封装2
- 5-4 场景的建立
- 5-5 bug-修正及摄像机缩放
- 5-6 摄像机的平移
- 2.OpenGL实战编码设计视频课程
- 1-1 win32窗口的建立
- 1-10 glut环境的建立
- 1-11 glfw框架的搭建
- 1-12 QT下建立OpenGL环境
- 1-13 QT下建立OpenGLES2.0环境
- 1-14 安卓下纯C++(NDK)进行OpenGLES开发(不通过JNI)
- 1-2 win32窗口的建立2
- 1-3 win32下建立OpenGL环境
- 1-4 MFC-对话框下建立OpenGL环境
- 1-5 MFC-View-建立OpenGL环境
- 1-6 MFC-MDI(多文档试图)-建立OpenGL环境
- 1-7 win32下建立OpenGLES2.0环境
- 1-8 MFC-对话框下建立OpenGLES2.0环境
- 1-9 全屏窗口(OpenGL)
- 10-1 如何通过源代码编译lua
- 10-10 导出类-自动化-参数萃取
- 10-11 导出类-自动化-参数获取和特化
- 10-12 导出类-自动化-全局函数的处理
- 10-13 OpenGL函数与常量导出
- 10-14 C调用lua实现OpenGL渲染
- 10-15 lua脚本语言在游戏引擎中的经典用法介绍
- 10-2 C 中调用lua函数
- 10-3 lua中如何调用C函数
- 10-4 lua中如何调用C函数2
- 10-5 深入的介绍lua栈(lua的灵魂)
- 10-6 lua闭包和上值的使用
- 10-7 lua元表的使用(lua的精髓)
- 10-8 实现导出C类给lua
- 10-9 实现自动化导出类给lua
- 2-1 正交投影
- 2-10 贝塞尔曲线的绘制
- 2-11 矩形带的绘制
- 2-12 不规则多边形的绘制(GL_POLYGON)
- 2-13 spline自由曲线的绘制
- 2-14 spline曲线编辑(鼠标拖动修改关键点)
- 2-15 线样式的应用,实线,虚线,点划线
- 2-16 平滑处理-反锯齿的应用
- 2-17 图片的绘制
- 2-18 OpenGL扩展的使用,获取的显卡特性
- 2-19 突破帧率限制(垂直同步控制)
- 2-2 绘制第一个三角形
- 2-20 全屏幕反锯齿的应用
- 2-3 三角形列表绘制圆(GL_TRIANGLE_LIST)
- 2-4 使用三角形扇绘制一个圆(GL_TRIANGLE_FAN)
- 2-5 三角形带的使用(GL_TRIANGLE_STRIP)
- 2-6 三角形带的绘制
- 2-7 带颜色的三角形绘制
- 2-8 线的绘制
- 2-9 圆线的绘制(对线绘制的巩固)
- 3-1 透视投影
- 3-2 绘制一个立方体
- 3-3 绘制带有颜色的立方体
- 3-4 矩阵变换-平移矩阵
- 3-5 矩阵变换-缩放矩阵
- 3-6 矩阵变换-旋转矩阵
- 3-7 矩阵组合操作
- 3-8 太阳系(矩阵的应用,级联应用)-方式1
- 3-9 太阳系(矩阵的应用,级联应用)-方式2
- 4-1 纹理的建立
- 4-10 纹理的更新,局部更新,以及替换(高效率)
- 4-11 纹理动画-滚动的广告牌
- 4-12 纹理矩阵变换-纹理动画
- 4-13 MultiTexture多纹理
- 4-14 多纹理应用-漂浮的云
- 4-15 压缩纹理
- 4-16 dds压缩纹理的加载
- 4-17 环境纹理
- 4-18 纹理实现帧动画
- 4-19 视频纹理(ffmpeg)实现视频播放
- 4-2 FreeImage
- 4-20 实现简单的粒子系统
- 4-21 纹理应用-遮罩处理,多种投影下的纹理复合应用
- 4-22 资源管理-纹理管理的实现
- 4-3 绘制多个不同贴图的立方体
- 4-4 绘制一个带贴图的正方体
- 4-5 一个立方体多贴图
- 4-6 纹理包装
- 4-7 纹理滤波
- 4-8 Mipmap多层级纹理
- 4-9 MipMap层级纹理应用
- 5-1 显示列表的使用
- 5-10 Pixel Buffer Object实现快速回读显存数据
- 5-11 Pixel Buffer Object实现快速回读显存数据(DMA处理)解放cpu
- 5-12 Pixel Buffer Object实现快速内存数据到显存数据的传输
- 5-13 低版本OpenGL实现快速的画中画效果
- 5-2 顶点缓冲区
- 5-3 索引缓冲区
- 5-4 PBuffer,实现离屏渲染
- 5-5 PBuffer,实现离屏渲染-示例
- 5-6 Frame Buffer Object -更加高效的离屏渲染方法
- 5-7 Frame Buffer Object -更加高效的离屏渲染方法-验证
- 5-8 屏幕数据的获取
- 5-9 将屏幕内容存储为图像文件
- 6-1 坐标系,观察矩阵,投影矩阵基本原理
- 6-10 摄像机的应用-多摄像机切换控制
- 6-11 摄像机路径动画-曲线飞行的摄像机
- 6-12 多视口渲染-多摄像机渲染
- 6-13 场景-节点设计,优化绘制多个实体
- 6-14 场景-节点裁剪-大规模绘制的利器
- 6-2 最基本的摄像机
- 6-3 对摄像机控制,键盘控制摄像机移动
- 6-4 第一人称摄像机类的封装
- 6-5 第一人称摄像机类封装-增加鼠标操作
- 6-6 第三人称摄像机
- 6-7 第三人称摄像机类的完善
- 6-8 第三人称摄像机的重新设计
- 6-9 第三人称摄像机-角色控制
- 7-1 模型的介绍
- 7-10 插件中导出材质和纹理信息
- 7-2 OBJ格式模型的加载
- 7-3 OBJ格式模型的绘制
- 7-4 OBJ模型材质(纹理的加载)
- 7-5 OBJ格式模型的优化(重复点去除)
- 7-6 3DMAX 导出插件的制作(开发Max插件的环境)
- 7-7 MAX API的访问,实现对MAX场景的遍历和访问
- 7-8 实现导出顶点数据和面索引数据到XML文件
- 7-9 材质导出准备(根据材质将面分组)
- 8-1 Freetype环境的建立(文字绘制的支持)
- 8-10 图片字体文件的加载
- 8-2 Freetype函数的调用
- 8-3 OpenGL& Freetype结合生成纹理
- 8-4 文字绘制,多字体,多颜色
- 8-5 文本的编辑-鼠标拖动
- 8-6 UI框架设计-管理的实现
- 8-7 事件的处理
- 8-8 按钮类的实现
- 8-9 图片字体文件的保存
- 9-1 地形的介绍-地形网络的生成
- 9-10 地形漫游-第三人称摄像机-角色控制
- 9-11 地形漫游-第三人称摄像机-鼠标控制
- 9-2 地形网络的优化-索引方式绘制
- 9-3 外部地形数据读取
- 9-4 地形着色
- 9-5 地形法线计算-增加光照
- 9-6 地形纹理贴图
- 9-7 地形定点雾化处理-云雾山
- 9-8 给地形增加细节纹理-多纹理应用
- 9-9 地形漫游-第一人称摄像
- OpenGL实战编码设计视频课程
- 3.游戏开发实战之OpenGL ES 2.0基础精讲视频课程
- 1 建立初步的窗口(1)
- 10 OpenGL 文理的使用(2)
- 11 OpenGL 文理的使用(3)
- 12 三维投影的建立,立体概念的建立
- 13 OpenGL 文理的使用(4)-Mip使用
- 14 OpenGL 文理的使用(5)-文理包装-上传下载
- 15 总结,摄像机的使用,绘制一个三维场景
- 16 Alpha测试,Alpha混合(shader的编写)
- 17 硬件缓冲区-顶点缓冲区(优化系统)
- 18 硬件缓冲区-索引缓冲区(快速绘制)
- 19 硬件缓冲区-帧缓冲区(实现小窗口)
- 2 建立初步的窗口(2)
- 20 点精灵的介绍
- 21 纯Shader例子系统的实现
- 22 OpenGL汉字的绘制(1)
- 23 OpenGL汉字的绘制(2)
- 24 外部输入输入-模型的概念
- 3 OpenGL ES2.0的开发环境建立
- 4 基本图元的绘制(1)
- 5 基本图元的绘制(2)
- 6 基本图元的绘制(3)
- 7 基本图元的绘制(4)
- 8 对图元做基本的矩阵操作
- 9 OpenGL 文理的使用(1)
- 4.游戏开发实战之OpenGL ES2.0 中级篇视频课程
- 1 开发框架介绍
- 10 光照-快速光照的实现
- 11 拾取选择(1)
- 12 拾取选择(2)
- 13 法线贴图-bumpmap-shader实现
- 14 卡通-cartoon-shader实现
- 15 PerturbedUvs-bump+reflect-shader实现
- 16 雾化效果的-shader实现
- 17 动画-shader的实现
- 18 Reflections-cube-map-shader实现
- 2 场景的控制(1)
- 3 场景的控制(2)
- 4 场景的控制(3)
- 5 模型的加载,绘制(1)
- 6 模型的加载,绘制(2)
- 7 光照-基本原理
- 8 光照-方向光的纯shader实现
- 9 光照-聚光灯的纯shader实现
- 5.三维游戏引擎开发-图形理论基础视频课程
- 1 课程目标的介绍以及三维的基本原来介绍
- 2 向量介绍
- 3 矩阵介绍
- 4 四元数,以及坐标变换
- 5 实践编码,输入控制,建立窗口
- 6 实践编码-完成旋转的立方体
- 7 实践编码-基本原理实现
- 8 实践编码-完成摄像机的控制,建立地面,完成场景
- 三维游戏引擎开发-图形理论基础视频课程
- 6.WebGL基础篇实战视频课程【坚如磐石】
- 01、Hello webgl-第一个webgl程序
- 02、绘制一个三角形,并对程序进行分析
- 03、显卡内容分配-顶点缓冲区的使用(1)
- 04、显卡内容分配-顶点缓冲区的使用(2)
- 05、显卡内容分配-索引缓冲区的使用
- 06、shader剖析(1)
- 07、shader剖析(2)
- 08、投影的介绍-正交投影(1)
- 09、投影的介绍-正交投影(2)
- 10、基本的图元介绍,点,线,面
- 11、认识彩色的世界-纹理贴图的介绍(1)
- 12、认识彩色的世界-纹理贴图的介绍(2)
- 13、点精灵介绍-绘制飘动的点.(适用纹理方式)
- 14、多纹理介绍-实现浮动的云
- 15、透视投影-进入三维世界
- 16、渲染管线的学习,gpu图形卡的绘制基础理论
- 17、数学知识学习-三维向量
- 18、数学知识学习-矩阵
- 19、三维理论学习-坐标变化,模型矩阵,观察矩阵,投影矩阵,视口变化
- 20、贴图滤波的学习,贴上图的立方体
- 21、压缩纹理格式介绍
- 22、键盘的控制,控制三维物体的旋转,缩放,平移-模型矩阵的学习
- 23、复合模型变换的学习-模型矩阵的深入理解
- 24、混合的学习-透明,半透明的物体
- 25、FBO的实现-实现画中画效果,即离线渲染(1)
- 26、FBO的实现-实现画中画效果,即离线渲染(2)
- 27、鼠标控制场景
- 28、拾取选择的,如何拾取,选择三维中的物体. 射线的学习
- 29、实现__人称摄像机控制
- 30、实现__人称摄像机控制(2)
- 31、第三人称摄像机(1)
- 32、第三人称摄像机(2)
- 33、第三人称摄像机-射线法-实现屏幕和世界坐标的相互转换
- 34、光照-真实的三维世界,平行光
- 35、光照-真实的三维世界-点光源
- 36、光照-真实的三维世界-高光
- 37、模型的介绍
- 38、模型的解析以及绘制
- 39、二进制文件操作
- 40、二进制模型文件的加载-显示,以及格式定义
- 41、布告板的实现1
- 42、布告板的实现2-风吹草动
- 43、顶点状态缓冲区-VAO
- 44、场景的管理-节点
- 45、场景的管理-包围盒的计算
- 46、场景管理-视锥计算-不可见剔除
- 47、天空盒子的绘制
- 48、粒子效果-爆炸
- 49、粒子效果-流光溢彩
- 50、纯shader实现雾化效果
- 51、大规模绘制利器-webgl扩展-drawInstance
- 52、骨胳动画原理
- 7.C中搭建Lua脚本系统开发框架,并实现OpenGL调用视频课程
- 1 如何通过源代码编译lua库
- 10 导出类-自动化-参数萃取
- 11 导出类-自动化-参数获取和特化
- 12 导出类-自动化-全局函数的处理
- 13 OpenGL函数与常量导出
- 14 C调用lua实现OpenGL渲染
- 15 lua脚本语言在游戏引擎中的经典用法介绍
- 2 C中建立lua虚拟机环境,并执行lua语句
- 3 将C函数导出给lua,并在lua脚本中调用C函数
- 4 将C函数导出给lua,并在lua脚本中调用C函数2
- 5 介绍lua栈
- 6 学习lua-闭包和上值
- 7 学习lua-metatable元表
- 8 介绍如何导出类到lua中,对metatable和闭包的应用
- 9 让导出类自动化
- 8.标准C程序设计
- 1-10、使用Xcode9.1编写一个MacOS C程序
- 1-11、在虚拟机中安装Linux-ubuntu-16.04桌面系统
- 1-12、解决Ubuntu系统错误提示
- 1-13、在Ubuntu中编写一个Linux C程序
- 1-14、在ubuntu16.04中安装vsCode
- 1-15、在vsCode中建立C项目
- 1-16、在vsCode中调试C项目
- 1-1、建立 Windows C开发环境
- 1-2、建立一个易于管理的Windows C工程
- 1-3、cs106_720_VS2015 C程序常用调试方法
- 1-4、常用虚拟机软件简介
- 1-5、安装VMware Player 12 并解锁MacOS系统
- 1-6、安装配置SVN代码管理工具1
- 1-7、安装配置SVN代码管理工具2
- 1-8、在虚拟机中安装MacOS 10.12系统
- 1-9、在MacOS 10.12中安装Xcode9开发工具
- 10-1、宏定义
- 10-2、宏开关
- 11-1、CFAQ1
- 12- 4、锁与临界区域
- 12-1、多线程基本概念简介
- 12-2、创建线程,join与detach启动线程
- 12-3、传递参数给线程入口函数,创建线程数组
- 12-5、通过简单并行计算示例测试锁的消耗
- 12-6、自解锁
- 12-7、原子操作
- 12-8、多线程-基本概念总结
- 13-10、内存池实现-7
- 13-11、内存池实现-8
- 13-12、内存池实现-9-验证调试
- 13-13、内存池实现-10-验证调试
- 13-14、内存池实现-11-验证调试
- 13-15、内存池实现-12-验证调试
- 13-16、内存池实现-13-支持多线程
- 13-1、内存管理-内存池设计1
- 13-2、内存管理-内存池设计2
- 13-3、内存管理-内存池设计3
- 13-4、内存池实现-1-重载new运算符
- 13-5、内存池实现-2
- 13-6、内存池实现-3
- 13-7、内存池实现-4-初始化内存池
- 13-8、内存池实现-5-实现内存申请
- 13-9、内存池实现-6-实现内存释放
- 2-10、or循环的使用2
- 2-11、While循环的使用
- 2-12_do-while循环的使用
- 2-13、switch-case的使用
- 2-14、测试,复习,答疑
- 2-1、环境的建立
- 2-2、的声明1
- 2-3、变量的声明2
- 2-4、算数运算符
- 2-5、辑运算符
- 2-6、件表达式
- 2-7、关系运算符
- 2-8、位运算符
- 2-9、for循环的使用
- 3-1、数组的介绍
- 3-2、数组的使用
- 3-3、数组的使用2
- 3-4、字符串数组
- 3-5、多维数组
- 3-6、指针的介绍1
- 3-7、指针的介绍2
- 3-8、指针的介绍3
- 3-9、指针的介绍4
- 4-1、结构体介绍
- 4-2、结构体数组,指针与引用
- 5-10、C-API-文件操作-写文件
- 5-11、C-API-内存相关
- 5-12、文件操作实践-打解包大文件
- 5-13、文件操作实践-打解包大文件(2)
- 5-1、函数的介绍与使用
- 5-2、函数传参介绍
- 5-3、函数重载介绍
- 5-4、递归函数的介绍
- 5-5、实现标准库的一些函数
- 5-6、把函数作为指针的使用
- 5-7、函数的声名和实现分离
- 5-8、函数的操作2
- 5-9、C-API-文件操作
- 6-1、枚举的使用
- 6-2、联合的使用
- 6-3、测试,复习,答疑
- 7-10、重载操作符(全局)
- 7-11、继承与派生1
- 7-12、继承与派生2
- 7-13、虚函数1
- 7-14、虚函数2
- 7-15、虚函数3
- 7-16、虚函数4
- 7-17、纯虚函数,抽象类
- 7-18、类的声明和实现分离
- 7-19、类的内联函数
- 7-1、类,面向对象
- 7-2、类,面向对象(2)
- 7-3、成员的声明
- 7-4、构造函数,析构函数,拷贝构造
- 7-5、类的参数列表的使用
- 7-6、常量类成员变量的使用
- 7-7、静态成员函数的使用(友元)
- 7-8、重载操作符
- 7-9、重载操作符-实现字符串类
- 8-1、C内存分配的使用1
- 8-2、C内存分配的使用2
- 8-3、C内存分配的使用3
- 8-4、命名空间的使用
- 8-5、C++ 异常处理的使用
- 9-10、标准模板库(STL)-sort(排序)
- 9-11、标准模板库(STL)-string(字符串)
- 9-12、标准模板库(STL)-stringstream(字符串流)
- 9-13、标准模板库(STL)-fstream(读取)
- 9-14、标准模板库(STL)-fstream(写入)
- 9-15、标准模板库(STL)-hash-map
- 9-16、模板测试-巩固1
- 9-17、模板测试-巩固2
- 9-18、模板测试-巩固3
- 9-1、模板的介绍
- 9-2、模板类
- 9-3、模板特化
- 9-4、模板答疑
- 9-5、采用模板实现模板数组
- 9-6、标准模板库(STL)-vector(数组的使用)
- 9-7、标准模板库(STL)-list(链表)
- 9-8、标准模板库(STL)-map(二叉树)
- 9-9、标准模板库(STL)-map(二叉树)2
- 02.第二阶段:游戏实践阶段
- 1、全面解析OpenGL-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-1、环境建立
- 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-2、第一个shader
- 1-30、Shader绘制精灵
- 1-31、精灵的应用-粒子绘制
- 1-3、uniform关键字的使用
- 1-4、varying关键字实现shader之间参数传递
- 1-5、shader中访问顶点数据
- 1-6、shader中访问颜色数据
- 1-7、shader中访问纹理坐标数据
- 1-8、shader中访问法线数据
- 1-9、shader中的内置变量介绍
- 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-1、shader实现光照
- 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-2、3D开发框架的搭建
- 2-30、Terrain-刷绘边缘软化
- 2-31、Terrain-刷绘边缘软化2
- 2-3、shader实现带有颜色光照
- 2-4、shader实现带有光照+纹理
- 2-5、shader实现多纹理
- 2-6、shader实现多纹理贴花效果
- 2-7、billboard效果实现(CPU)
- 2-8、billboard效果实现(GPU)
- 2-9、billboard效果实现(GPU优化)
- 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-1、billboard-Geometry版本
- 4-2、Geometry 计算法线
- 4-3、Geometry 实现贝塞尔曲线
- 5-1、通用计算的几大体系介绍&第一个compute shader
- 5-2、实现对一个数组作平方和
- 5-3、介绍Compute Shader 内置的变量
- 5-4、采用ComputeShader优化粒子系统
- 5-5、Compute Shader 实现贝塞尔曲线
- 5-6、Compute Shader 绘制billboard
- 6-10、100万模型绘制-物体过小优化处理
- 6-1、100万个对象的绘制
- 6-2、100万个模型绘制-常规方法绘制
- 6-3、100万个模型绘制-采用VBO的方式降低数据传输
- 6-4、100万个模型绘制-视锥裁减
- 6-5、100万个模型绘制-裁减2
- 6-6、100万个模型-绘制方式优化
- 6-7、100万模型绘制-GPU裁减优化(feedback)
- 6-8、100万模型绘制-GPU裁减优化(2)
- 6-9、100万模型绘制-CPU-vs-GPU性能结果对比
- 全面解析OpenGL-Shader语言视频课程
- 2、OpenGL摄像机操作精讲视频课程
- 1、课程介绍
- 2、OpenGL环境搭建,建立摄像机框架
- 3、摄像机原理讲解
- 4、实现一个第三人称摄像机
- 5、摄像机的旋转-中心点
- 6、代码整理封装
- 7、摄像机的旋转-任意点
- 8、摄像机缩放-任意点推进
- 9、摄像机移动,漫游
- OpenGL摄像机操作精讲视频课程
- 3、游戏引擎视频课程-场景编辑器
- 1-1、课程介绍,基础环境介绍
- 1-2、环境建立
- 1-3、界面原型设计
- 1-4、框架设计-OpenGL支持
- 1-5、框架设计-属性页控件引入
- 1-6、框架设计-模型列表界面
- 1-7、框架设计-模型列表界面2
- 1-8、框架设计-界面之间关联互动(信号和槽)
- 2-1、场景基础建设
- 2-2、实现一个强大的摄像机
- 2-3、实现一个强大的摄像机-实现鼠标操作
- 2-4、实现一个强大的摄像机-实现场景的编辑
- 2-5、场景完善
- 3-10、属性页界面,数据显示-完善优化
- 3-1、设计节点类
- 3-2、模型包围盒计算
- 3-3、模型加载
- 3-4、模型的优化
- 3-5、介绍如何将节点和模型关联到一起
- 3-6、实现模型的拖拽
- 3-7、场景节点树构建
- 3-8、节点管理优化
- 3-9、属性页界面,数据显示关联
- 4-1、模型包围盒计算绘制
- 4-2、模型包围盒计算绘制流程优化
- 4-3、鼠标拾取
- 4-4、鼠标操作模型
- 4-5、鼠标框选模型
- 4-6、鼠标框选模型-优化
- 5-1、保存场景-xml文件的生成
- 5-2、保存场景-xml文件的生成2
- 5-3、场景文件的加载
- OpenGL-Scene
- 4、商业游戏:血腥大地视频课程第一季
- 01、环境的建立
- 02、窗口的建立
- 03、消息的处理
- 04、面向对象封装
- 05、OpenGLES2.0在Windows上的初始化
- 06、OpenGLES窗口建立
- 07、框架消息
- 08、框架优化-上下文设计
- 09、OpenGLES绘制第一个三角形(1)
- 10、OpenGLES绘制第一个三角形(2)
- 11、OpenGLES绘制第一个三角形(3)
- 12、shader的封装(1)
- 13、shader的封装(2)
- 14、资源管理(1)-纹理
- 15、资源管理(2)-纹理
- 16、三维场景(1)-角色控制
- 17、三维场景(2)-摄像机
- 18、三维场景(3)-摄像机
- 19、三维场景(4)
- 20、三维场景(5)-地形
- 21、角色控制(转向,移动)
- 22、角色控制,图像关键帧动画播放
- 23、角色控制,旋转
- 24、子弹的设计以及控制
- 25、霰弹枪的制作,以及霰弹枪子弹的制作
- 代码
- 附件_31530
- 5、血腥大地游戏制作视频课程-第二季(资源破解与资源管理)
- 10、资源管理的要点
- 1、游戏资源的获取-文件格式猜想
- 2、游戏资源的获取-图片内容萃取
- 3、游戏资源的获取-资源结构萃取
- 4、游戏资源的获取-xml文件生成与解析
- 5、游戏资源的获取-音频数据的破解和萃取
- 6、资源优化与工作制作资源优化与工作制作2
- 7、资源优化与工作制作2
- 8、字体工具制作(1)
- 9、字体工具制作(2)
- source2
- 6、血腥大地视频课程-第三季(怪物模型的建立&动画)
- 10、代码的完善和优化
- 1、课程介绍&NPC类的制作
- 2、NCP类的完善-可以自由移动的NPC
- 3、会走路的NCP(对走路进行优化)
- 4、NCP走路转弯优化
- 5、怪物(敌人)基类的封装
- 6、蜘蛛1类的实现
- 7、蜘蛛1类的实现第二部分
- 8、异型类的实现
- 9、携带武器的蜘蛛怪实现
- 血腥大地1.2.3
- 7、太空大战3D游戏实战视频课程
- 01、开发环境建立,建立一个窗口
- 02、建立OpenGL ES2.0开发环境
- 03、OpenGL ES2.0可编程管线介绍
- 04、建立开发框架-OpenGL基础封装
- 05、建立开发框架-事件的封装
- 06、建立开发框架-App实例
- 07、建立开发框架-Frame框架
- 08、建立开发框架-文理资源管理
- 09、建立开发框架-shader程序管理
- 10、建立开发框架-节点类设计
- 11、游戏业务-主控玩家类设计
- 12、游戏业务-子弹基类设计
- 13、建立开发框架-定时器类设计
- 14、建立开发框架-事件代理实现
- 15、游戏场景管理
- 8、三维游戏引擎设计与实现-GUI设计与实现精讲视频课程
- 01、GUI系统概论,设计与实现
- 02、消息系统的设计与实现(1)
- 03、消息系统的设计与实现(2)
- 04、消息系统的设计与实现(3)
- 05、控件基类的设计与实现
- 06、控件管理设计与实现,消息的分发处理
- 07、皮肤资源设计与管理的实现
- 08、文字(汉字)系统设计与实现(1)
- 09、文字(汉字)系统设计与实现(2)
- 10、GUI框架的设计与实现
- 11、Frame控件设计与实现
- 12、Button按钮控件的设计与实现
- 13、CheckBox控件的设计与实现
- 14、RadioButton控件的设计与实现
- 15、Time时钟控件的设计与实现
- 16、TitleWindow窗体的设计与实现
- 17、Slider滑块的设计与实现
- 18、Tooltip的设计与实现
- 19、ScrollView滚动容器的设计与实现(1)
- 20、ScrollView滚动容器的设计与实现(2)
- 三维游戏引擎设计与实现-GUI设计与实现精讲视频课程
- 9、三维游戏引擎开发-渲染实战视频课程
- 01、基本概念介绍
- 02、GLES2.0 开发环境建立
- 03、gles2的开发流程
- 04、基本图元绘制介绍(1)
- 05、文理的使用(1)
- 06、文理使用(2)
- 07、坐标变换
- 08、第一人称摄像机
- 09、第三人称摄像机(2)
- 10、第三人称摄像机(2)
- 11、直接使用显存
- 12、离屏幕渲染(画中画)
- 13、混合技术,实现图片的透明
- 14、模型基础(1)
- 15、模型基础(2)
- 16、动画-文理动画
- 17、动画-关键帧动画
- 18、动画-骨骼动画(1)
- 19、动画-骨骼动画(2)
- 20、动画-骨骼动画(3)
- 21、场景管理-不可见剔除
- 22、场景管理-节点管理(1)
- 23、场景管理-节点管理(2)
- 24、地形技术-地形绘制
- 25、地形技术-多文理贴图
- 26、地形技术-地形编辑(地形刷绘)
- 27、地形技术-分页
- 28、布告板技术(1)
- 29、布告板动画技术(2)
- 三维游戏引擎开发-渲染实战视频课程
- 03.第三阶段:地理信息系统专题
- 01、Google地图下载器制作视频课程
- 01、课程介绍
- 02、MFC环境建立
- 03、框架建立-下载任务窗口
- 04、框架建立-XML配置任务数据
- 05、框架建立-保存任务文件到XML中
- 06、下载属性窗口的制作
- 07、日至输入窗口的制作
- 08、地图绘制窗口的制作
- 09、地图渲染类的介绍
- 10、鼠标事件的引入-框选地图
- 11、在地图上框选下载区域的实现
- 12、坐标转换的实现
- 13、任务下载窗口制作
- 14、任务下载窗口制作2
- 15、将任务添加到任务列表中
- 16、数据存储的设计(SQLITE)
- 17、数据库操作的实现
- 18、字符集问题的处理
- 19、数据库接口的设计
- 20、下载任务的设计
- 21、下载任务的设计2
- 22、下载任务的生产者设计
- 23、下载任务的生产者设计2
- 24、CULR-http类的引入
- 25、联调-数据下载的实现
- 26、联调-任务文件恢复联调
- 27、断点续传
- 28、下载失败处理
- 29、下载控制
- 30、下载控制2
- 31、下载进度计算
- 32、日志的记录
- Google地图下载器-51-全
- 02、OpenGL 实现Google地图瓦片的绘制,漫游
- 01、课程介绍,相关理论学习
- 02、OpenGL实现纹理的绘制
- 03、FreeImage的使用,加载外部图片
- 04、墨卡托投影学习
- 05、金字塔模型的介绍-瓦片计算
- 06、瓦片数据的绘制
- 07、地图漫游-鼠标拖拽实现地图平移
- 08、地图漫游-鼠标滚轮实现地图的缩放
- 09、地图漫游-鼠标滚轮实现地图的_定点_缩放
- 10、窗口消息的处理,实现自动计算窗口范围
- 11、地图漫游的优化
- 12、采用FrameBufferObjet绘制地图
- 13、引入Cache(缓冲),提速访问瓦片效率
- 14、采用大纹理优化,减少OpenGL纹理对象的分配
- 15、ImageBuffer优化,去除向显卡中传递的_脏_数据
- 16、ImageBuffer与Cache结合
- 17、地图滚动处理,实现_无缝_漫游
- 18、产生全球瓦片数据,为项目开发调试保驾护航
- 19、采用多线程加载瓦片数据的初步思路
- 20、多线程任务系统的设计
- 21、多线程加载瓦片的实现方法1
- 22、多线程加载瓦片的实现方法2
- 23、多线程加载数据结合cache优化性能和效果
- 24、关于无瓦片数据或者瓦片丢失的处理方法总结和实现
- 25、优化代码
- 26、MFC 对话框中显示地图
- 27、MFC View中显示地图
- 28、QT窗口中显示地图
- 29、libcurl介绍,封装http访问类
- 30、实现在线访问google map
- OpenGL实现Google地图瓦片的绘制,漫游
- 03、OpenGL实现shapefile的绘制
- 01、OpenGL& GIS理论
- 02、OpenGL& GIS理论2
- 03、窗口系统的实现
- 04、OpenGL窗口系统的实现
- 05、Shapefile(.shp)文件的读取和绘制
- 06、OpenGL下如何使用freetype字体库
- 07、OpenGL下如何使用freetype字体库2
- 08、shapefile中dbf文件的读取
- 09、OpenGL实现文字地理要素的绘制
- 10、实现地图的漫游功能
- 11、实现地图经纬度投影,坐标转化
- 12、墨卡托投影的实现,坐标转化
- 13、proj4投影库的介绍和使用
- 14、大规模绘制优化手段-不可见剔出
- 15、大规模绘制优化手段-零内存传输
- 16、大规模绘制优化手段-零绘制
- 17、大规模绘制优化手段-零绘制2
- 04.第四阶段:视频处理-特效
- OpenGL-Shader 实现RGB到YUV420加速转换输出视频课程
- 01、课程介绍
- 02、开发环境建立
- 03、RGB图片读取
- 04、CPU实现RGB到YUV的转换
- 05、OpenGLES2环境建立
- 06、OpenGLES2实现绘制RGB数据
- 07、Shader实现YUV中的Y分量计算转化
- 08、Shader实现YUV中的UV分量计算输出
- 09、对Shader输出的数据验证
- 10、代码优化,将YUV数据同时计算输出
- OpenGL-rgb-yuv-shader
- OpenGL-实现视频播放(FFMpeg)视频课程
- 1-1、环境的建立
- 1-2、窗口的建立
- 1-3、FFMPEG学习
- 1-4、实现视频播放
- 1-5、多线程解码
- 1-6、线程死锁的处理
- 1-7、类的封装
- 1-8、播放速率的控制
- 2-10、采用双PBO传输YUV数据到显卡
- 2-11、bug的修正
- 2-1、OpenGL环境的建立
- 2-2、OpenGL绘制视频
- 2-3、OpenGL绘制视频2
- 2-4、可编程管线的实现
- 2-5、shader实现YUV-RGB转换
- 2-6、YUV-GPU实现
- 2-7、实现单纹理YUV的数据的传输
- 2-8、实现单纹理YUV的数据的传输2
- 2-9、采用PBO传输YUV数据到显卡
- 3-1、特效的介绍
- 3-2、实现多路输入过渡特效
- 3-3、实现多路输入过渡特效bug修正
包含内容
- · 01.第一阶段:图形学-基础阶段
- · 1.图形学理论视频课程-实现OpenGL精简内核
- · 1-1 课程介绍
- · 1-10 绘制贝塞尔曲线
- · 1-11 实现矩形的绘制
- · 1-12 优化矩形绘制效率
- · 1-13 矩形颜色的填充(颜色插值)
- · 1-14 实现三角形绘制
贡献者
小宇
白银