Daniel Evans
d2f254731a
Increase warnings to pedantic and fix rwlib/rwengine warnings
2016-05-01 22:30:15 +01:00
Daniel Evans
185ba23f05
Fix all compiler warnings in rwengine.
2016-04-28 00:54:42 +01:00
Daniel Evans
84c276002c
Improve rendering to support screen door transparency for LODs.
...
The LOD selection and fade logic has been changed to be more.. correct.
The fading now uses screen door transparency so the faded objects don't
need to be sorted with the actually transparent objects.
2016-04-26 23:40:43 +01:00
Daniel Evans
b0a2ae4da5
Implement a trivial profiler for perf. overview
2016-04-26 23:35:04 +01:00
Daniel Evans
3e9b0c64e4
Re-implement object rendering using a depth-sorted approach.
...
This moves the object rendering logic into ObjectRenderer. This makes
GameRenderer a bit smaller.
There are some rendering logic decisions that haven't been brought
back yet since they may be better placed elsewhere.
2016-04-19 01:20:54 +01:00
Daniel Evans
7888f05ca4
Re-implement map rendering with nice circular minimap
2016-04-12 01:02:09 +01:00
Daniel Evans
379f3685a7
Add textured quad rendering function and improve text rendering slightly
2016-04-10 18:48:38 +01:00
Daniel Evans
14269d8ae5
Move first of lower level code into rwlib; tear out GLEW.
2016-04-07 01:13:46 +01:00
Daniel Evans
98ce9d90e1
Implement some text based markup
2015-05-09 04:02:15 +01:00
Daniel Evans
85b1ab120f
Move GameState out of GameWorld ownership
2015-04-27 03:55:18 +01:00
Daniel Evans
1827b9cca3
Restore rwviewer to functional state
2015-04-13 01:48:29 +01:00
Daniel Evans
97afc19cfb
Add Improved Profiling statistics
2015-04-12 19:47:47 +01:00
Daniel Evans
4cf36b8fd6
Add more rendering metrics for GL performance
2015-04-09 23:54:56 +01:00
Daniel Evans
dd7e487a55
Improve DrawParameters to support multiple textures
2015-04-06 14:36:23 +01:00
Daniel Evans
3afc5e38fe
Add grouping of gl calls with KHR_debug
2015-04-06 13:43:53 +01:00
Daniel Evans
c6664a5a2d
Improve static InstanceObject rendering performance
...
* Cull against a grid instead of free objects
* Async model loading is disabled as model bounds are required
2015-04-06 04:06:35 +01:00
Daniel Evans
b672e41acf
Remove Logger ownership from GameWorld
2015-04-03 03:07:08 +01:00
Daniel Evans
97807f24b7
Add method to retrieve current draw settings from Renderer
2015-04-03 03:07:08 +01:00
Daniel Evans
49a8b9b2f4
Change how draw calls are counted
2015-04-03 03:07:08 +01:00
Daniel Evans
6851c5e011
Improve graphics performance
...
+ Add Framebuffer rendering to store data
+ Re-implement water using projected grid aproach
2015-04-03 03:07:07 +01:00
Daniel Evans
f655e454d6
Implement new VisualFX system for particles etc.
...
- VisualFX stores data about effects like particles and lighting
- Only particles initial implementation
- World stores active VisualFX
2015-04-03 03:04:50 +01:00
Daniel Evans
d1e7dcdcd1
Overhaul Loader framework for Models
...
- Replace background model loader with generic background loader
- Replace ModelHandle object with generic resource handle
2015-04-03 03:04:50 +01:00
Daniel Evans
3801e69e81
Improve TextRenderer kerning and performance
2015-04-03 02:56:37 +01:00
Daniel Evans
be023b5093
Overhaul texture handling, add TextureData handles.
...
+ Use shared ptrs to track loaded texture handles
+ Cache textures on models to avoid lookups
2015-02-16 00:36:11 +00:00
Daniel Evans
9eb4c62a04
Improve HUD and UI rendering
...
+ Add names for some styles to reduce confusion
+ Move some HUD drawing into a seperate file
2015-02-15 12:41:51 +00:00
Daniel Evans
9855bf2967
Improve map rendering, UI viewport
...
+ UI Viewport is now window sized
+ Map renderer now supports rotating
2015-02-15 01:41:24 +00:00
Daniel Evans
2344024f08
Text rendering
2015-02-07 22:55:06 +00:00
Daniel Evans
87435a2576
Add map renderer and ingame radar display
2015-01-25 18:25:55 +00:00
Daniel Evans
1961661d14
Implement visible goals for locating characters
2015-01-23 17:18:16 +00:00
Daniel Evans
4ea6e14299
Improve vehicle door dynamics
...
+ Vehicle doors should move in the right direction now
+ Fix debugging draw class for bullet
2015-01-22 20:16:28 +00:00
Daniel Evans
584618e991
Overhaul animation support with Skeleton class.
...
Move frame transform data into Skeleton instead of Animator.
Animator now responsible for mutating Skeleton state.
Skeleton is more flexible for things like vehicle skeletons.
2014-12-11 17:48:47 +00:00
Daniel Evans
7d92fbb9f2
Huge rwviewer changes for new objects.
...
+ Change to Object Viewer to list all object types
2014-09-19 00:10:05 +01:00
Daniel Evans
668848952b
Initial rendering refactor
2014-08-22 14:29:46 +01:00
Daniel Evans
ba7eb63941
Refactor and cleanup camera control.
...
rwengine
+ Make renderWorld() take a ViewCamera parameter.
+ add rotation and getView to ViewCamera
+ correct directions for vehicle and character movement.
rwgame
+ Remove GenericState
+ Add State::getCamera() to control the ViewCamera used for rendering
+ Clean up state camera control
+ Remove now unused view parameters from main
2014-08-12 21:15:26 +01:00
Daniel Evans
d2e19fbdb3
Refactor SubGeometry to use a vector for storage
...
+ Use memcpy to populate subgeometry data
2014-08-10 20:09:54 +01:00
Daniel Evans
6c78b0c3c5
Refactor DFF Loader, underlying stream handling
...
+ Fix some model related memory leaks
2014-08-04 22:24:37 +01:00
Daniel Evans
be347e88dc
Remove accidentally commited files
2014-08-03 17:51:43 +01:00
Daniel Evans
d270b75141
Improve rendering performance
...
+ Fix some bad values for glActiveTexture()
+ Move work processing queue into update() to avoid clogging the render
thread
+ Add some extra values for frames and geometry drawn
2014-08-03 13:37:11 +01:00
Daniel Evans
6a1dacaa54
Implement object opacity and instance fade-out
2014-08-02 21:35:58 +01:00
Daniel Evans
c7256e60fb
Implement fade to splash screen
2014-08-01 22:03:00 +01:00
Daniel Evans
a3764efdfd
Normalize FOV with aspect ratio
2014-08-01 15:48:05 +01:00
Daniel Evans
aa841c0ed3
Merge branch 'script-tool'
...
Conflicts:
rwengine/include/engine/GameObject.hpp
rwengine/include/engine/GameWorld.hpp
rwengine/include/render/GameRenderer.hpp
rwengine/src/render/GameRenderer.cpp
2014-07-30 13:55:39 +01:00
Daniel Evans
02838ce3b4
Implement cutscene objects and animations (sans skinning)
...
+ Add CutsceneObject for non-interactive animating objects
+ Implement HIER section to load cutscene object data
2014-07-30 13:46:14 +01:00
Daniel Evans
5b9c95d346
Add Initial Cutscene playback implementation
...
+ Add CutsceneData structures to store the data required.
+ Implement screen fading in and out (todo: splash screen fading)
+ Add GameData::openFile2() returns a handle to open file memory + size
+ Fix fog implementation
+ Add screenspace rect to GameRenderer for fades and cinematics
2014-07-28 02:27:55 +01:00
Daniel Evans
3c665e7d2b
Add many opcodes, implement some of them.
...
+ Fix thread-relative jumps
+ GameObject::setHeading(degrees) sets object rotation from a heading.
+ Add More GameState from opcodes.
+ Decouple game hours from the engine clock
+ Add VehicleObject::setRotation()
+ Add GameWorld::getGroundAtPosition(pos) for OpCodes
+ Fix Handling of fixed-point SCM parameters
+ Update IngameState to use GameState::player if it exists
+ Add skip-time button to skip opening cutscene (F12)
2014-07-27 00:44:21 +01:00
Daniel Evans
c35c2c636a
Add thrown projectiles, support for queued deletion
2014-07-20 21:21:51 +01:00
Daniel Evans
a8c2312b87
Add corona to pickups
2014-07-09 22:28:25 +01:00
Daniel Evans
e5cc47132f
Initial documentation pass
...
Add a nice doxygen file.
2014-07-09 05:04:48 +01:00
Daniel Evans
67fbc5afa3
Improve weapon and animation dynamics
...
Fix issue with 0-rotation animation frames
Improve weapon shot origin alignment (still bad)
2014-07-09 02:06:59 +01:00
Daniel Evans
b8860722fd
Further implement weapons and pickups
...
Inventory can now by cycled
Weapon Pickups are created infront of the spawn
2014-07-04 21:06:56 +01:00