Результаты поиска

4.13 Упражнение: «сфера минус куб»

04 Авг 2008, zombie. Рубрика:

Напишите программу, в которой будет крутиться сфера минус куб.

4.12 Трафарет II

04 Авг 2008, zombie. Рубрика:

     Ранее вы познакомились с наложением трафарета, состоящего из массива бит 32х32 точки. Недостатки такого трафарета в его небольшой площади и в том, что каждый его элемент является битом, т.е. у такого трафарета всего две зоны(рисуем и не рисуем). Далее вы познакомитесь с полноценным трафаретом. В OpenGL есть буфер трафарета, который предоставляет огромные возможности для […]

4.11 Логические операции

04 Авг 2008, zombie. Рубрика:

     Логические операции позволяют вам складывать цвет фрагмента, находящегося в буфере, с цветом, который туда поступает. Этот режим разрешается и запрещается вызовом функций glEnable\glDisable с параметром GL_COLOR_LOGIC_OP. Правило, по которому будут складываться цвета, задается функцией glLogicOp. У нее один параметр - одна из следующих констант, определенных в файле gl.h. /* LogicOp */ #define GL_CLEAR 0x1500 […]

4.10 Туман

04 Авг 2008, zombie. Рубрика:

     Еще одна мелочь, которую мы рассмотрим - это включение тумана. За основу возьмем нашего снеговика. Надо сказать, что ведет туман себя довольно странно. Если его цвет установить белым, то при увелечении плотности тумана снеговик становится полностью белым, причем даже те его места, которые изначально были черными, т.к. не освещались. Когда я установил цвет тумана […]

     Не знаю, правильно ли сказал. Мне кажется, что уродуем, а не совершенствуем. В общем, наложите трафарет на подставку и шар. Когда увидите трафарет на шаре, то поймете, что "уродуем". Исходный файл смотрите здесь. Исполняемый файл здесь.

4.8 Трафарет I

04 Авг 2008, zombie. Рубрика:

     Зачем это может понадобиться, я не очень представляю. Рисовать прерывистую линию вы уже умеете. Трафарет - это то же самое, только для многоугольников. Вы разрешаете тест трафарета командой glEnable(GL_POLYGON_STIPPLE). Аналогично, как и в случае с линиями, нужно загружать массив, который задает битовую маску. Размер трафарета строго оговорен - 32х32 пикселя. 32х32 равняется 1024. 1024 […]

4.6 Плоскости отсечения

04 Авг 2008, zombie. Рубрика:

     Если вам требуется нарисовать сферу или любой другой объект урезанным, то плоскости отсечения это то, что вам надо. Плоскостей отсечения может быть шесть штук. По умолчанию они все запрещены. Плоскость отсечения включается командой glEnable(GL_CLIP_PLANE0). Ноль на конце GL_CLIP_PLANE означает нулевую плоскость; можно указать один, два, три и т.д. Сама плоскость устанавливается функцией glClipPlane. Первый […]

4.5 Упражнение: «Снег»

04 Авг 2008, zombie. Рубрика:

Ранее рассматривалось приложение "Снеговик". Анимацию создавать вы тоже уже научились. Добавьте косой снег, только сделайте снеговика прозрачным, чтобы снежинки как бы пролетали сквозь него.

4.4 Прозрачность

04 Авг 2008, zombie. Рубрика:

     С помощью четвертого компонента цвета можно получать различные эффекты наложения объктов друг на друга, наложения цветов и т.п. Здесь я расскажу о наиболее нужном и распрострененном эффекте - прозрачности объектов. Для того, чтобы разрешить обрабатывать четвертый компонент цвета вы должны вызвать функцию glEnable с аргументом GL_ALPHA_TEST. Для получения требуемого эффекта прозрачности нужно разрешить наложение […]

4.3 Интерполяция цветов

04 Авг 2008, zombie. Рубрика:

     Когда вы создаете многоугольник, вы можете задать цвет для каждой его вершины. Если разрешено сглаживание цветов, то многоугольник будет переливаться. Поясню на примере. Режим сглаживания по умолчанию разрешен. Он переключается функцией glShadeModel с аргументами GL_FLAT и GL_SMOOTH. GL_FLAT запрещает сглаживание. На мой взгляд, сглаживание редко нужно. Вещь красивая, но бесполезная. Я в своих неучебных […]