ВУЗ:
Составители:
Рубрика:
Е. Ю. Ечкина, С. Б. Базаров, И. Н. Иновенков «Визуализация в научных исследованиях»
Кафедра АНИ факультета ВМК МГУ имени М. В. Ломоносова http://ani.cs.msu.su
55
GL heightin,
GLenum typein,
const void *datain,
GLint widthout,
GLint heightout,
GLenum typeout,
void *dataout)
В качестве значения параметра format обычно используется значение GL_RGB или
GL_RGBA, определяющее формат хранения информации. Параметры widthin, heightin,
widhtout, heightout определяют размеры входного и выходного изображений, а с
помощью typein и typeout задается тип элементов массивов, расположенных по
адресам datain и dataout. Как и обычно, то может быть тип
GL_UNSIGNED_BYTE, GL_SHORT, GL_INT и так далее. Результат своей работы
функция заносит в область памяти, на которую указывает параметр dataout.
Во-вторых, надо предусмотреть случай, когда объект по размерам значительно меньше
наносимой на него текстуры. Чем меньше объект, тем меньше должна быть наносимая
на него текстура и поэтому вводится понятие уровней детализации текстуры. Каждый
уровень детализации задает некоторое изображение, которое является как правило
уменьшенной в два раза копией оригинала. Такой подход позволяет улучшить
качество нанесения текстуры на объект. Например, для изображения размером 2
m
x2
n
можно построить max(m,n)+1 уменьшенных изображений, соответствующих
различным уровням детализации.
Эти два этапа создания образа текстуры в памяти можно провести с помощью команды
void gluBuild2DMipmaps(GLenum target,
GLint components,
GLint width,
GLint height,
GLenum format,
GLenum type,
const void *data)
где параметр target должен быть равен GL_TEXTURE_2D, components определяет
количество цветовых компонент текстуры, которые будут использоваться при ее
наложении и может принимать значения от 1 до 4 (1-только красный,2-красный и
alpha, 3-красный, синий, зеленый, 4-все компоненты).
Параметры width, height, data определяют размеры и расположение текстуры
соответственно, а format и type имеют аналогичный смысл, что и в команде
gluScaleImage().
В OpenGL допускается использование одномерных текстур, то есть размера 1xN,
однако это всегда надо указывать, используя в качестве значения target константу
GL_TEXTURE_1D. Существует одномерный аналог рассматриваемой команды-
gluBuild1DMipmaps(), который отличается от двумерного отсутствием параметра
height.
Е. Ю. Ечкина, С. Б. Базаров, И. Н. Иновенков «Визуализация в научных исследованиях» GL heightin, GLenum typein, const void *datain, GLint widthout, GLint heightout, GLenum typeout, void *dataout) В качестве значения параметра format обычно используется значение GL_RGB или GL_RGBA, определяющее формат хранения информации. Параметры widthin, heightin, widhtout, heightout определяют размеры входного и выходного изображений, а с помощью typein и typeout задается тип элементов массивов, расположенных по адресам datain и dataout. Как и обычно, то может быть тип GL_UNSIGNED_BYTE, GL_SHORT, GL_INT и так далее. Результат своей работы функция заносит в область памяти, на которую указывает параметр dataout. Во-вторых, надо предусмотреть случай, когда объект по размерам значительно меньше наносимой на него текстуры. Чем меньше объект, тем меньше должна быть наносимая на него текстура и поэтому вводится понятие уровней детализации текстуры. Каждый уровень детализации задает некоторое изображение, которое является как правило уменьшенной в два раза копией оригинала. Такой подход позволяет улучшить качество нанесения текстуры на объект. Например, для изображения размером 2mx2n можно построить max(m,n)+1 уменьшенных изображений, соответствующих различным уровням детализации. Эти два этапа создания образа текстуры в памяти можно провести с помощью команды void gluBuild2DMipmaps(GLenum target, GLint components, GLint width, GLint height, GLenum format, GLenum type, const void *data) где параметр target должен быть равен GL_TEXTURE_2D, components определяет количество цветовых компонент текстуры, которые будут использоваться при ее наложении и может принимать значения от 1 до 4 (1-только красный,2-красный и alpha, 3-красный, синий, зеленый, 4-все компоненты). Параметры width, height, data определяют размеры и расположение текстуры соответственно, а format и type имеют аналогичный смысл, что и в команде gluScaleImage(). В OpenGL допускается использование одномерных текстур, то есть размера 1xN, однако это всегда надо указывать, используя в качестве значения target константу GL_TEXTURE_1D. Существует одномерный аналог рассматриваемой команды- gluBuild1DMipmaps(), который отличается от двумерного отсутствием параметра height. Кафедра АНИ факультета ВМК МГУ имени М. В. Ломоносова http://ani.cs.msu.su 55
Страницы
- « первая
- ‹ предыдущая
- …
- 53
- 54
- 55
- 56
- 57
- …
- следующая ›
- последняя »