openGL之API学习(四十五)正向渲染和延迟渲染

本文探讨了现代图形管道中的正向渲染和延迟渲染技术。正向渲染适用于简单场景,而延迟渲染能高效处理大量灯光,但需要显卡支持多目标渲染。延迟渲染通过G-Buffer存储几何信息,减少光照计算的复杂性,但存在不支持透明对象等问题。选择哪种渲染方式取决于场景需求和硬件限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你是一个游戏开发者,在你使用的图形引擎中或多或少都听说过forward rendering和deferred rendering。通常你必须在你的游戏中选择一种。但它们是什么,彼此之间有什么不同,我们又该如何选择呢?

Modern Graphics Pipelines(现代图形管道)

在开始之前,我们必须要知道一点现代可编程图形管线的一些知识。早些时候,我们被显卡的功能限制,不能去改变每个像素的绘制方式,除了发送一些不同的纹理外,不能去修改顶点的数据。现在时代已经改变,我们能够基于显卡的图形管线进行编程。我们能够发送代码到显卡去改变像素的外观(颜色),使用法线纹理(normal maps)改变它们外观使其变的突起,也可以添加反射(以及大量的现实主义)。

此代码采用几何,顶点和片段着色器的形式,从本质上来说,它们控制显卡如何去渲染对象。

可编程图形管道的简化视图

Forward Rendering(正向渲染/前向渲染)

Forward Rendering 是大多数渲染引擎使用的渲染技术。你给显卡提供几何对象,它将几何对象分解成顶点送入顶点着色器,然后把这些顶点数据插值后分别送入片元/像素着色器,然后在它们被送入屏幕前做最终的渲染处理(模板测试,混合等)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值