Subversion Repository Public Repository


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

Entry Size Revision Updated
trunk 117 Tue 05 Jun, 2012 17:30:40 +0000

Commits for Divide-Framework/

Revision Author Commited Message
117 k1ngp1n picture k1ngp1n Tue 05 Jun, 2012 17:30:40 +0000

[Ionut] [[BR]]
-Separated responsibilities between “Application” and “Kernel” [[BR]]
--“Application” handles data such as window dimensions, logs, “ParamHandler” etc [[BR]]
--“Kernel” handles the main loop, SFX, GFX, physics, sceneManager etc updates [[BR]]
---“Kernel” is now a “Core” component [[BR]]
-Reduced coupling between some classes by passing more info via parameters rather than relying on singleton access [[BR]]
--Ex: eyePos in “Terrain”,“Water” and “Trigger” classes is now passed as a "vec3<F32>" on render call rather than querying “CameraManager” [[BR]]
-Reworked “GLWrapper” shutdown routine [[BR]]
Singleton witch hunt [[BR]]
-“Kernel” is no longer a singleton and it’s initialized on application startup in the “Application” class[[BR]]
-“CameraManager” is no longer a singleton and it’s instantiated in the kernel [[BR]]

116 k1ngp1n picture k1ngp1n Mon 04 Jun, 2012 22:27:07 +0000

[Ionut] [[BR]]
-Removed now useless “BaseCache” class as a simple unordered_map in each manager-type class is all that’s needed [[BR]]
-Moved loading responsibility from each Resource implementation to each "ImplResourceLoader<T>" class (defaults via macro’s are available for convenience) [[BR]]
--Resources now have a “setInitialData” method for setting post-load values [[BR]]
--Also added a loader for Particle Emitters [[BR]]
-Added a new class, “HardwareResource” (for textures, shaders, etc) that needs special loading routines to facilitate future multi-threaded asset streaming [[BR]]
--HardwareResource’s have a “generateHWResource” that should be called after threaded loading routines join with main thread [[BR]]
-Renamed “Guardian” class to “Kernel” as that’s what it’s new responsibility will be in future revisions [[BR]]
-Added the “threadpool” library from here: (not used yet) [[BR]]
-Added some more macro’s and cleanups [[BR]]

115 k1ngp1n picture k1ngp1n Sat 02 Jun, 2012 19:25:51 +0000

[Ionut] [[BR]]
-Resource’s should NOT keep track of their ref counts as they are not the only objects that need reference counting [[BR]]
--Moved all ref counting elements to a new super class “TrackObject” [[BR]]
--Removed hackish “createCopy” / “removeCopy” methods and use dependency map instead (registered via macros) [[BR}}
-Added a basic smart pointer implementation that uses TrackObject, but the pointer is not used itself yet [[BR]]

114 k1ngp1n picture k1ngp1n Sat 02 Jun, 2012 13:03:01 +0000

-First steps in moving away from a generalized “ResourceManager”: [[BR]]
--Added templated resource loaders (Core\Resources\ConcreteLoaders). Just add a new loader for a new resource type and it’s ready for use [[BR]]
---Next step involves moving loading responsibility from the resource itself to the resource loader that handles it’s creation [[BR]]
--Renamed the ResourceManager to ResourceCache and limited it’s responsibility from general resource operations to a more standard abstract template factory with cache [[BR]]
---Manager base class is renamed to BaseCache as it’s a wrapper for a cache map in essence [[BR]]
---Next step involves adding a ResourceCache per scene (dropping Singleton status) with the possibility of sharing resources between them (to avoid reloading existing resources for a new scene) [[BR]]
-Translated AITenisScene and PingPongScene source code to english [[BR]]

113 k1ngp1n picture k1ngp1n Fri 01 Jun, 2012 16:51:23 +0000

[Ionut] [[BR]]
-Fixed animated bounding box calculations[[BR]]
-BoundingBox recalculation per frame is now a general SceneNode property [[BR]]
--Note: Animated BB’s have problems with multi-threaded collision detection for now (see AITenisScene) [[BR]]
-Wrapped boost::mutex to separate file and moved it to shared_mutex structure as read requests are more frequent than write requests [[BR]]
-Mesh class now calls animations update on all of it’s subclasses so animations for each node in a mesh are in sync [[BR]]
-Split up GUI elements by class [[BR]]
-Added base code for a console GUI element (disabled) [[BR]]
-Animations can now be disabled in confg file [[BR]]
-Added a “texture not found” default texture [[BR]]
-Some AI rewrite in AITenisScene (translation to english in next commit) [[BR]]
-Inlines, const’s, cleanups, etc [[BR]]

112 k1ngp1n picture k1ngp1n Wed 09 May, 2012 14:53:14 +0000

[Ionut] [[BR]]
-Generate separate shaders for meshes with bones and meshes without bones [[BR]]
-Refactor glVBO to not send or update bone data at every draw call [[BR]]
-Reduced number of uniform calls on shader bind [[BR]]

111 k1ngp1n picture k1ngp1n Tue 08 May, 2012 21:49:31 +0000

[Ionut] [[BR]]
-Added animation support based on Scott Lee’s animation loader library added a few revision’s back [[BR]]
--Added cached skeleton rendering to the library [[BR]]
--Added cached AABB transformations based on current animation frame [[BR]]
--Scene animators are added per submesh and only processed if said submesh is visible and only in the rendering stage: FINAL_STAGE [[BR]]
-Added support for shader-based VBO data upload (glVertexAttribPointer) with full backwards compatibility to old method (glTexCoordPointer)[[BR]]
-Added support for Index Buffer Object (improper name) indice upload for VBO’s with full backwards compatibility to old method [[BR]]
-Reworked coordination class to better handle AIEntity teams [[BR]]
-Added “updateSceneState(currentTime)” callback that is called once per frame (used for animation update)[[BR]]
-Added “initializeAI/deinitializeAI” scene callbacks for AI creation/destruction [[BR]]
-Templatized the Quaternion class [[BR]]
-Added a “drawLines” subroutine to the rendering api[[BR]]
-Disabled tree loading in MainScene as current ASSIMP implementation is slow. Will be restored after backing and loading models to own format is added in next revision [[BR]]
-Other various small performance tweaks [[BR]]

110 k1ngp1n picture k1ngp1n Thu 26 Apr, 2012 15:48:58 +0000

[Ionut] [[BR]]
-Added Recast & Detour Navigation libraries ( by Mikko Mononen) [[BR]]
--Added (a incomplete version for now) MeshLoader for Recast patch from the Torque3D forum and adapted it for DIVIDE (patch link: [[BR]]
--Added the NavigationMesh patch (a incomplete version for now) for Torque3D using Recast and adapted it for DIVIDE (patch link: [[BR]]
-Added empty folder structure for the War Scene to hold future classes and resources [[BR]]
-Added a GenericShape class to hold an empty VBO in which we can store any combination of vertices (incomplete) [[BR]]

109 k1ngp1n picture k1ngp1n Wed 25 Apr, 2012 09:52:52 +0000

[Ionut] [[BR]]
-Added a WarScene prototype that represents the foundation for my MSc thesis [[BR]]

--Features planned for this scene (ToDo list): [[BR]]
---Advanced AI (pathfinding, decision making, team based coordination)[[BR]]
---Weapons, projectiles, particles [[BR]]
---Animations [[BR]]
---Performance increases [[BR]]

108 k1ngp1n picture k1ngp1n Mon 23 Apr, 2012 11:52:04 +0000

-SQRT calculations always use ASM code [[BR]]
-Added EIGEN math library <<not used yet; will replace matrix and vector calculations>> ( [[BR]]