#include "load_shaders.h" ///fonction qui renvoie la chaine de caractère comprenant tout le fichier /** @param filename : nom du fichier à lire * @return chaine de caractère comprenant tout le fichier */ char* loadSource(const char *filename){ char *src = NULL; /* code source de notre shader */ FILE *fp = NULL; /* fichier */ long size; /* taille du fichier */ long i; /* compteur */ /* on ouvre le fichier */ fp = fopen(filename, "r"); /* on verifie si l'ouverture a echoue */ if(fp == NULL){ fprintf(stderr, "impossible d'ouvrir le fichier '%s'\n", filename); return NULL; } /* on recupere la longueur du fichier */ fseek(fp, 0, SEEK_END); size = ftell(fp); /* on se replace au debut du fichier */ rewind(fp); /* on alloue de la memoire pour y placer notre code source */ src = malloc(size+1); /* +1 pour le caractere de fin de chaine '\0' */ if(src == NULL){ fclose(fp); fprintf(stderr, "erreur d'allocation de memoire!\n"); return NULL; } /* lecture du fichier */ for(i=0; i