Subversion Repository Public Repository


This repository has no backups
This repository's network speed is throttled to 100KB/sec

Entry Size Revision Updated
Headers 781 Wed 12 Oct, 2016 16:03:46 +0000
Camera.cpp 10K 781 Wed 12 Oct, 2016 16:03:46 +0000
FirstPersonCamera.cpp 388 bytes 692 Wed 27 Apr, 2016 16:24:26 +0000
FreeFlyCamera.cpp 369 bytes 781 Wed 12 Oct, 2016 16:03:46 +0000
Frustum.cpp 5.8K 781 Wed 12 Oct, 2016 16:03:46 +0000
OrbitCamera.cpp 2.2K 706 Fri 13 May, 2016 16:29:40 +0000
ScriptedCamera.cpp 196 bytes 692 Wed 27 Apr, 2016 16:24:26 +0000
ThirdPersonCamera.cpp 1.9K 692 Wed 27 Apr, 2016 16:24:26 +0000

Commits for Divide-Framework/trunk/Source Code/Rendering/Camera

Revision Author Commited Message
781 IonutCava picture IonutCava Wed 12 Oct, 2016 16:03:46 +0000

- ShaderComputeQueue <-> Material shader request bug fix (element stuck in QUEUED state)
- More Camera class cleanups
- Add a method of removing EnvironmentProbes from their Pool

780 IonutCava picture IonutCava Tue 11 Oct, 2016 16:15:24 +0000

- AtomicCounter in glUniformBuffer is now based on a glGenericBuffer implementation
- GFXDevice <-> Camera relation cleaned up a bit
- Added a readback system for glGenericBuffer
- Fixed a bug with Z_PRE_PASS stage culling

779 IonutCava picture IonutCava Mon 10 Oct, 2016 15:31:45 +0000

- Frustum calculation bug fix

769 IonutCava picture IonutCava Fri 16 Sep, 2016 15:18:09 +0000

- Clean up camera class:
— Remove “reflection” specific code and add a generic “reflect” method to allow the calling code to handle camera placements and reflections. This got rid of the “reflectionPlane” member in the RenderParams struct
— Remove some member variables and replace them with on-demand computed variables on the stack.
— Add a “destroyCamera” call to the CameraManager to allow better resource cleanup when needed
- Prepare a rendering system overhaul:
— Add dual screen render targets: current frame and previous frame. Used for future features such as TXAA and Motion Blur.
— Prepare code for an implementation similar to the Doom (2016) system: (the code was already going in that direction)

750 IonutCava picture IonutCava Thu 07 Jul, 2016 16:02:03 +0000

- Static analysis based fixes and improvements

744 IonutCava picture IonutCava Tue 28 Jun, 2016 21:43:58 +0000

- More performance tweaks

720 IonutCava picture IonutCava Mon 06 Jun, 2016 15:51:06 +0000

- PVS-Studio guided static analysis fixes and optimizations
- Added a flag to SceneState to bypass the Save/Load system not needed for certain types of scenes (menus, cinematics, etc)

716 IonutCava picture IonutCava Tue 31 May, 2016 16:08:29 +0000

- Multithreaded scene load/unload fixes:
— Added postLoadMainThread call for scenes for thread sensitive loading steps
— GUI element adding is a thread sensitive loading step (a fast one) because CEGUI doesn’t handle threading
- Added REALTIME_WITH_CALLBACK task priority for tasks that need an immediate callback when they complete instead of using the flushCallbackQueue system.
- Some work on shadow mapping for getting it to work again
- ShaderPrograms that fail to load can cause a LockManager infinite wait. Delete the lockManager if the shader didn’t load to avoid waiting on commands that never get called.

710 IonutCava picture IonutCava Fri 20 May, 2016 16:24:40 +0000

- Code cleanup
- Initial work on Scene loading and unloading with and without unloading assets:
— Need to change AIManager from a Singleton to a per-scene component

709 IonutCava picture IonutCava Thu 19 May, 2016 16:21:46 +0000

- Massive rewrite of the resource system:
— ResourceCache now uses a map of weak pointers and passes shared pointers to the call point of CreateResource
— RemoveResource is no longer needed, but resource based smart pointers use a custom deleter that calls unload()
— Keep a shared_ptr of the resource in the entity that needs it and pass shared_ptr references from getter methods
-— All of this removed the need for calls to RemoveResource, REGISTER_TRACKED_DEPENDENCY and UNREGISTER_TRACKED_DEPENDENCY reducing the number of mutex locks and atomic exchanges
- Singleton cleanup:
— Removed ShaderManager singleton and merged it’s data and responsibilities in static methods in both ShaderProgram and Shader classes.
Explanation: Due to the complex interdependency chains in the system, copying, updating, tracking the cache in a thread safe way became a lot more slower than a straight forward smart pointer based implementation. (e.g. scene graph nodes have 3d objects and material instances, 3d objects have materials, materials have textures and shaders, etc)