腾讯游戏学院:实时图形渲染管道
发布日期:2021-09-14 15:33:22
浏览次数:3
分类:技术文章
本文共 1163 字,大约阅读时间需要 3 分钟。
腾讯游戏学院课程1:实时图形渲染管道
时间:2019年11月23日
地点:清华大学深圳研究生院C1目录
宏观渲染系统
图形渲染
从而为/三维模型生成图像,数学上可以用渲染方程表示
两种方法: 离线渲染(光线跟踪、路径跟踪、辐射度算法) 实时渲染(光栅化)画家算法
深度缓冲(z-buffer)无需排序,分辨率与图像(颜色缓冲)相同。管线与管道
宏观渲染管道
输入场景-应用阶段(cpu)-几何阶段(gpu)-光栅阶段(gpu)-输出图像应用阶段
输入场景-可见性检测–分组和排序-提交图元-输出图元
场景图Sence Graph需要组织场景中的物体(摄像机、光源、网格 、骨骼)查找
使用空间分割技术加速场景查询,包括:二元空间分割BST Tree、八叉树BVH Tree(现在用的比较多)、入口(Protal)
可见性检测
平截头体剔除、遮挡剔除、细节LOT
分组和排序(按什么顺序绘制)
通常按渲染层layer分组
半透明物体不能用z-buffer排序 所以需要半透明物体运用与渲染无关的技术OIT(Order Independant)提交图元
drawcall
图元:顶点数据(存放在顶点缓冲区,vertex buffer)与索引数据(存放在索引缓冲区,index buffer)几何阶段
渲染图元-顶点着色-裁剪-屏幕映射-变换后顶点
输入装配,读取vb ib,生成三角形的顶点数据 顶点着色,执行顶点着色器,输入顶点属性,输出 包括:空间变换(模型空间-世界空间-观察空间(透视投影or正交投影)-齐次坐标空间-屏幕空间)几何图元的顶点定义在模型空间,需要变换到屏幕空间 三个矩阵:Oject2World,View,Projection, 投影变换(观察空间-齐次坐标空间)几何着色器
朝向剔除:渲染时只渲染正面/背面 三角形裁剪:裁剪超出裁切平面的部分 透视除法及光栅化阶段
变换后的顶点-扫描转换-像素着色-输出合并-渲染目标
扫描转换:把三角形数据转换为像素的位置。需要对颜色、纹理坐标进行插值(须透视正确)会出现锯齿 像素着色:执行像素着色器,比如对问题采样、光照计算、阴影计算,最后输出颜色的修正总结&参考
前向管线与延迟管线 Geometry-VS-OS-FS-Render Target
前向 O(M*N) 延迟 O(M+N) more buffer参考网站及书籍推荐
《游戏引擎装配》
http://www.realtimerendering.com/portal.html http://jcgt.orge http://github.com/miloyip/game-programmer 《Real-time Rendering》 《腾讯游戏开发精粹》腾讯-魔方工作室群
转载地址:https://blog.csdn.net/weixin_42490152/article/details/103210381 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月08日 17时32分58秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Leetcode刷题篇】leetcode70 爬楼梯
2019-04-26
【Leetcode刷题篇】leetcode739 每日温度
2019-04-26
【Leetcode刷题篇】leetcode121买卖股票的最佳时机
2019-04-26
【面试篇】Java多线程并发-Java关键字volatile详解
2019-04-26
【面试篇】Java的代理模式-静态代理和动态代理详解
2019-04-26
【面试篇】 Java对象拷贝(对象克隆 对象复制)
2019-04-26
【Leetcode刷题篇】leetcode64 最小路径和
2019-04-26
【Leetcode刷题篇】leetcode79 单词搜索
2019-04-26
【Leetcode刷题篇】leetcode300 最长上升子序列
2019-04-26
【Leetcode刷题篇】leetcode394 字符串解码
2019-04-26
【Leetcode刷题篇】leetcode152 乘积最大数组
2019-04-26
【Leetcode刷题篇】leetcode56 合并区间
2019-04-26
【Leetcode刷题篇】leetcode210 课程表II
2019-04-26
【Leetcode刷题篇】leetcode207 课程表
2019-04-26
【Leetcode刷题篇】leetcode322 零钱兑换
2019-04-26
【Leetcode刷题篇】leetcode437 路径总和III
2019-04-26
【Leetcode刷题篇】leetcode416 分割等和子集
2019-04-26
【Leetcode刷题篇】leetcode31 下一个排列
2019-04-26
【Leetcode刷题篇】leetcode621 任务调度器
2019-04-26
【Leetcode刷题篇/面试篇】通俗易懂详解动态规划-背包问题详解
2019-04-26