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

From Chilipedia
Jump to: navigation, search
(Resources)
Line 19: Line 19:
  
 
== Resources ==
 
== Resources ==
[https://www.youtube.com/watch?v=X9nLrjUQVQw Project TWIN video on GDI+ image loading for Surface]
+
* [https://www.youtube.com/watch?v=X9nLrjUQVQw Project TWIN video on GDI+ image loading for Surface]
  
 
== Video Timestamp Index ==
 
== Video Timestamp Index ==

Revision as of 14:02, 4 May 2019

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.

Topics Covered

Part 1

  • Bindable system (things like shaders, vertex buffers, etc.)
  • Drawable system (things like the game entities that are drawn; they contain a collection of Bindables)
  • Partial protected access inheritance pattern
  • Weird quirk of C++ relating to visibility of protected members in the case of inheritance from a templated class
  • How to update constant buffers using Map / Unmap

Part 2

  • Static collection of per-class Bindable
  • SetIndexFromStatic
  • Sharing cbuffer between instances of TransformCbuf

Part 3

  • Geometric primitives (cone, sphere, prism)
  • Geometry-distorting transforms
  • More Drawable types
  • Factory for drawables with std::generate_n

Resources

Video Timestamp Index

Source Code

See also