Sign in to follow this  
n3Xus

[DX10] Predicate drawing doesn't work

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
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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this