Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 金属与坐标系映射_Ios_Swift_Metal_Vertex Shader_Metalkit - Fatal编程技术网

Ios 金属与坐标系映射

Ios 金属与坐标系映射,ios,swift,metal,vertex-shader,metalkit,Ios,Swift,Metal,Vertex Shader,Metalkit,我有一个坐标系,左上角是(0,0),右下角是(375647) 在这个系统中,顶点的坐标如下: var Vertices = [ Vertex(x: 0, y: 0, z: 0, r: 1, g: 0, b: 0, a: 1), Vertex(x: 375, y: 0, z: 0, r: 1, g: 0, b: 0, a: 1), Vertex(x: 375, y: 647, z: 0, r: 1, g: 0, b: 0, a: 1), Vertex(x: 0,

我有一个坐标系,左上角是(0,0),右下角是(375647)

在这个系统中,顶点的坐标如下:

var Vertices = [
  Vertex(x: 0,   y: 0,   z: 0, r: 1, g: 0, b: 0, a: 1),
  Vertex(x: 375, y: 0,   z: 0, r: 1, g: 0, b: 0, a: 1),
  Vertex(x: 375, y: 647, z: 0, r: 1, g: 0, b: 0, a: 1),
  Vertex(x: 0,   y: 647, z: 0, r: 1, g: 0, b: 0, a: 1),
 ]
因此,顶点绘制一个矩形,填充我的所有坐标系。屏幕大小为(7501294)。我的坐标系代表这个屏幕

对于金属变形的设备坐标,使用左手坐标系并映射到视口中的位置。基本体被剪裁到该坐标系中的长方体上,然后进行栅格化。剪裁框的左下角位于(-1.0,-1.0)的(x,y)坐标处,右上角位于(1.0,1.0)

如何使用金属绘制顶点? 我试着去做

[RenderCommand setViewport: (MTLViewport){ 0.0, 0.0, 750, 1294, 0.0, 1.0 }];

但这不起作用,所以也许我错过了什么

还有更多的命令要下推渲染命令编码器,以获得屏幕上的顶点!您需要设置顶点缓冲区、可选的索引缓冲区、管道状态(包含顶点和片段着色器),最后发出绘制调用。签出和。