Archived

This topic is now archived and is closed to further replies.

Back buffer insanity?

This topic is 5147 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 not sure if this is a bug or a misuse of D3D. My problem is as follows: I render a line strip and call Present(). It appears OK. I render another line strip and call Present(). It appears OK. I render a third line strip and call Present(). It does not appear. I render all line strips and call Present(). The missing line strip now appears. Any idea why the third line stip failed to display? Some info: my device was created with 1 back buffer and specifies D3DSWAPEFFECT_DISCARD. Gort...Klaatu, Barada Nikto!

Share this post


Link to post
Share on other sites
The line strip rendering are discrete events. By that I mean, I click a position on the screen to create the line strip. The strip is rendered and Present() is called. I then click another position on the screen to create the 2nd line strip, and so on.

Note: a list is maintained of all rendered objects. Since I use D3DSWAPEFFECT_DISCARD, I run the list and re-render all objects when a new object is rendered. I do this because D3D will not allow me to render directly to the screen (primary surface).

Gort...Klaatu, Barada Nikto!

Share this post


Link to post
Share on other sites
Have you tried this with the D3D9 reference rasterizer? It doesn''t buffer any frames, so that would take that variable out of the equation.

Share this post


Link to post
Share on other sites
Don, thanks for the suggestion. I took your advice and tried using a reference device. The problem still occurs. I''m beginning to think it may be some weird bug in my code. It seems strange that it requires an additional rendering and present to get everything to appear.

Gort...Klaatu, Barada Nikto!

Share this post


Link to post
Share on other sites