【问题标题】:android libgdx bind 6 diffrent texture to cubeandroid libgdx 将 6 个不同的纹理绑定到立方体
【发布时间】:2012-07-23 12:16:18
【问题描述】:

我正在为 Android 开发游戏,我必须在每个面上绘制具有不同纹理的立方体。

我正在使用 libgdx 游戏开发框架来开发这个游戏。

我绘制立方体的代码如下:

public void draw(GL10 gl) 
{
    Mesh cube_mesh  =   ModelLoaderOld.loadObj(Gdx.files.internal("data/cube.obj").read());
    cube_mesh.render(GL10.GL_TRIANGLES);}

现在我想将 6 种不同的纹理绑定到这个立方体。我该怎么做?

【问题讨论】:

    标签: android libgdx


    【解决方案1】:

    我会考虑在代码中创建您的多维数据集,而不是从 obj 文件中加载它。这将允许您完全自定义纹理坐标的生成,您很可能需要创建一个有效的解决方案。

    您只需使用一个纹理,而是为每个面指定一组不同的坐标,而不是使用 6 个纹理。然后,每个纹理坐标将指向纹理图集上的一个位置。这样,您甚至可以在一个大纹理图集中拥有多个立方体纹理。这种方式会更有效率,因为它可以最大限度地减少纹理切换。

    对于每个面都有自己的一组纹理坐标的立方体,每个面需要 4 个顶点,每个面需要 6 个索引。所以总共有 24 个顶点和 36 个索引。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 2012-06-14
    • 2013-06-29
    • 2012-08-30
    • 2020-08-19
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多