这段代码是一个ARCamera类的扩展,实现了projectPoint方法。该方法接受一个simd_float3类型的3D点坐标作为参数,并将其投影到相机视图上。
首先,通过self.viewMatrix和self.projectionMatrix获取相机的视图矩阵和投影矩阵。
然后,使用simd_mul函数计算出视图投影矩阵(viewProjectionMatrix)。
接下来,创建一个simd_float4对象(point4),其中包含传入的3D点坐标,并将其乘以视图投影矩阵,得到一个projectedPoint4。
通过将projectedPoint4的x、y和z分量除以w分量,得到归一化设备坐标(normalizedDeviceCoordinates)。
最后,将归一化设备坐标作为返回值返回。