Мое задание - получить «изображения, читаемые в растровые изображения, которые вы затем преобразуете в карты текстур». Так что только для растровых изображений, выслушайте меня и скажите, есть ли у меня правильная идея и есть ли более простой способ. Библиотека документов, которые я использую: http://www.imagemagick.org/Magick++/Documentation.html
Читайте на картинке:
Image myimage;
myimage.read( "myimage.gif" );
Я думаю, что это то растровое изображение, в которое мне нужно прочитать 'изображение':
GLubyte pixmap[TextureSize][TextureSize][3];
Так что я думаю, что мне нужен цикл, который для каждого пиксельного индекса 'pixmap' присваивает значения R, G, B из соответствующих индексов пикселей 'image'. Я думаю, что тело цикла выглядит так:
pixmap[i][j][0] = myimage.pixelColor(i,j).redQuantum(void);
pixmap[i][j][1] = myimage.pixelColor(i,j).greenQuantum(void);
pixmap[i][j][2] = myimage.pixelColor(i,j).blueQuantum(void);
Но я думаю, что вышеупомянутые функции возвращают Кванты, где мне нужны GLubytes, поэтому кто-нибудь может предложить здесь помощь?
- ИЛИ -
Возможно, я смогу позаботиться и о растровом изображении, и о текстурной карте, используя OpenIL (документы здесь: http://openil.sourceforge.net/tuts/tut_10/index.htm). Думаете, я мог бы просто вызвать их по очереди?
ilutOglLoadImage(char *FileName);
ilutOglBindTexImage(ILvoid);