Ejemplo n.º 1
0
void ShaderModelRenderer::Filter(CModelFilter& filter, int passed, int flags)
{
	for (size_t i = 0; i < m->submissions.size(); ++i)
	{
		CModel* model = m->submissions[i];

		if (flags && !(model->GetFlags() & flags))
			continue;

		if (filter.Filter(model))
			model->SetFlags(model->GetFlags() | passed);
		else
			model->SetFlags(model->GetFlags() & ~passed);
	}
}
Ejemplo n.º 2
0
void SortModelRenderer::Filter(CModelFilter& filter, int passed, int flags)
{
    for (std::vector<SModel*>::iterator it = m->models.begin(); it != m->models.end(); ++it)
    {
        SModel* smdl = *it;
        CModel* mdl = smdl->GetModel();
        if (flags && !(mdl->GetFlags() & flags))
            continue;

        if (filter.Filter(mdl))
            mdl->SetFlags(mdl->GetFlags() | passed);
        else
            mdl->SetFlags(mdl->GetFlags() & ~passed);
    }
}