Difference between revisions of "Hardware 3D (C++ DirectX Graphics) Tutorial 22"

From Chilipedia
Jump to: navigation, search
Line 1: Line 1:
In this three-part tutorial, we take a break from Direct3D api stuff to set up a better system for organizing Drawables and Bindables. Low coupling, high cohesion, and dynamic bullshits for the win.
+
In this video we add texture mapping to our arsenal of <code>Bindable</code> abilities. It takes two (<code>Binable</code>s) to tango (you need a <code>Texture</code> (view) and a <code>Sampler</code>). We also add some code from previous tutorials for the loading of image files.
  
 
== Topics Covered ==
 
== Topics Covered ==
=== Part 1 ===
+
* <code>Surface</code> for loading images via GDI+
* <code>Bindable</code> system (things like shaders, vertex buffers, etc.)
+
* <code>Bindable</code> for creating texture and texture view
* <code>Drawable</code> system (things like the game entities that are drawn; they contain a collection of <code>Bindable</code>s)
+
* <code>Bindable</code> for creating sampler state
* Partial <code>protected</code> access inheritance pattern
+
* Different <code>Sampler</code> settings (wrap mode and filter)
* Weird quirk of C++ relating to visibility of protected members in the case of inheritance from a templated class
+
* Skinning a cube
* How to update constant buffers using <code>Map</code> / <code>Unmap</code>
+
=== Part 2 ===
+
* Static collection of per-class <code>Bindable</code>
+
* <code>SetIndexFromStatic</code>
+
* Sharing cbuffer between instances of <code>TransformCbuf</code>
+
=== Part 3 ===
+
* Geometric primitives (cone, sphere, prism)
+
* Geometry-distorting transforms
+
* More <code>Drawable</code> types
+
* <code>Factory</code> for drawables with <code>std::generate_n</code>
+
  
 
== Video Timestamp Index ==
 
== Video Timestamp Index ==
* [https://youtu.be/P3lpJnm9IEY Tutorial 21.1]
+
* [https://youtu.be/P3lpJnm9IEY Tutorial 22]
* [https://youtu.be/ZoNCFe9FgG8 Tutorial 21.2]
+
* [https://youtu.be/rNb6UTCg2Zg Tutorial 21.3]
+
  
 
== Resources ==
 
== Resources ==
Line 30: Line 18:
  
 
== See also ==
 
== See also ==
* [[Hardware 3D (C++ DirectX Graphics) Tutorial 22|Next in series (Tutorial 22)]]
+
* [[Hardware 3D (C++ DirectX Graphics) Tutorial 23|Next in series (Tutorial 23)]]
 
* [[Hardware 3D Series (C++ DirectX Graphics)]]
 
* [[Hardware 3D Series (C++ DirectX Graphics)]]
 
* [https://www.patreon.com/planetchili Planet Chili Patreon]
 
* [https://www.patreon.com/planetchili Planet Chili Patreon]

Revision as of 16:07, 4 May 2019

In this video we add texture mapping to our arsenal of Bindable abilities. It takes two (Binables) to tango (you need a Texture (view) and a Sampler). We also add some code from previous tutorials for the loading of image files.

Topics Covered

  • Surface for loading images via GDI+
  • Bindable for creating texture and texture view
  • Bindable for creating sampler state
  • Different Sampler settings (wrap mode and filter)
  • Skinning a cube

Video Timestamp Index

Resources

Source Code

See also