El primer programa: dibujar triángulos (2)

     En el capítulo anterior creamos varios objetos Filament:

    private void setupFilament() {
        mEngine = Engine.create();
        mRenderer = mEngine.createRenderer();
        mView = mEngine.createView();
        mScene = mEngine.createScene();
        mCamera = mEngine.createCamera(mEngine.getEntityManager().create());
    }

    En este capítulo aprenderemos a utilizar estos objetos. Primero configuramos el skybox para el objeto mScene:

        Skybox skybox = new Skybox.Builder().color(0.0f, 0.0f, 0.0f, 1.0f).build(mEngine);
        mScene.setSkybox(skybox);

    ¿Qué es un palco? En pocas palabras, un palco es un cubo enorme con seis lados. Si es necesario, podemos

Establece diferentes texturas para cada superficie para simular cielo estrellado, cielo, nubes blancas, universo, etc. Aquí, por simplicidad, simplemente

Establezca ambos palcos en un fondo negro. El propósito del palco es configurar el entorno.

    Configure mScene y mCamera en el objeto mView:

        mView.setScene(mScene);
        mView.setCamera(mCamera);

   Configurar la escena para la vista es mostrar los objetos en la escena, y configurar la cámara para la vista es ver los objetos desde diferentes ángulos.

Observar objetos.

   A continuación, configuramos la matriz de proyección de la cámara, la proyección se divide en proyección ortográfica y proyección en perspectiva:

    public enum Projection {
        /** Perspective projection, objects get smaller as they are farther.  */
        PERSPECTIVE,
        /** Orthonormal projection, preserves distances. */
        ORTHO
    }

  Como estamos dibujando un triángulo simple, simplemente use ORTO:

        @Override
        public void onResized(int width, int height) {
            float zoom = 1.5f;
            float aspect = (float)width / (float)height;
            mCamera.setProjection(Camera.Projection.ORTHO,
                    -aspect * zoom, aspect * zoom, -zoom, zoom, 0.0, 10.0)

            mView.setViewport(new Viewport(0, 0, width, height));
        }

   Vemos que después de configurar la proyección para la cámara, también configuramos la información de la ventana gráfica de la Vista. Porque hay algo relevante aquí.

La información devuelta es la información de ancho y alto de Surface. No necesitamos configurarla aquí. Podemos guardar el ancho y alto en

También se puede configurar en otro lugar.

   Hasta ahora hemos realizado ajustes simples para Cámara y Ver. Si queremos renderizar objetos específicos, lo principal es configurarlos.

Escena. Agregue la entidad que necesitamos renderizar a la escena y el objeto se podrá renderizar cuando finalice el dibujo.

salga

Supongo que te gusta

Origin blog.csdn.net/jake9602/article/details/128824110
Recomendado
Clasificación