UE5——源码阅读——137——渲染

本文详细介绍了如何通过UniformBufferLayout动态创建和管理UniformBuffer,涉及材质更新、Shader参数获取、SRV判断以及在渲染线程和RHI线程中的缓冲区操作,包括缓冲区大小计算、对齐检查和CPU内存映射等技术。
摘要由CSDN通过智能技术生成

针对材质的
在这里插入图片描述
获取材质更新材质
在这里插入图片描述
更新渲染队列内容
在这里插入图片描述
更新RHI的统一BUFF
在这里插入图片描述
创建统一BUFF,UniformBufferLayout:描述Uniform Buffer布局和结构的类,它定义了参数数据在Uniform Buffer中的排列方式和结构。通过使用FRHlUnifgrmBufferLaygwt,可以在运行时动态地创建和管理Uniform Buffer的布局
在这里插入图片描述
创建统一BUFF
在这里插入图片描述
遍历资源,获取Shader参数
在这里插入图片描述
获取参数
在这里插入图片描述

判断是不是SRV
在这里插入图片描述
判断功能级别
在这里插入图片描述
获取常量缓冲的大小
在这里插入图片描述
判断对于16字节的对齐
在这里插入图片描述
判断池子是否打开,是不是在渲染线程,是不是RHI线程
在这里插入图片描述
创建缓冲区BUFF
在这里插入图片描述
定义缓冲区BUFF ,拿到池子的桶,
如果PoolBucket中有缓冲区,则从最后一个位置取出一个缓,中区,并进行一些检查。然后,更新统计信息,将缓冲区值给UniformBufferResource.
在这里插入图片描述
准备描述
在这里插入图片描述
创建BUFF,更新统计
在这里插入图片描述
缓冲区里面写入数据 Map函数将缓冲区映射到CPU可访问的内存中
在这里插入图片描述
生成一个统一BUFF,准备一个本地的CPU内容
在这里插入图片描述
缓冲区描述
在这里插入图片描述
创建BUFF缓冲区
在这里插入图片描述

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值