Está en la página 1de 2

Inicializa formas

Antes de empezar a dibujar, debes inicializar y cargar las formas que planeas hacer. A menos que la
estructura (las coordenadas originales) de las formas que usas en tu programa cambien durante el curso
de la ejecución, debes inicializarlas en el método onSurfaceCreated() de tu procesador para la
una mejor memoria y eficiencia de procesamiento.

public class MyGLRenderer implements GLSurfaceView.Renderer {


        ...
        private Triangle mTriangle;
        private Square   mSquare;
        public void onSurfaceCreated(GL10 unused, EGLConfig config) {
            ...
            // initialize a triangle
            mTriangle = new Triangle();
            // initialize a square
            mSquare = new Square();
        }
        ...
    }
   

Traza una forma


Dibujar una forma definida con OpenGL ES 2.0 requiere una cantidad considerable de código, ya que
debes proporcionar muchos detalles a la canalización de procesamiento gráfico. Específicamente, debes
definir lo siguiente:
• Sombreador de vértices: Código de gráficos de OpenGL ES para procesar los vértices de una
forma.
• Sombreador de fragmentos: Código de OpenGL ES para dibujar la cara de una forma con
colores o texturas.
• Programa: Un objeto de OpenGL ES que contiene los sombreadores que deseas usar para
dibujar una o más formas.
Necesitas al menos un sombreador de vértices para dibujar una forma y un sombreador de fragmentos
para colorear esa forma. Estos sombreadores deben compilarse y luego agregarse a un programa de
OpenGL ES, que después se usa para dibujar la forma. Aquí se muestra un ejemplo de cómo definir
sombreadores básicos que puedes usar para dibujar una forma en la clase Triangle:

    public class Triangle {


        private final String vertexShaderCode =
            "attribute vec4 vPosition;" +
            "void main() {" +
            "  gl_Position = vPosition;" +
            "}";
        private final String fragmentShaderCode =
            "precision mediump float;" +
            "uniform vec4 vColor;" +
            "void main() {" +
            "  gl_FragColor = vColor;" +
            "}";
        ...
    }
   

También podría gustarte