我是JOGL的新手。我需要在3D世界中加载数千个元素(如立方体)。这些元素将具有与每个元素相关联的唯一标签。哪个应显示在元素的面上(面部取决于相机视点)。
我成功创造了世界&我只加载我正在查看的部分。当2D中仅加载了对象/元素时。 CPU使用率是正常的。但是当我介绍文本时(使用 TextRenderer ),CPU使用率非常高(即正常情况下的30%+)。
我想要一种有效的方式来渲染3D世界中的文本。 我使用下面的代码来渲染文本。
textRenderer.begin3DRendering();
textRenderer.setColor(Color.WHITE);
textRenderer.setSmoothing(true);
textRenderer.draw3D(name, x, y, object4D.vertex[0][2]+0f, 0.02f);
textRenderer.end3DRendering();
我尝试使用 TextRegionUtil 。
try {
font = FontFactory.get(FontFactory.JAVA).getDefault();
renderState = RenderState.createRenderState(SVertex.factory());
renderer = RegionRenderer.create(renderState, RegionRenderer.defaultBlendEnable, RegionRenderer.defaultBlendDisable);
renderer.init(gl2, Region.DEFAULT_TWO_PASS_TEXTURE_UNIT);
textUtil = new TextRegionUtil(Region.DEFAULT_TWO_PASS_TEXTURE_UNIT);
pmv = renderer.getMatrix();
pmv.glMatrixMode(GLMatrixFunc.GL_PROJECTION);
pmv.glScalef(0.1f, 0.1f, 01f);
pmv.glLoadIdentity();
} catch (IOException e) {
e.printStackTrace();
}
pmv.glPushMatrix();
pmv.glTranslatef(0, 0, 0);
renderState.setColorStatic(1, 0, 0, 1);
textUtil.drawString3D(gl2, renderer, font, fontSize, "Text", null, texSize);
pmv.glPopMatrix();
但我无法正确看待。 它显示如下视图。
所以请任何人帮我解决这个问题。