Draft
Conversation
*Added GLBinding
* Manages TextureUnits, ImageUnits & Buffer Binding Indexes
* Increments counts and initialises values upon first use
* Manages SSBO/TBO under the same Bindings
* Refactored UniformBuffer into StructuredBuffer
* UniformBuffer now derives from StructuredBuffer becoming UniformStructuredBuffer
* Added ShaderStorageBuffer, uses SSBO if supported and fallsback to TextureBuffers if not
* Shaders now use the max supported OpenGL Version
* All Shader files use `VERSION_HEADER` define
* Fixed compile errors when using 4.1+
* Needed inorder to support SSBO, since `buffer` is a reserved keyword in older versions of the shader language
* Added SliceAllocator which manages blocks of memory, with support for validating slices not overlapping & defragmenting
* Added Useful debug stats (DrawCallCount, ZoneCount, Dynamic Renderables)
* CheckGLErrors can now print useful context info
* RenderState can now print its current state
* Added SSBOModelData
* Static Models grab slices for the zone during upload
* Dynamic Models grab slices per frame and set data in `drawDynamic` & `drawTemp`
* Flags are used to determine if model is a "detailModel" & should fade out untill completely culled
* worldViewIndex is stored within the ModelData struct, removing the need to push metadata for the dynamic VAOs
* Optimised TempModelData uploading
Removed Zone Metadata VBO, instead ZoneIDx is packed into the same Vertex Attrib as the Model IDx ZoneIDx uses 12 bits allowing up to 4K Zones which matches the UBO Limit ModelIdx uses 20 bits allowing up to 1M models which is probably overkill, we can balance as needed if we need to support more zones
*Added GLBinding
* Manages TextureUnits, ImageUnits & Buffer Binding Indexes
* Increments counts and initialises values upon first use
* Manages SSBO/TBO under the same Bindings
* Refactored UniformBuffer into StructuredBuffer
* UniformBuffer now derives from StructuredBuffer becoming UniformStructuredBuffer
* Added ShaderStorageBuffer, uses SSBO if supported and fallsback to TextureBuffers if not
* Shaders now use the max supported OpenGL Version
* All Shader files use `VERSION_HEADER` define
* Fixed compile errors when using 4.1+
* Needed inorder to support SSBO, since `buffer` is a reserved keyword in older versions of the shader language
* Added SliceAllocator which manages blocks of memory, with support for validating slices not overlapping & defragmenting
* Added Useful debug stats (DrawCallCount, ZoneCount, Dynamic Renderables)
* CheckGLErrors can now print useful context info
* RenderState can now print its current state
* Added SSBOModelData
* Static Models grab slices for the zone during upload
* Dynamic Models grab slices per frame and set data in `drawDynamic` & `drawTemp`
* Flags are used to determine if model is a "detailModel" & should fade out untill completely culled
* worldViewIndex is stored within the ModelData struct, removing the need to push metadata for the dynamic VAOs
* Optimised TempModelData uploading
Removed Zone Metadata VBO, instead ZoneIDx is packed into the same Vertex Attrib as the Model IDx ZoneIDx uses 12 bits allowing up to 4K Zones which matches the UBO Limit ModelIdx uses 20 bits allowing up to 1M models which is probably overkill, we can balance as needed if we need to support more zones
Model Fade has to use dither since it writes depth
…ized, but another thread is accessing the staging buffer and thus writes data that'll never get uploaded
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.