DirectX 8 - Tutorials - Direct3D - Intro

Direct3D is the main part of DirectX since it does everything you see. Direct3D8 does not only 3D, but 2D! Since, 2D surprisingly is harder than 3D, these tutorials on Direct3D will on portray on 3D and not 2D unless stated so.

Now, the following is a huge list of terms you should know before we proceed. They explain a lot. They ARE boring, but please read it, since a lot of these terms are very important. And of course, we will go more in depth in all the terms later. All the pictures are from the Microsoft DirectX 8 for Visual Basic SDK. Things that have quotes and no relation are also from the SDK.

Direct3D object It is the object that does all your Direct3D stuff.
Direct3DDevice object "A Microsoft® Direct3D® device is the rendering component of Direct3D. It encapsulates and stores the rendering state. In addition, a Direct3D device performs transformations and lighting operations and rasterizes an image to a surface. Architecturally, Direct3D devices contain a transformation module, a lighting module, and a rasterizing module, as the following illustration shows."

In lamest terms, it is the object that does all your rasterising (drawing), transformation (move, rotate, scale) and the lighting (lights!).

HAL device It's the device that is installed on your computer. Basically, it's your video card.
Reference device Basically, it's using sofware instead of hardware to do all your calculations etc... Which means two things. The bad thing is that it is slow. The good thing is that it can do ANYTHING DirectX8 can do.
Vertex A 3 dimensional point. (Plural : Vertices)
Index A reference to a vertex. (Plural : Indices)
Primitive A way of the Device to draw something from a Vertex Array, Vertex Buffer, Indexed Vertex Array or Indexed Buffer.
Point List primitive Drawing 1 Point per vertex.

Line List primitive Drawing 1 Line per group of 2 vertices.

Line Strip primitive Drawing 1 Line throught all vertices.

Triangle List primitive Drawing 1 Triangle per group of 3 vertices.

Triangle Strip primitive Drawing first 1 Triangle from the 1st, 2nd and 3rd vertices. Then drawing 1 Triangle from the 2nd, 3rd and 4th Points to make 1 Triangle. Drawing 3rd, 4th and 5th Points to make 1 Triangle. ETC. . . The result is a Strip.

Triangle Fan primitive Drawing 1st Point and n1th and n2th Points to make 1 Triangle. The result is a Fan.

Light A light. Lights go in conjunction with materials.
Material A Material that covers a primitive. A light hits a material.
Vertex Format A format of which primitives are drawn by the Device. The Vertex Format is very important since it actually tells the computer if the program is going to be 2D or 3D and if DX is going to do the lighting for you or not!
Texture A Texture covers a primitive. It also relates to the Material and Lights.
Array An array is a collection of data.
Vertex Array An array of vertices.
Index Array An array of indices.
Depth Buffer A depth buffer is a buffer which controls the depth of objects. Without a depth buffer, you would most likely see triangles behind other triangles.
Stencil Buffer A stencil buffer is a buffer which controls which pixels on the screen are visible and which pixels on the screen are blacked out.
Vertex Buffer A vertex buffer is a buffer which contains vertices.
Index Buffer An index buffer is a buffer which contains indices.
Alpha, Red, Green and Blue The 4 components of a colour in DirectX8 (or in computers). Usually refered to as A R G B. The alpha component is always different depending on the situation.
Alpha Blending A fancy expression for colour blending. Now this is where the alpha component comes in handy. If the alpha is 0, then the colour/triangle is transparent, while if the alpha is 1, then the colour/triangle is not transparent. If the alpha is 0.5, then logically, the colour/triangle is semi-transparent. Now if you have the alpha blending on different sources and destinations, this will effect it too.
Geometry Blending A fancy expression for triangle blending.
Bump Mapping An expression which means to have bumps in triangles.
Fog Like in the real world, there's fog.
Tweening A fancy word that means to blend from one thing to another (morphing).
Matrix (Plural : Matrices). A matrix is basically a thing that holds information. In complicating and mathematical terms, I have no clue of explaining it. There are three matrices used in Direct3D8. They are World, View(Camera) and Perspective. (Described More Later)