-
Notifications
You must be signed in to change notification settings - Fork 5
PES_2_2
-
#define numVAOs 1:Define el número de Vertex Array Objects (VAOs) que se van a utilizar en el programa. En este caso, se utiliza solo uno. -
GLuint renderingProgram;Variable global para almacenar el ID del programa de sombreado que se utilizará para renderizar. -
GLuint vao[numVAOs];Array para almacenar los IDs de los VAOs. En este caso, el array tiene un solo elemento, correspondiente al número de VAOs definidos.
-
GLuint glCreateShaderProgram() { ... }Esta función crea un programa de sombreado (shader program) en OpenGL. -
const char *vshaderSource = "...";Contiene el código fuente del sombreado de vértices. En este caso, el sombreado simplemente asigna una posición fija a todos los vértices. -
const char *fshaderSource = "...";Contiene el código fuente del sombreado de fragmentos. Aquí, el sombreado asigna un color azul a todos los fragmentos. -
GLuint vShader = glCreateShader(GL_VERTEX_SHADER);Crea un objeto de sombreado para el sombreado de vértices. -
GLuint fShader = glCreateShader(GL_FRAGMENT_SHADER);Crea un objeto de sombreado para el sombreado de fragmentos. -
glShaderSource(vShader, 1, &vshaderSource, NULL);Adjunta el código fuente del sombreado de vértices al objeto de sombreado. -
glShaderSource(fShader, 1, &fshaderSource, NULL);Adjunta el código fuente del sombreado de fragmentos al objeto de sombreado. -
glCompileShader(vShader);Compila el sombreado de vértices. -
glCompileShader(fShader);Compila el sombreado de fragmentos. -
GLint vfProgram = glCreateProgram();Crea un programa de sombreado. -
glAttachShader(vfProgram, vShader);Adjunta el sombreado de vértices al programa de sombreado. -
glAttachShader(vfProgram, fShader);Adjunta el sombreado de fragmentos al programa de sombreado. -
glLinkProgram(vfProgram);Enlaza el programa de sombreado, combinando los sombreadores en un solo programa ejecutable. -
return vfProgram;Devuelve el ID del programa de sombreado creado.
void init(GLFWwindow *window) { ... } Esta función se encarga de la inicialización del programa.
-
renderingProgram = glCreateShaderProgram();Llama a la función glCreateShaderProgram para crear un programa de sombreado y almacena el ID en la variable renderingProgram. -
glGenVertexArrays(numVAOs, vao);Genera los VAOs especificados por numVAOs y almacena sus IDs en el array vao. -
glBindVertexArray(vao[0]);Asocia el primer VAO del array a la máquina de estados de OpenGL.
void displaw(GLFWwindow* window, double currentTime) { ... } Esta función se encarga de renderizar la escena.
-
glUseProgram(renderingProgram);Activa el programa de sombreado para la renderización. -
glPointSize(50.0f);Establece el tamaño del punto que se dibujará. -
glDrawArrays(GL_POINTS, 0, 1);Dibuja un punto usando los datos del VAO actual.
glfwSwapInterval(1); Habilita la sincronización vertical (V-Sync), que limita la tasa de actualización de la ventana a la frecuencia de refresco del monitor. Esto ayuda a evitar el desgarro de pantalla.
while (!glfwWindowShouldClose(window)) { ... } Bucle que se ejecuta hasta que la ventana se cierra.
-
displaw(window, glfwGetTime());Llama a la función displaw para renderizar la escena. -
glfwSwapBuffers(window);Intercambia los buffers de la ventana, mostrando el contenido actualizado.