Subversion Repository Public Repository


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

Entry Size Revision Updated
Headers 773 Tue 04 Oct, 2016 15:53:18 +0000
Mesh.cpp 3.1K 766 Mon 22 Aug, 2016 15:54:49 +0000
Object3D.cpp 7.9K 788 Fri 21 Oct, 2016 16:11:37 +0000
SkinnedSubMesh.cpp 5.4K 716 Tue 31 May, 2016 16:08:29 +0000
SubMesh.cpp 1.5K 773 Tue 04 Oct, 2016 15:53:18 +0000

Commits for Divide-Framework/trunk/Source Code/Geometry/Shapes

Revision Author Commited Message
788 IonutCava picture IonutCava Fri 21 Oct, 2016 16:11:37 +0000

- Added support for the Arena Allocator by Mamasha Knows (
— Used for GFX Related objects: Textures, shaders, etc

773 IonutCava picture IonutCava Tue 04 Oct, 2016 15:53:18 +0000

- Split GenericDrawCommand gathering system into Init/Update to facilitate future threading support
- Fix drawCount() == 0 case in submitRenderCommand
- Make _cameraPool (more) threadsafe

766 IonutCava picture IonutCava Mon 22 Aug, 2016 15:54:49 +0000

- Descriptor/State cleanup part 2/3: SceneState/SceneRenderState cleanup

743 IonutCava picture IonutCava Tue 28 Jun, 2016 15:55:50 +0000

- More performance tuning:
— Move billboarding related camera variable calculation to shaders instead of CPU
— Replace some DIVIDE_ASSERT calls with regular assert calls in really low level code.
— Some cleanup of the GenericDrawCommand class
— glRegularBuffer does an invalidation call before updating
— Misc changes

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)

705 IonutCava picture IonutCava Thu 12 May, 2016 20:27:20 +0000

- Decouple asset loading from the active scene
— completely remove GET_ACTIVE_SCENE() method

696 IonutCava picture IonutCava Mon 09 May, 2016 16:14:09 +0000

- More physics system preparation:
— Define specific px groups for nodes: static, kinematic, dynamic, ragdoll, etc