- 
                Notifications
    You must be signed in to change notification settings 
- Fork 65
Only update PushBuffer if any uniform has actually changed #1685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
bec3aa0    to
    ad58d5c      
    Compare
  
    | Also added a fix for  | 
f67e29b    to
    e84d583      
    Compare
  
    | Changed the initial commit and added a new one, now it mutualises  | 
80717b6    to
    8832f45      
    Compare
  
    fedb60c    to
    fc2fff3      
    Compare
  
    fc2fff3    to
    bf51f59      
    Compare
  
    Adds `PushBuffer` class, `pushBuffer` global, and the supporting code for `glconfig2`.
Also adds `GLShader.pushSkip` and `GLShader._pushUniforms`. Add `padding` back to the `GLShader` size calculations in material system.
Will be required for `PushBuffer` to set global uniform values outside of their shaders.
This will set `GLShaderManager.globalUniformBlock` to the struct + defines text, which will be the same for all shaders.
This will be required for `PushBuffer` to correctly sort uniforms. Also updates `GLShader.WriteUniformsToBuffer()` to use `mode` and `filter` arguments to select the correct uniforms.
Post-process shaders to actually add the `globalUniformBlock`, add `SetConstUniforms()` and `SetFrameUniforms()` functions to the core and material system renderers, and add the supporting glsl code.
Also mutualises `uniformFirewall` and `currentValue` and removes a bunch of unneeded code.
bf51f59    to
    2b38e3f      
    Compare
  
    
Requires #1684
Further improvement for PushBuffer, only update it if it's actually required.