• Advertisement
Sign in to follow this  

[DX10] Predicate drawing doesn't work

This topic is 3387 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, I can't get predication to work, as all geometry is always being rendered. Did I make some mistake in my code? Does it matter how states are set when I'm rendering the occluder mesh?

// At init-------------------------
D3D10_QUERY_DESC dq;
	dq.MiscFlags=D3D10_QUERY_MISC_PREDICATEHINT;
	dq.Query=D3D10_QUERY_OCCLUSION_PREDICATE;

	// Create one occlusiion query
	HR(device->CreatePredicate(&dq,&pred));


// At frame render-----------------
// Occluder
	pred->Begin();
	// I render occluder here
	pred->End();


// Render some spheres with DrawIndexedInstanced so the predication
// will be more obvious
	device->SetPredication(pred,false);
	// Render many sphere here at the same place
	device->SetPredication(NULL,false);




All spheres are at the same position, the occluder mesh is a box in which the high poly sphere mesh fits

Share this post


Link to post
Share on other sites
Advertisement
I figured it out-the order of drawing objects was incorrect:

I first drew the occluder and only then the object that served as an obstacle to prevent viewing the occluder, but now I changed it so that the obstacle gets rendered 1st and the occluder afterwards and it works :D

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement