12. Textures
0
rating
1421
views
Here we will learn how to add textures to our objects. This lesson modifies the Transformation lesson code.
11. Render States
0
rating
1421
views
I want to cover the Render states before we start doing anything else, so here we will learn about the different render states and how to use them! The outcome of this lesson will be a nice little blue wireframe grid!
10. Transformations
0
rating
1421
views
Heres a more exciting lesson on transformations! We will show you how to do translating, scaling, and rotating!
09. World, View, and Local Space
0
rating
1351
views
We get to learn about the World, View and Local spaces in Direct3D, and how to initialize them, set them, and convert them!
08. Depth Buffer
0
rating
1410
views
Here we will learn how to bind a depth buffer to our render target. A depth buffer tests each pixel on the back buffer before presenting it to the screen. If there is a primitive in front of another primitive, then the primitive in front will get its pixels drawn, and the pixels in the primitive behind that are covered up by the pixels in the primitive in front will not get drawn.
07. Index Buffer
0
rating
1450
views
Index buffers are used to tell direct3d how to put the vertices together to form primitives.
06. Color!
0
rating
1385
views
Here is a short lesson on what we need to do to get some color in our scene. This lesson builds off of the last one, begin drawing.
05. Begin Drawing
0
rating
1767
views
We finally get to the fun part of drawing geometry! I know it doesn't look like much, but this is a big step and very important to the future of our 3d games. Almost EVERYTHING you will draw on the screen consists of triangles, lines, points, and squares. In this lesson i will cover the pipeline stages as well, some only breifly as we will cover them in more detail later on. Also, we have an addition of a new file called an effect file. We need this file to draw anything on the screen. I will breifly go over it in this lessons, but later we can talk more about it.
04. Simple Font
0
rating
1650
views
We'll learn how to display simple font with Direct3D's ID3DX10Font Interface!
03. Initializing Direct3D
0
rating
1964
views
This is where we finally initialize direct3d. All lessons after this will build off of this base code. The final product of this lessons will be a screen which changes colors! Lets get started!
02. Creating a Window
0
rating
1744
views
Before we get started with DirectX, we first need to create the window which we will draw our graphics on.
01. Setting Up in VS 2010
0
rating
1537
views
This is just a quick lesson on how to set up your environment in MS Visual Studio 2010.
36. Billboarding (Geometry Shader)
0
rating
13489
views
Billboarding is a technique to draw many far away objects without actually drawing all the geometry. Instead of drawing our entire trees which contain thousands of faces, we will simply draw a single quad per tree in the distance.
We will be using the Geometry shader in this lesson, by sending a single point to the shaders, and expanding that point into a quad using the geometry shader. The result will be perspective facing billboarders, where all billboards are facing the camera.
35. Render To Texture
0
rating
16258
views
We will be making a sort of map in this lesson, by rendering the terrain onto a texture, then drawing that texture in the bottom right corner of our backbuffer. It's actually a very easy thing to do, but I decided to make a lesson on it since we will be using this in the next two lessons.
34. (AABB) CPU Side Frustum Culling
0
rating
13797
views
This is another lesson that you will most definitely want to learn how to do because of the massive performance boost it can give you. In this lesson, we will have 4000 trees in our scene! How is this possible? This is possible with the technique called frustum culling! We will be learning how to check if an objects AABB (Axis-Aligned Bounding Box) is within the cameras view, and if it isn't, we will not send it to the GPU, easy as that!
I say "CPU Side Frustum Culling" because the GPU actually does frustum culling for us. The problem with that though, is that the GPU must check every single triangle we send to it, so in this lesson, we will check if an objects bounding volume is within view of the camera before we send it to the shaders for more accurate frustum culling.
33. Instancing (With Indexed Primitives)
1
rating
17065
views
Before anything, I want to say instancing is actually much more simple to do than you may think.
In this lesson, we will be rendering a forest using the technique called "Instancing". We will be drawing 400 trees, with 1000 leaves on each tree, giving us a total of 400,000 leaves! Instancing is a fast way to draw many of the same meshes with similar geometry but slight changes, such as positions, color, rotations, animation, etc. This technique can mean the difference between 1 frame per second and 500. We will be drawing the trees using instancing, only chaning the position of the trees. Then we will draw the leaves using instancing, passing in a matrix array to a constant buffer which will give us the position of each leaf on a single tree, and using the instance buffer to move the leaves to their correct trees.
32. Simple 3rd Person Camera
0
rating
7954
views
Here's a pretty simple lesson on how to create a very simple third person camera. This lesson will teach you how to create a vector camera (which we use for the first person and free look cameras), rotate your character smoothly towards their destinated direction, and rotate the camera around the character. (You'll have to register to download the female model from the Braynzar Vision section of the site. Please don't complain, I don't ask for much in return for providing these lessons ;)
31. Sliding Camera Collision Detection
0
rating
6229
views
This one is a more interactive one than the previous ones. We will learn how to "slide" our camera around our world using a spherical shape called an ellipsoid, using the technique described in "Improved Collision detection and Response" by Kasper Fauerby. We learn how to detect a collision between a swept sphere and triangle, and the result is a very pleasing "sliding" camera, which slides around on our terrain, slides up stairs, and slides over small objects. It's great because it does not get "stuck" on hard edges (if you do it right). We will also be implimenting gravity so we will not float away.
This technique does not only apply to a camera, it will apply to any object you wish to slide around, and in fact, you don't even have to have the object slide around, you can VERY EASILY change the code so that the object will "bounce" off the surface instead of sliding across it.
30. Heightmap (Terrain)
0
rating
8408
views
Here we will learn how to load a grayscale bmp image as a heightmap.
This lesson builds directly off the last lesson, the Free-Look Camera.
29. Free-Look Camera
0
rating
6765
views
This is an extremely short lesson which will show you how to change the camera funcntion from the first person camera to a free-look camera. It is based directly off the first person camera lesson.