Мое задание - заставить «изображения считываться в пиксельные карты, которые вы затем конвертируете в карты текстур». Так что только для части растрового изображения, выслушайте меня и скажите, есть ли у меня правильная идея и есть ли более простой способ. Библиотечные документы, которые я использую: http://www.imagemagick.org/Magick++/Documentation.html < / а>
Читайте на картинке:
Image myimage;
myimage.read( "myimage.gif" );
Я думаю, что это растровое изображение, в которое мне нужно прочитать "изображение":
GLubyte pixmap[TextureSize][TextureSize][3];
Поэтому я думаю, что мне нужен цикл, который для каждого индекса пикселя «растрового изображения» присваивает значения R, G, B из соответствующих индексов пикселей «изображения». Я думаю, что тело цикла выглядит так:
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);
Но я думаю, что приведенные выше функции возвращают Quantum там, где мне нужны GLubytes, так может ли кто-нибудь предложить здесь помощь?
-- OR --
Возможно, я смогу позаботиться как о растровом изображении, так и о текстурной карте, используя OpenIL (документы здесь: http://openil.sourceforge.net/tuts/tut_10/index.htm). Думаете, я мог бы просто назвать их по порядку?
ilutOglLoadImage(char *FileName);
ilutOglBindTexImage(ILvoid);