Результаты поиска
4.4 Прозрачность
04 Авг 2008, zombie. Рубрика:С помощью четвертого компонента цвета можно получать различные эффекты наложения объктов друг на друга, наложения цветов и т.п. Здесь я расскажу о наиболее нужном и распрострененном эффекте - прозрачности объектов. Для того, чтобы разрешить обрабатывать четвертый компонент цвета вы должны вызвать функцию glEnable с аргументом GL_ALPHA_TEST. Для получения требуемого эффекта прозрачности нужно разрешить наложение […]
4.1 Построение поверхностей
04 Авг 2008, zombie. Рубрика:Существует набор функций для построения сфер, цилиндров и дисков. Эти функции представляют очень мощный контроль за построением трехмерных объектов. Непосредственно рисовать вы будете, используя следующие функции: gluSphere, gluCylinder, gluDisk и gluPartialDisk. В начале книги вы научились строить трехмерные объекты с помощью функций из библиотеки Auxilary Library. Функции aux[Solid/Wire]Sphere, aux[Solid/Wire]Cylinder и aux[Solid/Wire]Cone просто вызывают gluSphere […]
3.8 Резюме
04 Авг 2008, zombie. Рубрика:Ну вот, вы еще на один шаг продвинулись в изучении библиотеки OpenGL. Теперь вы имеете представление о том, как рисовать элементарные фигуры. Из примитивов вы можете составить фигуры любой сложности.
3.7 Уражнение:»Многогранники»
04 Авг 2008, zombie. Рубрика:Реализуйте проволочные многогранники с помощью проволочных треугольников, многоугольников и линий.
3.6 Уражнение:»Примитивы»
04 Авг 2008, zombie. Рубрика:Изобразите точки, линии, треугольники, многоугольники в одном окне, как показано ниже. Исходный файл смотрите здесь. Исполняемый файл здесь.
3.3 Линии
04 Авг 2008, zombie. Рубрика:Для линий вы также можете изменять ширину, цвет, размер, сглаживание. Если вы зададите разные цвета для начала и конца линии, то ее цвет будет переливающимся. OpenGL по умолчанию делает интерполяцию. Так же вы можете рисовать прерывистые линии, делается это путем наложения маски при помощи следующей функции: void glLineStipple(GLint factor, GLushort pattern ); Второй […]
3.2 Точки
04 Авг 2008, zombie. Рубрика:Вы можете нарисовать столько точек, сколько вам нужно. Вызывая glVertex3d, вы устанавливаете новую точку. При создании точек вы можете изменять следующие параметры. Вы можете вызывать glColor3d внутри glBegin/glEnd. Размер точки можно устанавливать с помощью функции: void glPointSize(GLfloat size) Режим сглаживания можно устанавливать вызовом функции glEnable(GL_POINT_SMOOTH) Отключается, соответственно, вызовом glDisable() c этим параметром. Последние […]
3.1 Общие положения
04 Авг 2008, zombie. Рубрика:Точки, линии, треугольники,четырехугольники, многоугольники - простые объекты, из которых состоят любые сложные фигуры. В предыдущей главе мы рисовали сферу, конус и тор. OpenGL непосредственно не поддерживает функций для создания таких сложных объектов, т.е. таких функций нет в opengl32.dll. Эти функции есть в библиотеке утилит glu32.dll, и устроены они следующим образом. Для того чтобы нарисовать […]
2.9 Упражнение:» Игра Арканоид»
04 Авг 2008, zombie. Рубрика:Напишите игру "Arconoid" - летающий шарик, снизу подставка, пользователь стрелками или мышкой управляет подставкой и отбивает шарик. Исходный файл смотрите здесь. Исполняемый файл здесь.
2.8 Анимация
04 Авг 2008, zombie. Рубрика:Давайте оживим нашего снеговика и добавим интерактивность. Для этого надо отрисовывать кадры и реагировать на внешние события от клавиатуры или мыши. Для отрисовки кадров их надо как-то различать. Для этого мы в функции display вводим переменную time типа int с модификатором static. Создайте новый проект и в функцию display введите следующее: "static int time=0;". […]