Subversion Repository Public Repository


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

Entry Size Revision Updated
Headers 713 Wed 25 May, 2016 15:43:38 +0000
PixelBuffer 722 Thu 09 Jun, 2016 16:15:33 +0000
RenderTarget 727 Tue 14 Jun, 2016 16:01:38 +0000
ShaderBuffer 727 Tue 14 Jun, 2016 16:01:38 +0000
VertexBuffer 727 Tue 14 Jun, 2016 16:01:38 +0000
glBufferImpl.cpp 4.6K 713 Wed 25 May, 2016 15:43:38 +0000
glBufferLockManager.cpp 2.5K 640 Tue 09 Feb, 2016 17:18:17 +0000
glMemoryManager.cpp 6.3K 720 Mon 06 Jun, 2016 15:51:06 +0000

Commits for Divide-Framework/trunk/Source Code/Platform/Video/OpenGL/Buffers

Revision Author Commited Message
727 IonutCava picture IonutCava Tue 14 Jun, 2016 16:01:38 +0000

- Remove node and cmd buffers from GFXDevice and add them as a new BufferData struct to RenderPass class.
— Each render pass holds its own buffers
- Improvements / fixes to the CSM code
- Added a global toggle to enable/disable custom memory allocators

726 IonutCava picture IonutCava Fri 10 Jun, 2016 16:13:52 +0000

- More static analysis based corrections
- Added initial stub code for a command pool system for GenericDrawCommands

722 IonutCava picture IonutCava Thu 09 Jun, 2016 16:15:33 +0000

- Restructure RenderTarget system:
— Separate attachments, use an attachment pool, use draw descriptors, require explicit information for RT calls, etc

721 IonutCava picture IonutCava Wed 08 Jun, 2016 15:47:49 +0000

- Spelling: change all references from our code of “color” to the PROPER British version of “colour” because it sounds 100x better

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)

718 IonutCava picture IonutCava Thu 02 Jun, 2016 16:02:48 +0000

- Code cleanup:
— Rename Framebuffer to RenderTarget. Only OpenGL uses the Framebuffer nomenclature.
— Remove base Shader class as only OpenGL will have separate shaders (and eventually move to pipeline objects) as Direct3D uses FX files and may end up with different structure
— Remove drawBox3D, drawSphere3D and drawLines from GFXDevice class and add them as member functions to the IMPrimitive class (renamed to fromXYZ)
— Pull some elements from SceneManager and move them to standalone classes (W.I.P.)

713 IonutCava picture IonutCava Wed 25 May, 2016 15:43:38 +0000

- Removed all unique_ptr’s from the code with classic new/delete pairs. They were seriously not needed.
- Added the concept of SceneComponent to scene specific classes: aiManager, lightPool, sceneGraph, physicsInterface etc
— This allowed the removal of the global GET_ACTIVE_SCENEGRAPH call;

712 IonutCava picture IonutCava Tue 24 May, 2016 16:18:37 +0000

- Added the concept of “buffer” to be used by GenericVertexData and ShaderBuffer without caring if it’s persistent or not.
— Persistent buffers handle their own locking instead of relying on the parent class
- HiZ occlusion culling fixes and optimizations

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)