gpt4 book ai didi

point-clouds - 在 Metal 中绘制点

转载 作者:行者123 更新时间:2023-12-04 17:45:18 24 4
gpt4 key购买 nike

我使用drawIndexedPrimitives函数在Metal中绘制点,但是我不知道应该在哪里调整点的大小。在OpenGL ES中,我可以在着色器中调整点大小:gl_PointSize = 10.0f;在Metal中这是如何工作的?

顺便说一下,对于来自文件的绘制点,我有一个las文件(3d点云数据:一种顺序二进制格式,用于存储来自传感器的数据,并被某些应用程序用作中间处理存储),我想将其导入Xcode并使用Metal for iOS渲染这些点,谁知道如何使用Metal使用las文件实现?我应该在导入之前将其转换为OBJ或PLY吗?

画点功能(快速):

commandEncoder.drawIndexedPrimitives(.Point,
indexCount:indexCount,
indexType:.UInt16,
indexBuffer:indexBuffer,
indexBufferOffset: 0)

最佳答案

我发现在着色器中定义了点大小。

在结构中为顶点着色器设置一个变量

 struct VertexOut{
...
float pointsize[[point_size]];
...}

并设置var的值:
VertexOut.pointsize = 10.0;

然后在主代码中使用“绘制点”功能:
commandEncoder.drawIndexedPrimitives(.Point,
indexCount:indexCount,
indexType:.UInt16,
indexBuffer:indexBuffer,
indexBufferOffset: 0)

但是仍然停留在las文件中...不知道如何使用Metal渲染它...

关于point-clouds - 在 Metal 中绘制点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36912928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com