Commit Graph

205 Commits

Author SHA1 Message Date
Doyle Thai 12fbc1000e Basic framework for scaling text, unimplemented 2016-07-15 18:34:23 +10:00
Doyle Thai 0551f05e73 Rotate around entity center, update math notation
Change #define math functions to uppercase for consistency
2016-07-14 23:15:42 +10:00
Doyle Thai b1875077b7 Additional debug string rendering infrastructure
Separate notion of rendering a static string, i.e. for debug display that
is absolutely positioned, and rendering of a regular string that moves
with the game camera.
2016-07-12 18:11:31 +10:00
Doyle Thai d82afe49d0 Add memory allocation tracking data to debug state 2016-07-09 21:42:36 +10:00
Doyle Thai 54ecddad2f Add function call counting to debug infrastructure 2016-07-09 20:59:54 +10:00
Doyle Thai 1f364f7024 Update debug data architecture and methods 2016-07-09 20:46:04 +10:00
Doyle Thai ea50aeb44e Allow color modulation of sprites, refactor renderer init 2016-07-09 16:08:03 +10:00
Doyle Thai ea2656c0bd Fix bug accumulating debug strings without resetting 2016-07-08 21:36:26 +10:00
Doyle Thai ebcdd779b9 Lock camera to the bounds of the world 2016-07-08 21:21:49 +10:00
Doyle Thai f6ada44b41 Add rudimentary camera and side scrolling support 2016-07-08 21:06:43 +10:00
Doyle Thai ad48dd5062 Add notion of entity type identifier to entities 2016-07-08 17:54:56 +10:00
Doyle Thai fa7947fb90 Abstract add entity and animation into functions 2016-07-08 17:44:41 +10:00
Doyle Thai c9fc34aee1 Move rendering of tiles into rendering of entities
Downgraded background rendering to each tile individually (no batching)
temporarily such that we can render all entities in one function.
2016-07-08 16:09:18 +10:00
Doyle Thai 4b74bb9474 Delay update of debug string rendering
More meaningful to see values update over a larger period of time than
instantaneously.
2016-07-08 14:37:18 +10:00
Doyle Thai 46629a489a Add debug rendering, fix misaligned pos render bug
Rendering using a non-default quad specifies normalised coordinates
relative to the frame buffer size. Hence each render of these frames
should origin from (0,0) any other value is invalid.
2016-07-08 02:45:37 +10:00
Doyle Thai a04c43681d Removed rounding in glyphs per row overestimating 2016-07-07 22:44:22 +10:00
Doyle Thai 13a2152bf6 Correctly align text rendering to baseline 2016-07-07 22:30:06 +10:00
Doyle Thai 5ef54e16be Improved string rendering with text advance metric 2016-06-30 00:14:07 +10:00
Doyle Thai d8ee46611f Renderer calculates NDC coordinates from screen coords 2016-06-29 20:44:35 +10:00
Doyle Thai fa83daac60 Text rendering to screen, assetmanager merged to gamestate 2016-06-29 18:23:51 +10:00
Doyle Thai ef112fa4cb Flip font texture vertically on atlas creation 2016-06-29 14:04:35 +10:00
Doyle Thai e03d3fd14a Rudimentary font rasterisation at runtime with STB 2016-06-29 03:17:03 +10:00
Doyle Thai 76d6dfcf2f Change notation for dengine headers 2016-06-28 16:00:03 +10:00
Doyle Thai 26cec05ff0 Applied const to more vars, change tile size to 64 2016-06-28 15:03:04 +10:00
Doyle Thai f53325cc6a Batch tiles to single vbo at render pass 2016-06-28 02:28:57 +10:00
Doyle Thai fd3a353fdd Call renderer on tiles only-if tile on screen
OpenGL automatically clips objects outside of the view space but we were
still using up a lot of useless glDraw calls which impacts performance.
This change is temporary and will change when we get to scrolling the
world.
2016-06-25 21:51:35 +10:00
Doyle Thai e638724c75 Add tile grid and atlas concept to game 2016-06-25 21:23:15 +10:00
Doyle Thai b7063963b8 Add basic AABB collision detection 2016-06-25 19:12:25 +10:00
Doyle Thai 7acf36cd59 Basic multi animation support, with walking transition 2016-06-23 21:34:38 +10:00
Doyle Thai 7a2dc3da41 Add game entity list rendering, create animations 2016-06-23 18:40:00 +10:00
Doyle Thai eda06bcfe9 Rudimentary animated sprite capabilities 2016-06-19 02:16:16 +10:00
Doyle Thai d44ddf9371 Sprite switches direction, update vbo on render 2016-06-19 00:34:20 +10:00
Doyle Thai bb57f080c9 Draw sprite from offset into tilesheet 2016-06-18 20:45:14 +10:00
Doyle Thai 753d700ca6 Complete port over to C, replace glm math lib 2016-06-18 19:12:09 +10:00
Doyle Thai d4117ea729 Start math library by preprocessor templating 2016-06-18 03:15:02 +10:00
Doyle Thai 6251e105c8 Remove stdstring, use platform layer to open files 2016-06-18 02:01:43 +10:00
Doyle Thai 3c51010e77 Port project over to C, some C++ left 2016-06-18 00:40:40 +10:00
Doyle Thai bcb847c18c Add acceleration to movement code 2016-06-17 18:11:23 +10:00
Doyle Thai c54e6323a7 Use GLFW swap interval for force vsync to monitor 2016-06-17 16:32:59 +10:00
Doyle Thai 9861a02ed1 Add frame limiter, update glfw to 3.2 2016-06-17 03:00:11 +10:00
Doyle Thai 5cebf9ad0d Build world model in engine 2016-06-17 00:14:58 +10:00
Doyle Thai b75009d03e Fix ortho projection, sprite vertex to map from 0 to 1 2016-06-14 00:51:14 +10:00
Doyle Thai 68c53dad0a Switch to sprite renderer 2016-06-09 15:49:03 +10:00
Doyle Thai 60fcecab0e Apply const correctness to project 2016-06-08 17:29:16 +10:00
Doyle Thai a01c597340 Migrate game code into game.c
Separate the game code from the engine code
2016-06-08 02:02:58 +10:00
Doyle Thai 6f7f9fa50a Sprite uses unique vao for rendering
Remove notation of "m" in member variables.
2016-06-08 01:35:00 +10:00
Doyle Thai 761609e1f9 Add sprite functionality, doesn't render yet 2016-06-07 23:54:14 +10:00
Doyle Thai 864dca6f3d Add basics for breakout game, separate tutorial code 2016-06-05 17:54:41 +10:00
Doyle Thai 17a89269f0 Remove cubes, restore back to drawing squares 2016-06-04 23:09:59 +10:00
Doyle Thai 7295d4712c Abstract asset loading to asset manager 2016-06-04 22:42:22 +10:00