【问题标题】:Opengl ,split a sprite to 2 other sprites between a given lineOpengl,将一个精灵分割成给定行之间的另外两个精灵
【发布时间】:2014-02-23 15:31:43
【问题描述】:

我通常不会在没有代码的情况下提出问题,但这次我找不到我想做的事情的起点,我想将一个精灵(uv,vertices)拆分为另外两个精灵(uv,vertices ) 在 2 点之间,就像在水果忍者中分割水果一样,但在 2d 精灵中。

我不想让你写代码,只是解释一下如何做的大致思路。 如果这很重要,我正在使用 Libgdx

【问题讨论】:

    标签: opengl opengl-es sprite vertices


    【解决方案1】:

    这个过程称为剪辑

    在您的情况下,您有一个由 4 个顶点(包括它们的位置和 UV 坐标)定义的多边形。您可以通过由两点给出的线来分割它。

    一个简单的算法会检查 4 个点中的每一个在直线的哪一侧。如果它在左侧,请将其添加到您的第一个结果中,如果它在右侧,请将其添加到您的第二个结果中。如果两个连续的顶点最终位于直线的不同侧,则需要计算直线与该边的交点并将其添加到两个结果中。

    【讨论】:

    • 你的算法听起来可行,我会尝试并发布代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多