在Rajawali渲染线框对象

时间:2013-07-20 21:58:08

标签: java render wireframe rajawali

        public void initScene() {
            ALight light = new DirectionalLight(-1, 0, -1);
            light.setPower(2);
            getCurrentCamera().setPosition(0, 0, 7);
            getCurrentCamera().setLookAt(0, 0, 0);



            try {
                Cube cube = new Cube(1);
                DiffuseMaterial material = new DiffuseMaterial();
                material.addTexture(new Texture(R.drawable.rajawali_tex));
                cube.setMaterial(material);
                cube.addLight(light);
                addChild(cube);

                Vector3 axis = new Vector3(3, 1, 6);
                axis.normalize();

                RotateAnimation3D anim = new RotateAnimation3D(axis, 360);
                anim.setDuration(8000);
                anim.setRepeatMode(RepeatMode.INFINITE);
                anim.setInterpolator(new AccelerateDecelerateInterpolator());
                anim.setTransformable3D(cube);
                registerAnimation(anim);
                anim.play();    
            } 
            catch (TextureException e) {
                e.printStackTrace();
            }
        }

我看到从立方体中移除纹理和光线实际上会导致Rajawali掉下来。我想知道在这种情况下如何将立方体渲染为线框而不是纹理对象。有谁知道如何渲染线框?

提前致谢...

2 个答案:

答案 0 :(得分:1)

cube.setDrawingMode(1);

cube.setDrawingMode(2);

这应该做到

答案 1 :(得分:1)

您需要使用默认材质以及将绘图模式设置为线条,例如:

mSphere = new Sphere(1, 24, 24);

Material material = new Material();

mSphere.setMaterial(material);      
mSphere.setDrawingMode(GLES20.GL_LINES);

getCurrentScene().addChild(mSphere);