fixed a bug at vdm compare in PrimitiveDataBuffer

This commit is contained in:
hyzboy 2025-03-14 00:16:53 +08:00
parent 2e2f306b6b
commit 7306581616
2 changed files with 7 additions and 4 deletions

View File

@ -398,7 +398,7 @@ void MaterialRenderList::ProcIndirectRender()
void MaterialRenderList::Render(RenderItem *ri)
{
if(*(ri->pdb)!=*last_data_buffer) //换buf了
if(!last_data_buffer||*(ri->pdb)!=*last_data_buffer) //换buf了
{
if(indirect_draw_count) //如果有间接绘制的数据,赶紧给画了
ProcIndirectRender();

View File

@ -28,9 +28,12 @@ const int PrimitiveDataBuffer::compare(const PrimitiveDataBuffer &pdb)const
{
ptrdiff_t off;
off=&vdm-&pdb.vdm;
if(off)
return off;
if(vdm&&pdb.vdm)
{
off=(ptrdiff_t)vdm-(ptrdiff_t)pdb.vdm;
if(off)
return off;
}
off=vab_count-pdb.vab_count;
if(off)