|Introduction to Direct3D and 3D-Engine Programming 1 (Base Course)|
|This class will teach you how Direct3D 9 from ground up. You will learn how to crank up a Direct3D device and render graphics to your screen including special effects like texture blending or rendering to textures. Lots of samples with full working code will combine all these effects week by week into one big game engine.|
This class will teach you how to get started with Direct3D 9 from ground up. You will learn how to crank up a Direct3D device and render graphics to your screen including lots of special effects like texture blending or rendering to textures. A lot of examples with full working source code will combine all these effects week by week into one big game engine. Discussing object oriented design suitable for game engines is a major aspect of this course and over the course of the 5 weeks you will develop the base implementation of the Sipogen engine.
Free Sample Material
Below you can find the complete first week's course book, so you can check the quality and contents for yourself. Additionally, all demo applications can be downloaded.
Course Book Download
Who should take the Class
The class is tailored for beginning 3d-graphic programmers who desire to learn about 3d-graphics in general and how to program 3d-graphics using Direct3D in particular.
Students are required to know how to use Visual C++ 6.0 or better, C/C++ and do basic vector mathematics.
The following 6 lessons are to be completed in 5 weeks: (week 1 starts with two lessons)
- Lesson 1: We will approach Direct3D for the first time here. In order to do so you will see how to setup the IDE and compiler to get along with the DirectX SDK. That done we will develop the first lines of code that crank up Direct3D and let us clear the screen with a selected color.
- Lesson 2: This is the kick-off lesson for the engine implementation. First, you will learn about object oriented design you should use for such an engine. Then you will integrate what you have learned in lesson 1 as well as some more Direct3D functionality into a working engine implementation.
- Lesson 3: In this lesson its about time to do some more interesting things rather than dealing around with back end implementations. Here you will learn about how 3d-models become pixels on the screen and how you can render 3D-graphics using Direct3D and how to implement this functionality in your engine sources.
- Lesson 4: After mastering the process of rendering 3D primitives onto the screen you will start to dive into special effects. First, you will learn about textures and how to apply them to your primitives. Next, we will discuss alpha- and color-blending that allows for transparency effects for example. Finally, this lesson will explain you how to render to a texture which in tur enables special effects of using a rendered 3D-scene as image glued to a 3D-object in another scene. Of course all this functionality is also added to the engine work-in-progress.
- Lesson 5: Once you know how to apply textures to your 3D-objects its about time to learn how to do lighting in the virtual world. This lesson discusses all kinds of hardware lights Direct3D offers to you. You will also understand the limits of hardware lights and why more reent video games ignore hardware lights and concentrate of pixel shaders for lighting effects. Finally, this lessons discusses how to explore your virtual worlds by moving the viewer AKA the camera in the virtual 3d world is first-person style.
- Lesson 6: To conclude this course and to enable you to get something interesting on the screen that goes beyond a few colored and lit triangles the last lesson in this courses discusses basic terrain redering by loading heightfields and display them as multi-textured terrain with lighting effects. Your final assignment requires you to enrich the terrain by a number of effects explained to you in the assignment paper. This will lead to a rather cool demo to show off what you have learned to do in Direct3D and with a pretty nice engine design.
|Unique users today:|
| ||Forum stats:|
| ||Since March'06:|