Glsl 在光线行进中,为什么要使用对象ID并确定对象';当您可以仅将材质与对象关联时,是否按该id设置材质?

Glsl 在光线行进中,为什么要使用对象ID并确定对象';当您可以仅将材质与对象关联时,是否按该id设置材质?,glsl,raymarching,Glsl,Raymarching,那么,当你用光线击中一个物体时,为什么你要抓取一个物体的id并用该id确定它的材质,而你可以直接抓取一个材质(这也更快) 我能看到的唯一原因是,如果一个对象有一堆比材质更多的东西,但在这种情况下,我宁愿传递那堆而不是对象id。只存储每个映射单元的id,内存效率要高得多。。。材质的每个单元可以有远不止4个字节,一旦你开始使用体素,你将很快耗尽内存。另外,通过太大的内存块传递也不是很方便缓存。。。

那么,当你用光线击中一个物体时,为什么你要抓取一个物体的id并用该id确定它的材质,而你可以直接抓取一个材质(这也更快)


我能看到的唯一原因是,如果一个对象有一堆比材质更多的东西,但在这种情况下,我宁愿传递那堆而不是对象id。

只存储每个映射单元的
id
,内存效率要高得多。。。材质的每个单元可以有远不止4个字节,一旦你开始使用体素,你将很快耗尽内存。另外,通过太大的内存块传递也不是很方便缓存。。。