update method

void update(
  1. dynamic uniformsGroup,
  2. WebGLProgram? program
)

Implementation

void update(uniformsGroup, WebGLProgram? program ) {
	dynamic buffer = buffers[uniformsGroup.id];

	if ( buffer == null ) {
		prepareUniformsGroup( uniformsGroup );
		buffer = createBuffer( uniformsGroup );
		buffers[ uniformsGroup.id ] = buffer;
		uniformsGroup.addEventListener( 'dispose', onUniformsGroupsDispose );
	}

	// ensure to update the binding points/block indices mapping for this program

	final webglProgram = program?.program;
	state.updateUBOMapping( uniformsGroup, webglProgram! );

	// update UBO once per frame

	final frame = info.render['frame'];

	if ( updateList[ uniformsGroup.id ] != frame ) {
		updateBufferData( uniformsGroup );
		updateList[ uniformsGroup.id ] = frame;
	}
}