在libGDX中将纹理绑定到网格?

时间:2014-01-11 16:38:59

标签: java opengl-es libgdx

我有一个从Renderables中的数据生成的网格物体。环境已经确定。材料很简单new Material()

            ... /*init renderable*/

    /*set mesh parameters*/
    renderable.mesh = new Mesh(false, 
            (int)(meshVertexArray.length/SurfaceBuilder.__ELEMENTSPERVERTEX__), /*!vertices, not cordinates*/ 
            meshIndexArray.length,
            new VertexAttribute(Usage.Position,3,"a_position"),
            new VertexAttribute(Usage.Normal,3,"a_normal"),
            new VertexAttribute(Usage.TextureCoordinates,2,"a_texCoords"),
            new VertexAttribute(Usage.ColorPacked,4, "a_color")
    );

            ... /*set vertices*/

网格生成正确,但我看不到纹理,只看到灰色(阴影)三角形。我确实尝试过rtfm方法,但到目前为止我看不到绑定纹理,所以它在libGDX中正确显示,只有着色器,我没有使用它们(我正在实现这个功能后赶上它们) )。在没有着色器的情况下,libGDX中有没有办法将纹理绑定到网格?

1 个答案:

答案 0 :(得分:1)

如果没有看到纹理代码,可以尝试使用以下格式为材质指定纹理:

    Material mat = new Material();
    //set the diffuse channel on the texture using some texture
    mat.set(TextureAttribute.createDiffuse(new Texture("crate.jpg")));