Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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
Opengl es OpenGL ES/实时/显示的任何顶点的位置?_Opengl Es_3d_Geometry_Feedback_Vertices - Fatal编程技术网

Opengl es OpenGL ES/实时/显示的任何顶点的位置?

Opengl es OpenGL ES/实时/显示的任何顶点的位置?,opengl-es,3d,geometry,feedback,vertices,Opengl Es,3d,Geometry,Feedback,Vertices,我目前正在处理OpenGL ES(2,iOS 6)…我有一个问题 一,。让我们做一个必须绘制的网格。而且 二,。我可以要求旋转/平移,以便视点发生变化 所以, 如何(实时)知道显示的任何顶点的位置 先谢谢你 jgapc有两件事我想指出: 背面剔除将丢弃三角形,而不是顶点 三角形也会被剪裁,以便它们位于视锥体内 我很好奇,为什么你关心没有显示的内容?不完全清楚你在追求什么,但是如果你想知道在做了一系列旋转和平移之后你的对象在哪里,那么一个非常简单的选择是,如果你在程序代码中而不是在着色器中执行这些

我目前正在处理OpenGL ES(2,iOS 6)…我有一个问题

一,。让我们做一个必须绘制的网格。而且

二,。我可以要求旋转/平移,以便视点发生变化

所以, 如何(实时)知道显示的任何顶点的位置

先谢谢你


jgapc有两件事我想指出:

  • 背面剔除将丢弃三角形,而不是顶点
  • 三角形也会被剪裁,以便它们位于视锥体内

  • 我很好奇,为什么你关心没有显示的内容?

    不完全清楚你在追求什么,但是如果你想知道在做了一系列旋转和平移之后你的对象在哪里,那么一个非常简单的选择是,如果你在程序代码中而不是在着色器中执行这些更改,就是简单地获取变换矩阵的最后一行或最后一列(取决于是否使用行或列主矩阵),这将是对象中心作为坐标向量的最终平移

    最后一行或最后一列与将最终变换矩阵乘以对象的局部坐标中心向量(0,0,0,1)相同


    如果您想知道对象顶点的位置,而不是对象的中心,那么将局部坐标空间中的该顶点乘以最终的变换矩阵,您将得到该顶点所在的新坐标。

    感谢Rahul的回复和您的精确!我已经编辑了我的问题,以便我的目标是明确的。欢迎@jgapc!我不知道只显示顶点,但您可以将它们与ModelviewProjectionMatrix相乘。警告:您应该自己生成它。看见转换后,将结果标准化(将
    x
    y
    z
    分别除以第四个坐标
    w
    )。完成后,您可以进行一个简单的“检查2D边界”测试,看看它们是否在您的视锥体内。另一件事。。。OpenGL ES 2.0没有变换反馈(从中可以获得变换后的顶点数据)。看,谢谢你的医生。跟踪不推荐的内容总是好的;)我想你的建议是最直接的。想到GPU“知道”屏幕上显示的和屏幕下显示的是什么……但我却不知道……这有点令人沮丧,除非我实施一个测试来解决它(如果p(x,y,z)=(y,z)