our_dick/TODO
2020-10-11 12:36:05 -07:00

68 lines
1.7 KiB
Plaintext

game
basically handles the game logic and delegates audio/video to respective management tools
track current state and updates state
calls renderers to draw the scene to framebuffer(s)
calls a mixer to play audio for a scene
key functions:
render()
update()
holds any scenes required for gameplay
holds window for game to be drawn in
scene
basically a central repository for raw data in a scene
holds cameras that exist in a given scene
holds objects that exist in a given scene
holds textures that exists for a given scene
holds audio that exists for a given scene
renderer
basically takes a scene and draws it a specific way to a framebuffer
key functions:
set_vpmatrix(mat4&)
set up view-projection matrix for use in rendering
render(scene&)
draw the given scene the this renderer's framebuffer
vertex
basically describes a vertex
holds position
holds texture coordinates
holds vertex color
holds normals
mesh
basically holds vertex data for a given shape
holds an array of vertices that describe a shape to draw
key functions:
render(shader&)
draw this mesh onto the currently bound framebuffer using the given shader
model
basically handles a collection of meshes that constitute a single entity
hold an array of meshes that describe the composition of a complex model
key functions:
render(shader&)
draw this model onto the currently bound framebuffer using the given shader
instance
basically holds handles to a mesh/model/any other needed data for use by multiple objects
renderable
basically any type with a render(shader_program&) function
hold an instance object reffing to a model
hold a model matrix
square
is a renderable that specifically references a square model