d0b4c99787
Create empty texture idea, change function scopes
...
Some functions which should not be exposed in the API have been switched
to INTERNAL scope. We have a notion of an empty texture in World Traveller
that we can pass in situations where we just want to render a solid
colour with no associated texture.
The alternative to this was creating a separate shader for rendering
primitives but would require at some point to expose the AssetManager to
the renderer or the user on behalf has to manually switch shaders before
rendering (non-intuitive).
2016-07-16 17:15:03 +10:00
86b4d1e206
Add distance to battle range metric in pixels
2016-07-16 02:34:44 +10:00
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