【问题标题】:Opengl ES - drawing a plane of multiple verticesOpengl ES - 绘制多个顶点的平面
【发布时间】:2010-02-23 12:46:31
【问题描述】:

使用适用于 Android 的 Opengl ES 在绘制带有纹理的正方形时遇到问题。从远处看,它们看起来很好,但是当靠近模型时,纹理会变坏。我们认为这是因为模型仅包含四个顶点:

float[] 坐标 = {

-1, 1, 0.0f,

1, 1, 0.0f,

-1, -1, 0.0f,

1, -1, 0.0f,
};

这就是为什么我们要扩展模型,使它由 10x10 多边形组成,所以问题是:我们必须按什么顺序绘制顶点才能创建一个类似这样的平面:

http://cocktailgenerator.net/cis4/plan.png

使用 GL_TRIANGLE_STRIP 我们可以绘制一个多边形矩形,如 (1x10) 并且效果很好,但是我们如何将其扩展为 10x10?

【问题讨论】:

  • 愚蠢的问题,顶点的顺序会影响平面的绘制方式吗?例如float[] 坐标 = { -1, 1, 0.0f, 1, 1, 0.0f, 1, -1, 0.0f, -1, -1, 0.0f, }; ...与您当前的坐标顺序相比,它的呈现方式是否有所不同?

标签: opengl-es textures vertex plane


【解决方案1】:

这是我使用 OpenGL ES 1.0 解决它的方法:

https://blog.jayway.com/2010/02/15/opengl-es-tutorial-for-android-part-v/

【讨论】:

    【解决方案2】:

    如果您从左到右创建行,您只需通过添加不可见的退化条来开始新行:您将行的最后一点添加两次,插入面积为零的三角形。这些三角形在渲染面时将不可见。通过使用这种技术,您可以在条带中创建不连续性,例如,在一个大平面中开始一个新行。

    关于原始问题:您确定可以通过细分网格来解决渲染问题吗?这听起来不像是正确的方法。

    【讨论】:

    • 感谢您的回复。我们不知道可以划分网格。你有一个关于如何做的例子的链接吗?
    猜你喜欢
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    相关资源
    最近更新 更多