Optimize *GLShader.Update() by allocating array before for loop

This commit is contained in:
Alexandru-Paul Copil 2021-07-09 10:44:48 +03:00
parent aae9927b58
commit bb0a0f485e
1 changed files with 7 additions and 6 deletions

View File

@ -68,13 +68,14 @@ func NewGLShader(fragmentShader string) *GLShader {
// Update reinitialize GLShader data and recompile the underlying gl shader object
func (gs *GLShader) Update() {
gs.uf = nil
for _, u := range gs.uniforms {
gs.uf = append(gs.uf, glhf.Attr{
Name: u.Name,
Type: u.Type,
})
gs.uf = make([]glhf.Attr, len(gs.uniforms))
for idx := range gs.uniforms {
gs.uf[idx] = glhf.Attr{
Name: gs.uniforms[idx].Name,
Type: gs.uniforms[idx].Type,
}
}
var shader *glhf.Shader
mainthread.Call(func() {
var err error