Таги: SQL, запрос, реляционная база данных
Программные средства работы с реляционными базами данных, в отличие от многих других, базируются на довольно строгой теории отношений, которая, в свою очередь, основана на теории множеств. Чтобы понять суть задачи создания реляционной базы данных, а также операций над данными, достаточно рассмотреть на теоретическом (абстрактном) уровне всего лишь несколько основных положений теории отношений. Это быстрее и, [...]
Таги: видеопамять, двумерные текстуры, трехмерные текстуры
Для трехмерной текстуры допустимо также пирамидальное фильтрование (mipmapping), однако для этого потребуется явно задать все необходимые промежуточные уровни аналогично тому, как это происходит для одно- и двумерных текстур. Обратите внимание на то, что если в одном и том же текстурном блоке одновременно разрешены текстуры разных типов, то работает механизм приоритетов: наиболее приоритетной текстурой является кубическая [...]
Таги: height, target, width
Непосредственное задание трехмерной текстуры осуществляется при помощи функции giTeximage3DEXT, пример вызова которой выглядит следующим образом: void glTexImage3DEXT ( GLenum target, GLint level, GLenum internalformat,GLsizei width, GLsizei height, GLsizei depth,GLint border, GLenum format, GLenum type,const GLvoid * pixels ); Здесь в качестве параметра target выступает константа GL_TEXTURE_3D_EXT, параметры width, height и depth задают размер задаваемой текстуры [...]
Таги: EXT_texture3D, giTeximage3DEXT, GL_TEXTURE_3D_EXT
Изначально поддержка трехмерных текстур в OpenGL была реализована при помощи расширения EXT_texture3D, потом, начиная с версии 1.2, она вошла в стандарт OpenGL. Расширение EXT_texture3D позволяет приложению создавать и использовать в OpenGL трехмерные текстуры, которые представляются трехмерными матрицами текселов размером widthxheightxdepth. Расширение EXT_texture3D вводит новую функцию giTeximage3DEXT, позволяющую задавать трехмерные текстуры, а также ряд констант, необходимых [...]
Таги: shader, процедура, функция
Текстура представляет собой удобный способ задания функции нескольких переменных. Функция одной переменной легко задается при помощи одномерной (ID) текстуры, двух — двумерной, функция направления в трехмерном пространстве — при помощи кубической текстурной карты. При этом сложность задаваемой функции не играет практически никакой роли. После того как функция была задана при помощи текстуры, работа с ней [...]
Таги: источник, освещенность, проектор
Рассмотрим, каким образом можно реализовать источник света (проектор) при помощи кубической карты. Для проектора освещенность зависит от направления на источник, т. е. является функцией направления и поэтому может быть представлена при помощи кубической текстурной карты. Пусть источник света расположен в точке light. Тогда для произвольной вершины Vj в качестве текстурных координат для кубической карты, задающей [...]
Таги: вектор, источник света, направление
Кубическая текстура позволяет в простой и удобной форме задавать функции от направления. Каждому направлению естественным образом соответствует точка на кубе, поэтому достаточно просто задать значения функции в виде текстур на гранях данного куба. Еще одним возможным применением кубической текстуры (мы с ним столкнемся позже, когда будем рассматривать попиксельное освещение) является нормализация векторов. Единичному трехмерному вектору [...]