• Advertisement
Sign in to follow this  

Deferred Context

This topic is 1244 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

I'm trying to understand how one would utilize the deferred context, as opposed to the immediate context. Currently, my engine uses only the IC, but i have multithreading implemented in the engine, i use it for Frustum culling of objects and lights.

 

Given a scene that has 12 unique objects, with seperate VB/IB and materials. 

 

Currently, my engine would spawn N Threads, on my system it's 4. Each thread would be given 3 objects to frustum cull, and return the results. After the culling, let's say i had 4 objects that were visible.

 

At this point, would each worker thread continue on, rendering to a deferred context, after each completes, they would finalize, and execute on the immediate context ?

 

 

 

 

Share this post


Link to post
Share on other sites
Advertisement

As far as I know the motivation behind the deferred contexts are draw sequence ordering.

Like you already said, you submit draw calls and state changes to your deferred context, they are appended to a command list for the respective context on each thread.

After that you can execute each threads contexts command list on your main thread and present the scene.

Share this post


Link to post
Share on other sites

That's how i understood it, just wanted a little clarification on it.  In the scenario i provided, if that is the basic gist.  From my research, that about sums it up. 

Share this post


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

  • Advertisement