-
Notifications
You must be signed in to change notification settings - Fork 5
PES_2_4
std::string readShaderSource(const char *filePath); Esta función lee el contenido del archivo especificado por filePath y devuelve el código fuente del shader como una cadena de caracteres.
-
filePath:Una cadena de caracteres que representa la ruta del archivo que contiene el código fuente del shader.
Devuelve una std::string que contiene el código fuente del shader.
-
Primero, se inicializa una cadena content vacía para almacenar el contenido del archivo.
-
Se intenta abrir el archivo utilizando std::ifstream en modo de entrada (std::ios::in).
-
Si no se puede abrir el archivo, se imprime un mensaje de error y se devuelve una cadena vacía.
-
Se lee el archivo línea por línea utilizando getline y se va acumulando el contenido en la cadena content, añadiendo un salto de línea al final de cada línea.
-
Finalmente, se cierra el archivo y se devuelve el contenido leído.
GLuint createShaderProgram(); Esta función crea un programa de shader, compilando y vinculando un shader de vértices y un shader de fragmentos, y devuelve el identificador del programa.
Devuelve un GLuint que es el identificador del programa de shader creado.
-Se leen los códigos fuente de los shaders de vértices y fragmentos desde los archivos ./vertex_shader4.glsl y ./fragment_shader4.glsl utilizando la función readShaderSource.
-
Se obtienen las cadenas de caracteres (const char*) a partir de los contenidos leídos.
-
Se crean los shaders de vértices y fragmentos utilizando glCreateShader.
-
Se establece el código fuente de los shaders utilizando glShaderSource.
-
Se compilan los shaders utilizando glCompileShader.
-
Se verifica si hubo errores de compilación y, de ser así, se imprimen los logs de errores utilizando checkOpenGLError y printShaderLog.
-
Se crea un programa de shader utilizando glCreateProgram.
-
Se adjuntan los shaders al programa utilizando glAttachShader.
-
Se vincula el programa utilizando glLinkProgram.
-
Se verifica si hubo errores de vinculación y, de ser así, se imprimen los logs de errores utilizando checkOpenGLError y printProgramLog.
-
Finalmente, se devuelve el identificador del programa de shader.