登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
《实时渲染》第2章-图形渲染管线-2.6管线综述 ...
《实时渲染》第2章-图形渲染管线-2.6管线综述
[ 复制链接 ]
届表
1 小时前
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
实时渲染
2. 图形渲染管线
2.6 管线综述
点、线和三角形是构建模型或对象的渲染图元。假设该应用程序是一个交互式计算机辅助设计 (CAD) 应用程序,并且用户正在检查华夫饼制造商的设计。在这里,我们将在整个图形渲染管线中遵循这个模型,包括四个主要阶段:应用程序、几何、光栅化和像素处理。场景以透视图渲染到屏幕上的窗口中。在这个简单的示例中,华夫饼机模型包括线条(以显示零件的边缘)和三角形(以显示表面)。华夫饼机有一个可以打开的盖子。一些三角形由带有制造商标志的二维图像构成。对于这个例子,表面着色完全在几何阶段计算,除了纹理的应用,它发生在光栅化阶段。
2.6.1 应用程序阶段
CAD应用程序允许用户选择和移动模型的各个部分。例如,用户可能会选择盖子,然后移动鼠标将其打开。应用阶段必须将鼠标移动转换为相应的旋转矩阵,然后确保该矩阵在渲染时正确应用于盖子。另一个示例:播放的动画沿着预定义的路径移动相机以从不同视图显示华夫饼机。然后,应用程序必须根据时间更新相机参数,例如位置和视图方向。对于要渲染的每一帧,应用程序阶段将模型的相机位置、光照和图元提供给管道中的下一个主要阶段——几何阶段。
2.6.2 几何处理
对于透视视图,我们假设应用程序提供了一个投影矩阵。此外,对于每个对象,应用程序都计算了一个矩阵,该矩阵描述了视图变换以及对象本身的位置和方向。在我们的例子中,华夫饼机的底座有一个矩阵,盖子是另一个。在几何阶段,对象的顶点和法线使用该矩阵进行变换,将对象放入视图空间。然后可以使用材质和光源属性计算顶点处的着色或其他计算。然后使用单独的用户提供的投影矩阵执行投影,将对象转换为代表眼睛所见的单位立方体空间。立方体外的所有基元都将被丢弃。与这个单位立方体相交的所有图元都被裁剪在立方体上,以获得一组完全位于单位立方体内部的图元。然后将顶点映射到屏幕上的窗口中。在执行完所有这些每三角形和每顶点操作之后,结果数据将传递到光栅化阶段。
2.6.3 光栅化
然后将在前一阶段裁剪后幸存下来的所有图元进行光栅化,这意味着找到图元内的所有像素并将其进一步发送到管线中进行像素处理。
2.6.4 像素处理
这里的目标是计算每个可见图元的每个像素的颜色。那些与任何纹理(图像)相关联的三角形将根据需要使用这些图像进行渲染。可见性通过z缓冲区算法以及可选的丢弃和模板测试来解决。依次处理每个对象,然后将最终画面显示在屏幕上。
2.6.5 总结
这条管线源于数十年针对实时渲染应用程序的API和图形硬件演变。需要注意的是,这并不是唯一可能的渲染管道;离线渲染管道经历了不同的进化路径。电影制作的渲染通常使用微多边形管道[289, 1734] 完成,但最近已经普遍开始使用光线追踪和路径追踪了。第11.2.2节中介绍的这些技术也可用于架构和设计视觉化。
多年来,应用程序开发人员使用此处描述的过程的唯一方法是通过使用中的图形API定义的固定功能管线。固定功能管线之所以如此命名,是因为实现它的图形硬件由无法以灵活方式编程的元素组成。主要固定功能管线的机器的最后一个例子是2006年推出的任天堂Wii。另一方面,可编程GPU可以准确地确定在整个管线的各个子阶段应用哪些操作。对于本书的第四版,我们假设所有开发都是使用可编程GPU完成的。
2.7 进一步阅读和资源
Blinn的书《A Trip Down the Graphics Pipeline》[165] 是一本关于从头编写软件渲染器的老书。这是一个很好的资源,可以了解实现渲染管道的一些微妙之处,解释关键算法,例如剪辑和透视插值。古老(但经常更新)的《OpenGL 编程指南》(又名“红皮书”)[885] 提供了图形管线和与其使用相关的算法的全面描述。我们这本书的网站realtimerendering.com提供了指向各种管线图、渲染引擎实现等的链接。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
渲染
管线
实时
2章
图形
相关帖子
从“2D转3D”看计算机图形学的数学本质
关于地图渲染加20w数据展示和地图动画怎么做
vue甘特图 vxe-gantt 如何将子任务显示一行在父级中,父级行内渲染显示子任务的用法
《实时渲染》第2章-图形渲染管线-2.5像素处理
[大模型实战 02] 图形化的大模型交互: Open WebUI部署指南
惊爆!72.1K star 的 Netdata:实时监控与可视化的超炫神器!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
从“2D转3D”看计算机图形学的数学本质
6
627
秦欣艷
2026-01-24
安全
关于地图渲染加20w数据展示和地图动画怎么做
3
10
胰芰
2026-01-26
代码
vue甘特图 vxe-gantt 如何将子任务显示一行在父级中,父级行内渲染显示子任务的用法
2
344
杼氖
2026-01-30
安全
《实时渲染》第2章-图形渲染管线-2.5像素处理
0
162
忿媚饱
2026-01-31
安全
[大模型实战 02] 图形化的大模型交互: Open WebUI部署指南
0
773
癖艺泣
2026-02-02
安全
惊爆!72.1K star 的 Netdata:实时监控与可视化的超炫神器!
0
956
游康
2026-02-03
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
届表
1 小时前
关注
0
粉丝关注
22
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9937
6
韶又彤
9952
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9919
10
俞瑛瑶
9998
查看更多
今日好文热榜
592
SpringBoot进阶教程(八十九)rabbitmq长链接
390
决策单调性优化 DP
481
文件存储微服务-阿里云OSS
747
就在明晚!时序数据库 Apache IoTDB x Dori
473
《实时渲染》第2章-图形渲染管线-2.6管线综
561
VS Code 的 Remote-SSH 一直连接不上远程主
56
练习:回家(选票定理Ballot Theorem)
727
产品评测:Visual Paradigm AI 聊天机器人
754
wangeditor5自定义扩展设置图片宽高(px)
850
spring6-工厂设计模式与bean的实例化方式
782
字符编码知多少(二)
669
LLVM Pass快速入门(三):指令替换
10
天翼云全栈赋能OpenClaw,打造会干活的专属
626
DeepK 自动程序修复框架论文——OceanBase
20
再谈模拟退火
37
《让子弹飞》之"插入排序办公室"风云
802
Qt 技巧笔记 (五) Qt消息框(QMessageBox)
657
3台服务器扩展到100台,如何避免数据大迁移
609
最新!银河麒麟v11 kubeadm部署k8s v1.35.0
338
asp.net core如何实现Controller热更新