func InitDirectionalLights() {
	directionalLight = DirectionalLight{
		Color:      mgl32.Vec3{1, 1, 1},
		Brightness: 1.0,
		Direction:  mgl32.Vec3{1, -1, 0}.Normalize(),
	}

	// Prepare light buffer
	gl.GenBuffers(1, &directionalLightBuffer)

	// Bind light buffer
	gl.BindBuffer(gl.SHADER_STORAGE_BUFFER, directionalLightBuffer)
	gl.BufferData(gl.SHADER_STORAGE_BUFFER, int(unsafe.Sizeof(directionalLight)), unsafe.Pointer(&directionalLight), gl.DYNAMIC_DRAW)

	// Unbind for safety.
	gl.BindBuffer(gl.SHADER_STORAGE_BUFFER, 0)
}
// InitDirectionalLights sets up buffer space for storage of Directional Light data.
InitDirectionalLights sets up buffer space for storage of Directional Light data.
// InitDirectionalLights sets up buffer space for storage of Directional Light data .
func InitDirectionalLights() {
	directionalLight = DirectionalLight{
		Color:      mgl32.Vec3{1, 1, 1},
		Brightness: 1.0,
		Direction:  mgl32.Vec3{1, -1, 0}.Normalize(),
	}
	gl.GenBuffers(1, &directionalLightBuffer)
	gl.BindBuffer(gl.SHADER_STORAGE_BUFFER, directionalLightBuffer)
	gl.BufferData(gl.SHADER_STORAGE_BUFFER, int(unsafe.Sizeof(directionalLight)), unsafe.Pointer(&directionalLight), gl.DYNAMIC_DRAW)
	gl.BindBuffer(gl.SHADER_STORAGE_BUFFER, 0)
}
func InitDirectionalLights ( ) { directionalLight = DirectionalLight { Color : mgl32 . Vec3 { 1 , 1 , 1 } , Brightness : 1.0 , Direction : mgl32 . Vec3 { 1 , - 1 , 0 } . Normalize ( ) , } gl . GenBuffers ( 1 , & directionalLightBuffer ) gl . BindBuffer ( gl . SHADER_STORAGE_BUFFER , directionalLightBuffer ) gl . BufferData ( gl . SHADER_STORAGE_BUFFER , int ( unsafe . Sizeof ( directionalLight ) ) , unsafe . Pointer ( & directionalLight ) , gl . DYNAMIC_DRAW ) gl . BindBuffer ( gl . SHADER_STORAGE_BUFFER , 0 ) }
InitDirectionalLights sets up buffer space for storage of Directional Light data.
InitDirectionalLights sets up buffer space for storage of Directional Light data .
// Prepare light buffer // Bind light buffer // Unbind for safety.