Practical Direct3D Programming

Started by
9 comments, last by ankhd 16 years, 6 months ago
For the last year I've been writing a 3D game in Direct3D called Planitia. I have written an article detailing the things I've learned during that time in the hopes that it will help other budding Direct3D programmers have less trouble than I did. http://www.viridiangames.com/blog/?p=407 Please feel free to contact me if you wish to suggest any improvements. Thank you! [Edited by - Viridian on October 3, 2007 5:42:26 PM]
Advertisement
Great video captures! They really help to explain what you're writing.
....[size="1"]Brent Gunning
I noticed you used the Frank Luna book so it should be good!
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Looks god. Though I do think that your water would do better as lava. It has that slow moving sensation and bulging feel[smile]
regards/thallishI don't care if I'm known, I'd rather people know me
Quote:Original post by thallish
Looks god. Though I do think that your water would do better as lava. It has that slow moving sensation and bulging feel[smile]


Yeah, I know...I may go back and do that if I have time.
Nice article and engine, thank you.

I have one question about your "(Not) Seeing the Unseen" Once you knew which triangls you were drawing did you then lock / fill your 8 vertexbuffers? Or did you have some way of drawing only partial buffers...if you did I would like to hear about that portion of your development.

I assume it is some sort of math to find out which triangle strips are drawn, but this could result in lots of draw calls which slows rendering down quite a bit.

-v
@vs322: You don't need to lock/fill the vertexbuffers just to render a part of them. You just need to update the index buffers, so you end up rendering the tiles that need to be rendered. Although in some cases this might be slow if the indices vary alot.
Oh, I guess I didn't make that explicitly clear, did I? Yes, the vertex buffers always hold all the current data, but the index buffers only contain the indices for whatever triangles pass the visibility tests; thus it is the index buffers that limit what triangles get drawn.

I'll update the article to make that clearer.
Nicely done! That could come in quite handy.
Thanks for the tip Cranky and Viridian, and Viridian, once again: nice article.

This topic is closed to new replies.

Advertisement