ANN: D3D Movie "The Triangle Build Up Of An F1 Car"

Started by
22 comments, last by Tape_Worm 18 years, 9 months ago
Evening all, I wish to announce a project that I've been working on for a few weeks now. I'm hoping you'll like it! What is it? I've made a 60 second movie showing how a 3D mesh is constructed in Direct3D9. It's a little difficult to explain, but it shows as a form of animation the steps that go on "behind the scenes" when you despatch a mesh to be rendered. It's aimed mostly at beginners - a sort of visual introduction to the process that they'll be trying to learn. It's unlikely there's anything ground breaking for intermediate/advanced D3D programmers, but you might find it interesting... TheTriangleMakeUpOfAnF1Car.zip (13.73mb). Grab this file, inside is a .AVI file encoded using the DivX codec. It should play fine in all reasonably up-to-date players. Background As you may or may not know, I've written 100's of articles on DirectX over the last few years. I wanted to try something new - and I'm not 100% sure yet that this format will work out. Given the somewhat obviously graphical nature behind Direct3D programming the goal was to create a video that demonstrates various aspects of how a D3D application works. One that might not be immediately obvious from looking at the code, mathematics and diagrams that often make up the bulk of introductory materials. In some respects, interactive source code that ships with articles does this job, but with a video it's easier for me (the author) to focus on particular things in a particular order. Also, for some advanced techniques a video could well show these off without having to worry about the end-user not being able to run the code. If people appreciate this video and there's some favourable feedback, then I've already given thought to making some more useful videos. This current video can be considered as an experiment of sorts. A bit of explanation As you'll see, the video runs through 4 distinct phases. It's fairly self-explanatory, but I thought I'd include a brief run-down here... This first section shows, as green dots, each vertex that builds up the mesh. With this view you can see how the key points of the mesh are positioned. The second part of the movie effectively joins up the dots, showing the outlines of each triangle as blue lines. With the outlines of the triangles displayed, the renderer starts to fill in the content of each triangle based on the correct material-based lighting. This is the build-up of the display that you would be expecting to see if you were to request Direct3D to render it. With the build up complete, the movie shows a rotation of the final mesh rendering. There are two particular things to note about this whole sequence: (1) In actually rendering a mesh, D3D doesn't do the first two phases of drawing the dots and connecting them up [smile]. I've put that in to show the progression of how the data contained in a mesh fits together to build the final product. (2) There is an interesting pattern to the order in which vertices and triangles are actually rendered. It is logical, but one of the things that this sort of movie was leading to (but didn't end up fitting in) is a visual "proof" of why a depth buffer (and associated things) might be necessary. Your thoughts? As mentioned above, this whole project is a bit of an experiment. I'm not aware of there being any similar videos available (my initial searches didn't yield anything). Any thought you have are greatly appreciated. Leave a post here or send me a private message I'm gonna run away and hide for now and come back later to check any replies - fingers crossed it'll be more than Cheers, Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Advertisement
Nice job!!
Just kidding, it's actually a pretty cool idea [smile]
Thanks!

Do you think the format actually works to demonstrate what I'm trying to explain/show?

Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Nice idea, but I would like to have some kind of explanation while the video is running, and do it a bit slower. I know the idea of vertices and triangles, but it should be more educating, if you would show it slower and tell the "audience" some stuff about it.
Quote:Original post by matches81
Nice idea, but I would like to have some kind of explanation while the video is running, and do it a bit slower.

Yup, I had thought of that. I had a slight problem there - if I reduced the frame rate (say 20fps -> 15fps) it didn't look so smooth. If I increased the frame count so as to make it longer the file size got prohibitively big...

Quote:Original post by matches81
I know the idea of vertices and triangles, but it should be more educating, if you would show it slower and tell the "audience" some stuff about it.

The most ideal thing would be to have a voice-over commentry, but I lack the software/hardware here to do that (not to mention the talent [wink]).

I had thought about breaking it into a power-point presentation so that it could have some text/diagrams running along side each section. Would that work?

Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Overall, excellent job! I see that the filesize is within the limits of GDNet+ - remember that if you make more videos, you can store them on my webserver if you want.

Quote:I had thought about breaking it into a power-point presentation so that it could have some text/diagrams running along side each section. Would that work?

That would be pretty cool, but watch how much stuff you put into those power-point presentations. The file sizes can get *really* big. Less than a full-fledged movie, though.

Oh yea, I see you've lost the messy jello objects
Dustin Franklin ( circlesoft :: KBase :: Mystic GD :: ApolloNL )
Quote:Original post by circlesoft
Overall, excellent job! I see that the filesize is within the limits of GDNet+ - remember that if you make more videos, you can store them on my webserver if you want.

Thanks for the offer! I'm still hoping there'll be a bit more feedback as to whether the format works effectively or not before I think too much about a "sequel".

Quote:Original post by circlesoft
Quote:I had thought about breaking it into a power-point presentation so that it could have some text/diagrams running along side each section. Would that work?

That would be pretty cool, but watch how much stuff you put into those power-point presentations. The file sizes can get *really* big. Less than a full-fledged movie, though.

I'm gonna have a go with this when I get time - just see what sort of possibilities/restrictions it has.

Quote:Original post by circlesoft
Oh yea, I see you've lost the messy jello objects

Hehe, yeah - they weren't such a good idea [smile]. Realised I could get some help from a digi-artist that I know (who also does stuff for F1CM)..

Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

I love what you've done. It would go great with supporting text or (even better) a voice-over. I actually ran across a site where someone was making DirectX tutorial videos, but I don't remember the link. But I sure love the idea!
That's actually a pretty cool idea. Especially beginners should get some sort of insigt in how the process works, and where you can gain performance

Thumbs up ;)

This topic is closed to new replies.

Advertisement