Difference between revisions of "3D Fundamentals Tutorial 1"

From Chilipedia
Jump to: navigation, search
(Video)
(Video)
Line 13: Line 13:
 
== Video ==
 
== Video ==
  
The tutorial video is on YouTube [https://youtu.be/O7dKCaWzvzA here].
+
The tutorial video is on YouTube [https://youtu.be/O7dKCaWzvzA here]
 +
<div class="mw-collapsible mw-collapsed"><br />
 
* Getting the framework code (clone from GitHub) [https://youtu.be/O7dKCaWzvzA?t=0m43s 0:43]
 
* Getting the framework code (clone from GitHub) [https://youtu.be/O7dKCaWzvzA?t=0m43s 0:43]
 
* <code>Graphics</code> class [https://youtu.be/O7dKCaWzvzA?t=2m00s 2:00]
 
* <code>Graphics</code> class [https://youtu.be/O7dKCaWzvzA?t=2m00s 2:00]
Line 20: Line 21:
 
* <code>MainWindow</code> class [https://youtu.be/O7dKCaWzvzA?t=8m14s 8:14]
 
* <code>MainWindow</code> class [https://youtu.be/O7dKCaWzvzA?t=8m14s 8:14]
 
* <code>Keyboard</code> and <code>Mouse</code> classes [https://youtu.be/O7dKCaWzvzA?t=9m57s 9:57]
 
* <code>Keyboard</code> and <code>Mouse</code> classes [https://youtu.be/O7dKCaWzvzA?t=9m57s 9:57]
 +
<div class="mw-collapsible-content">
 
:* Two ways of accessing inputs:
 
:* Two ways of accessing inputs:
 
::- Queue of events (you can pull events off the queue in the order in which they occured
 
::- Queue of events (you can pull events off the queue in the order in which they occured
 
::- Check current state of input devices
 
::- Check current state of input devices
 +
</div>
 
* <code>Main.cpp</code> entry point [https://youtu.be/O7dKCaWzvzA?t=11m30s 11:30]
 
* <code>Main.cpp</code> entry point [https://youtu.be/O7dKCaWzvzA?t=11m30s 11:30]
 +
<div class="mw-collapsible-content">
 +
:* This is where the core game loop runs:
 
::<syntaxhighlight lang="cpp" line>
 
::<syntaxhighlight lang="cpp" line>
 
try
 
try
Line 34: Line 39:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
</div>
 
* [https://youtu.be/O7dKCaWzvzA?t=0m20s 0:20]
 
* [https://youtu.be/O7dKCaWzvzA?t=0m20s 0:20]
 
* [https://youtu.be/O7dKCaWzvzA?t=0m20s 0:20]
 
* [https://youtu.be/O7dKCaWzvzA?t=0m20s 0:20]
Line 44: Line 50:
 
* [https://youtu.be/O7dKCaWzvzA?t=0m20s 0:20]
 
* [https://youtu.be/O7dKCaWzvzA?t=0m20s 0:20]
 
* [https://youtu.be/O7dKCaWzvzA?t=0m20s 0:20]
 
* [https://youtu.be/O7dKCaWzvzA?t=0m20s 0:20]
 +
</div>
  
 
== Downloads ==
 
== Downloads ==

Revision as of 02:47, 22 April 2020

This video gives a quick tour of the framework we're going to be using to explore the concepts of realtime 3D graphics. The intended audience is mainly people coming to the 3D Fundamentals series without experience in my other tutorials.

Disclaimer

This video is not meant to explain all of the inner mechanisms of framework or the APIs used. I know a lot of people are literally shitting themselves with impatience over that, but trust me, the time is not yet ripe and nubile. You won't be able to properly understand the Direct3D API without first understanding 3D theory, and while I could explain the WinAPI stuff at this point, it would just detract from the focus of this series.

Now if you are curious, you can check out a video from the old Intermediate series that explains the WinAPI and Direct3D initialization (albeit, D3D9, not D3D11). But trust me, if you think that learning this one thing is going to change everything, you will be sorely disappointed. There is no one key that will unlock all the doors of awesome. You gotta build it up, one block at a time. And right now, the most important thing is to understand the theory of 3D graphics.

Framework

The reference for the framework can be found here. Note that this reference is for the framework as it is in the Beginner series, and thus it lacks information on certain classes like the vector and matrix classes and the surface class.

Video

The tutorial video is on YouTube here


  • Getting the framework code (clone from GitHub) 0:43
  • Graphics class 2:00
  • Surface class 4:54
  • Color class 7:16
  • MainWindow class 8:14
  • Keyboard and Mouse classes 9:57
  • Two ways of accessing inputs:
- Queue of events (you can pull events off the queue in the order in which they occured
- Check current state of input devices
  • Main.cpp entry point 11:30
  • This is where the core game loop runs:
try
{
    Game theGame( wnd );
    while( wnd.ProcessMessage() )
    {
        theGame.Go();
    }
}

Downloads

The GitHub repository for the tutorial code is here.

See also