Это 1024 х 512 JPG.
Переменная size возвращает 84793.
Одна вещь, которую я не понимаю, это размер файла 84793, когда 1024 * 512 = 524288.
Я думаю, что это будет * 3 так как 3 канала на пиксель.
Переменная count возвращает 65.
Сейчас я получаю местоположение чтения нарушения прав доступа в этой строке, когда я устанавливаю параметры текстуры OpenGL:
glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, texWidth, texHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, texPtr);
Где texWidth и texHeight, где ширина и высота снизу.
Вот что у меня сейчас:
int width = 1024;
int height = 512;
long size = 0;
GLubyte * data;
FILE * file;
char name[100];
int count;
int test;
strcpy(name, filename);
// open texture data
file = fopen( name, "r" );
if ( file == NULL )
{
fputs ("File error",stderr);
exit (1);
}
fseek (file , 0 , SEEK_END);
size = ftell( file );
rewind(file);
// allocate buffer
data = (unsigned char *)malloc( sizeof(char)*size );
count = (int) fread (data,sizeof(unsigned char) ,size,file);
fclose( file );
// allocate a texture name
glGenTextures( 1, &dayGLTexture );
initTexture(dayGLTexture, width, height, data);