is presently its sole maintainer,
You can support him:
Take a look at what happened on Friday
Blackboard: Reasons for using a PushBuffer
Blackboard: History of game architecture built around the renderer
Blackboard: Modern day luxuries and trade-offs
Blackboard: Output Target
Blackboard: Balanced approach to optimisation
Blackboard: PushBuffer benefits
Blackboard: Considerations for supporting multiple targets
Blackboard: Our first target: Software 'GPU-esque Rendering'
Blackboard: Two ways of looking at a render working: 1) Explicit Surface Rasteriser
Blackboard: 2) Implicit Surface Rasteriser
Blackboard: Reasons to use the Implicit method
Blackboard: Something like how our renderer will look
Blackboard: SIMD instruction sets
Blackboard: Overview of what we're building
Start pulling the Draw functions out
Mini-rant on devenv
Take a look at where we're at
Start playing with the code
Look at adding multiple types of commands in there, starting by renaming entity_visible_piece to render_group_entry
Pull RenderGroupToOutput out into handmade_render_group.cpp
Compression Oriented Programming
Consider operating on groups of entities
Setup cases for handling different types of Entry
Increment BaseAddress depending on the Entry->Type
Write those cases
Create the corresponding render_entries
Describe 'compact discriminated union'
Review our new ability
Ridiculous Trick: Prepend the type_name with RenderGroupEntryType to make the Identifier, and #define PushRenderElement macro for a type-safe way of correctly setting the type field in one step
Pass the Type to PushRenderElement
Compile and clean up
Check all is still well in-game
Create a bitmap type
Call the PushPiece function for the bitmap
Hit an assertion because the Entry->Bitmap is not filled in
Make sure we push a rectangle on when we call the bitmap type
Check that all is still okay in-game
Compress the code down into something more usable
Bake the offsets in to PushRect
Pull out the EntityBasis computation
See where we're at
pseudonym73 Q: Warning! There may be lots of prestream questions today
phantomu Q: When you meet a bug in the game and are able to recreate it, will you get a bug line in the programming, or how does it work?
wardinsc Q: Is it worth aligning render_entries?
robotchocolatedino Q: What is Mantle?
denuviel Q: Any recommendations of some reading about GPUs, rendering, rasterisation, except for a Google search?
aooaooa Q: Why use pointers over references?
terminalgain Q: About Mantle, were you aware AMD dropped development for it and put a lot of that manpower into helping push Vulkan?
mr4thdimention Q: The PushBuffer is an abstraction layer relying on memory for communication instead of a bunch of functions, if I understand correctly. Is that how you prefer API design in general?
We are done here