Subversion Repository Public Repository


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

Changeset 391

Committed by IonutCava on Sun 29 Mar, 2015 20:28:02 +0000

Commit Message:

- Performance improvements:
— Modified GLIM to perform a pre-pass + reserve mem when gathering vertex data (position + attributes) before uploading it to the GPU. Attributes and positions are added to a 4byte per element vector then uploaded in bulk using insert that does a lot of memory allocations in the background. The pre-pass reserves memory up-front
— Changed the animation data upload from a double-buffered approach to a single-buffer 3x data size round-robin mechanism. This required several changes to UBO/SSBOs:
-— Padding is added on bind/create/update etc to align ranges with the UBO alignment returned by OpenGL
-— All ranges are now expressed in number of primitives instead of number of bytes to simplify the public interface
- Removed an old debug prinfn callback
- Fixed a bug when only one single node is visible (offset != range check on UBOs was wrong)
- ShaderBuffer info in RenderPackage now takes an offset and a range to bind the buffer (instead of just the location)


Added /trunk/Source Code/Platform/Video/Buffers/ShaderBuffer/ShaderBuffer.cpp

Modified /trunk/Source Code/Dynamics/Entities/Particles/ParticleEmitter.cpp Diff

Modified /trunk/Source Code/Environment/Vegetation/Vegetation.cpp Diff

Modified /trunk/Source Code/Graphs/Components/AnimationComponent.cpp Diff

Modified /trunk/Source Code/Graphs/Components/Headers/AnimationComponent.h Diff

Modified /trunk/Source Code/Graphs/Components/Headers/RenderingComponent.h Diff

Modified /trunk/Source Code/Graphs/Components/RenderingComponent.cpp Diff

Modified /trunk/Source Code/Libs/src/GLIM/glimBatchData.cpp Diff

Modified /trunk/Source Code/Libs/src/GLIM/glimBatchData.h Diff

Modified /trunk/Source Code/Managers/LightManager.cpp Diff

Modified /trunk/Source Code/Platform/Video/Buffers/ShaderBuffer/Headers/ShaderBuffer.h Diff

Modified /trunk/Source Code/Platform/Video/Direct3D/Buffers/ShaderBuffer/Headers/d3dConstantBuffer.h Diff

Modified /trunk/Source Code/Platform/Video/Direct3D/Buffers/ShaderBuffer/d3dConstantBuffer.cpp Diff

Modified /trunk/Source Code/Platform/Video/GFXDeviceDraw.cpp Diff

Modified /trunk/Source Code/Platform/Video/Headers/GFXDevice.h Diff

Modified /trunk/Source Code/Platform/Video/OpenGL/Buffers/ShaderBuffer/Headers/glUniformBuffer.h Diff

Modified /trunk/Source Code/Platform/Video/OpenGL/Buffers/ShaderBuffer/glUniformBuffer.cpp Diff

Modified /trunk/Source Code/Platform/Video/OpenGL/Buffers/VertexBuffer/glVertexArray.cpp Diff

Modified /trunk/Source Code/Platform/Video/OpenGL/GLFWWrapper.cpp Diff

Modified /trunk/VCData/VisualStudioProjects/Divide-Platform.vcxproj Diff

Modified /trunk/VCData/VisualStudioProjects/Divide-Platform.vcxproj.filters Diff

Modified /trunk/assets/shaders/GLSL/vertexAtoms/boneTransforms.vert Diff