For a markdown cheat sheet see Markdown Cheat Sheet
3D Game Engine Development - Intro to MonoGame
- Explain effect of SamplerState on on-screen aliasing
- Explain and use VertexFactory
- Explain new input manager classes (MouseManager, KeyboardManager, GamePadManager)
- Explain and use IController and the classes which implement it.
- Create a simple enum using 2^N values on the enum values and demonstrate bitwise operators.
- Explain ModelObject
- Improve efficiency of ProjectionParameters::Projection property by adding isDirty flag
- Improve efficiency of Transform3D::World property by adding isDirty flag
- Improve efficiency of Camera3D::View property by adding isDirty flag
- Add validation to appropriate set properties
- Introduces view, projection, effect, and VertexPositionColor concepts to render a wireframe triangle to the screen.
- Added a VertexData class to draw VertexPositionColor vertex types.
- Added ProjectionParamters to encapsulate projection matrix.
- Added assets to the Content.mgcb file. See MonoGame Tutorial: Textures and SpriteBatch
- Rename default namespace to GDLibrary
- Add generic class for VertexData
- Added folder system and organised existing files
- Add EffectParameters
- Add PrimitiveObject
- Add SkyBox
- Add Transform3D
- Add IActor
- Add Actor3D
- Add Camera3D
- Add PrimitiveObject
- Organise new classes into folder structure
- Added new enums: ActorType and StatusType
- Add Actor::Description, Actor::ActorType, and Actor::StatusType
- Add Clone, GetHashCode, Equals to classes in IActor hierarchy
- Add ObjectManager and created lists using DrawnActor3D
- Removed unnecessary GetAlpha() etc from IActor after change to ObjectManager list from IActor to DrawnActor3D
- Add CameraManager and make a GameComponent
- Added use of input managers (mouse, keyboard)
- Re-factor IActor::Draw and ObjectManager to use CameraManager
- Use StatusType in ObjectManager Update and Draw
- Added subfolders to Actor folder for drawn and camera actors
- Add ContentDictionary
- Add tiling functionality (see grass plane)
- Add IController and ControllerList to Actor
- Add 1st, Flight, Pan (Security), 3rd, and Rail camera controllers
- Add ModelObject
- Add GDConstants and move "magic-number" hard-coded values
- Remove hard-coded (512, 384) in Controller and replace with screenCentre