因此,我正在使用DX12进行项目开发,因此教程/书籍与以前的大学学习之间存在冲突。
因此,一个教程给出了以下评论: 我们的场景中有两个对象,每个对象都有自己的固定缓冲区数据。我们可以为每个对象的每个帧创建一个资源堆,但这很浪费,所以我们要做的是将两个对象的常量缓冲区存储在三个资源堆的每一个中,然后将根描述符设置为对象的正确内存地址。常量缓冲区,我们需要在下一个绘制调用中使用它。
因此,在本教程中,对象被索引到单个常量缓冲区中,这意味着如果场景中有100个对象,则缓冲区将必须容纳所有对象。
例如,假设我具有以下要传递给着色器的结构id
PerObject
{
XMMATRIX World
Material properties
any other values that are per object i may want
}
GlobalBuffer
{
View
Projection
}
LightBuffer
{
any light properties
}
哪个选项最好?
两种方式都分配相同的内存,我不确定哪一种更实用?
谢谢