Commit Graph

205 Commits

Author SHA1 Message Date
12fbc1000e Basic framework for scaling text, unimplemented 2016-07-15 18:34:23 +10:00
0551f05e73 Rotate around entity center, update math notation
Change #define math functions to uppercase for consistency
2016-07-14 23:15:42 +10:00
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
d82afe49d0 Add memory allocation tracking data to debug state 2016-07-09 21:42:36 +10:00
54ecddad2f Add function call counting to debug infrastructure 2016-07-09 20:59:54 +10:00
1f364f7024 Update debug data architecture and methods 2016-07-09 20:46:04 +10:00
ea50aeb44e Allow color modulation of sprites, refactor renderer init 2016-07-09 16:08:03 +10:00
ea2656c0bd Fix bug accumulating debug strings without resetting 2016-07-08 21:36:26 +10:00
ebcdd779b9 Lock camera to the bounds of the world 2016-07-08 21:21:49 +10:00
f6ada44b41 Add rudimentary camera and side scrolling support 2016-07-08 21:06:43 +10:00
ad48dd5062 Add notion of entity type identifier to entities 2016-07-08 17:54:56 +10:00
fa7947fb90 Abstract add entity and animation into functions 2016-07-08 17:44:41 +10:00
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
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
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
a04c43681d Removed rounding in glyphs per row overestimating 2016-07-07 22:44:22 +10:00
13a2152bf6 Correctly align text rendering to baseline 2016-07-07 22:30:06 +10:00
5ef54e16be Improved string rendering with text advance metric 2016-06-30 00:14:07 +10:00
d8ee46611f Renderer calculates NDC coordinates from screen coords 2016-06-29 20:44:35 +10:00
fa83daac60 Text rendering to screen, assetmanager merged to gamestate 2016-06-29 18:23:51 +10:00
ef112fa4cb Flip font texture vertically on atlas creation 2016-06-29 14:04:35 +10:00
e03d3fd14a Rudimentary font rasterisation at runtime with STB 2016-06-29 03:17:03 +10:00
76d6dfcf2f Change notation for dengine headers 2016-06-28 16:00:03 +10:00
26cec05ff0 Applied const to more vars, change tile size to 64 2016-06-28 15:03:04 +10:00
f53325cc6a Batch tiles to single vbo at render pass 2016-06-28 02:28:57 +10:00
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
e638724c75 Add tile grid and atlas concept to game 2016-06-25 21:23:15 +10:00
b7063963b8 Add basic AABB collision detection 2016-06-25 19:12:25 +10:00
7acf36cd59 Basic multi animation support, with walking transition 2016-06-23 21:34:38 +10:00
7a2dc3da41 Add game entity list rendering, create animations 2016-06-23 18:40:00 +10:00
eda06bcfe9 Rudimentary animated sprite capabilities 2016-06-19 02:16:16 +10:00
d44ddf9371 Sprite switches direction, update vbo on render 2016-06-19 00:34:20 +10:00
bb57f080c9 Draw sprite from offset into tilesheet 2016-06-18 20:45:14 +10:00
753d700ca6 Complete port over to C, replace glm math lib 2016-06-18 19:12:09 +10:00
d4117ea729 Start math library by preprocessor templating 2016-06-18 03:15:02 +10:00
6251e105c8 Remove stdstring, use platform layer to open files 2016-06-18 02:01:43 +10:00
3c51010e77 Port project over to C, some C++ left 2016-06-18 00:40:40 +10:00
bcb847c18c Add acceleration to movement code 2016-06-17 18:11:23 +10:00
c54e6323a7 Use GLFW swap interval for force vsync to monitor 2016-06-17 16:32:59 +10:00
9861a02ed1 Add frame limiter, update glfw to 3.2 2016-06-17 03:00:11 +10:00
5cebf9ad0d Build world model in engine 2016-06-17 00:14:58 +10:00
b75009d03e Fix ortho projection, sprite vertex to map from 0 to 1 2016-06-14 00:51:14 +10:00
68c53dad0a Switch to sprite renderer 2016-06-09 15:49:03 +10:00
60fcecab0e Apply const correctness to project 2016-06-08 17:29:16 +10:00
a01c597340 Migrate game code into game.c
Separate the game code from the engine code
2016-06-08 02:02:58 +10:00
6f7f9fa50a Sprite uses unique vao for rendering
Remove notation of "m" in member variables.
2016-06-08 01:35:00 +10:00
761609e1f9 Add sprite functionality, doesn't render yet 2016-06-07 23:54:14 +10:00
864dca6f3d Add basics for breakout game, separate tutorial code 2016-06-05 17:54:41 +10:00
17a89269f0 Remove cubes, restore back to drawing squares 2016-06-04 23:09:59 +10:00
7295d4712c Abstract asset loading to asset manager 2016-06-04 22:42:22 +10:00