Java Libgdx shaperender在绘制modelinstances的tilemap后绘制黑色而不是红色

Java Libgdx shaperender在绘制modelinstances的tilemap后绘制黑色而不是红色,java,colors,libgdx,renderer,Java,Colors,Libgdx,Renderer,嗨,我正在使用libgdx的屏幕,我正在尝试创建一个最重要的包括地图的战斗场景。地图只是一个平铺数组,每个平铺包含我创建的各种块之一的ModelInstance。地图绘制得很漂亮,但是在我的地图中,我需要高亮显示选定的平铺。同样,这工作得很好,除了ShaperEnder一直把线条画成黑色,而不是我设置的任何颜色。以下是我的屏幕渲染功能: @Override public void render(float delta) { camController.update(); pCam

嗨,我正在使用libgdx的屏幕,我正在尝试创建一个最重要的包括地图的战斗场景。地图只是一个平铺数组,每个平铺包含我创建的各种块之一的ModelInstance。地图绘制得很漂亮,但是在我的地图中,我需要高亮显示选定的平铺。同样,这工作得很好,除了ShaperEnder一直把线条画成黑色,而不是我设置的任何颜色。以下是我的屏幕渲染功能:

@Override
public void render(float delta) {
    camController.update();
    pCam.update();
    Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(),
            Gdx.graphics.getHeight());
    //Gdx.gl.glEnable(GL10.GL_LIGHTING | GL10.GL_GENERATE_MIPMAP
    //      | GL10.GL_BLEND);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
    Gdx.gl.glLineWidth(4);

    batch.begin(pCam);
    map.render(batch, env);
    batch.end();

    renderer.setProjectionMatrix(pCam.combined);
    renderer.begin(ShapeType.Line);
    renderer.setColor(Color.RED);
    map.highlightSelectedTile(renderer);
    renderer.end();
}
格伦贝尔的电话只是我尝试了各种方法来解决这个问题

贴图渲染和高亮显示功能如下所示:

public void render(ModelBatch batch, Environment env) {
    for (EncounterMapTile tile : tiles) {
        tile.render(batch, env);
    }
}
public void highlightSelectedTile(ShapeRenderer renderer) {
    if (selectedTile != null) {
        Vector3[] pos = selectedTile.getBounds().getCorners();
        renderer.box(pos[4].x, pos[4].y, pos[4].z + .1f, cellWidth,
                cellHeight, 0);
    }
}
最后是贴图块的渲染:

public void render(ModelBatch batch, Environment env) {
    batch.render(instance, env);
}

所以从逻辑上说,我觉得这没什么错。我所了解的所有信息都建议确保渲染器调用不嵌套在batch.begin/end等内部。但老实说,我似乎不明白为什么在使用spritebatches时这会起作用,但在3d中使用modelInstances时,它不会保存颜色。我的印象是Shaperender与批次完全分离。。。帮助?

bump。有人对此有什么想法吗?造型师是否受到灯光的影响,而我忘了做些什么?我找不到解决办法。。。。悲伤的脸你有没有试过在环境中换灯?虽然我没有看灯,但这似乎是由昨天起的夜间修正的。