Page

1. Inicialización de GLFW y creación de la ventana

  • glfw.init(): Inicializa la biblioteca GLFW.

  • glfw.create_window(width, height, title, monitor, share): Crea una ventana con el tamaño width y height en píxeles, y el título especificado. monitor y share se usan para configuraciones avanzadas (normalmente se dejan como None).

  • glfw.make_context_current(window): Hace que el contexto de OpenGL de la ventana se vuelva activo para el renderizado.


2. Configuración de puntos (con GL_POINTS)

  • glPointSize(size): Establece el tamaño del punto que se va a dibujar. En tu código, glPointSize(10) dibuja puntos de tamaño 10 píxeles.

  • glBegin(GL_POINTS) y glEnd(): Define el inicio y el final de un bloque de dibujo de puntos. Dentro de este bloque, defines los vértices para el punto con glVertex2f(x, y).


3. Transformaciones de objetos y color (con GL_QUADS)

  • glColor3f(r, g, b): Establece el color del objeto en función de los valores r, g y b (rojo, verde, azul) entre 0.0 y 1.0.

  • glVertex2f(x, y): Define las coordenadas de un vértice en el espacio 2D. Los vértices definidos por glVertex2f() forman el cuadrado.

  • glBegin(GL_QUADS) y glEnd(): Dibuja un cuadrado con 4 vértices. Cada vértice se especifica con glVertex2f(x, y).


4. Movimiento con teclas

  • keyboard.is_pressed(key): Detecta si una tecla específica está presionada. En tu código, se usa para mover el cuadrado con las teclas de dirección.

  • pos_x y pos_y: Son las coordenadas del cuadrado. Se actualizan según la dirección de la tecla presionada.

  • dx y dy: Son las velocidades de movimiento del cuadrado en las direcciones X e Y, respectivamente.


5. Lógica de rebote

  • if pos_y > 0.9 or pos_y < -0.9: Detecta si el cuadrado ha llegado al borde superior o inferior de la ventana. Si es así, invierte la dirección del movimiento (dy = -dy).

  • if pos_x > 0.9 or pos_x < -0.9: Similar al anterior, pero para los bordes izquierdo y derecho. Si el cuadrado toca el borde, invierte la dirección del movimiento (dx = -dx).


6. Intercambio de buffers

  • glfw.swap_buffers(window): Intercambia el buffer de la ventana para mostrar lo que se ha renderizado en el buffer trasero.

7. Eventos de la ventana

  • glfw.poll_events(): Procesa los eventos (como las teclas presionadas) para la ventana.

Last updated