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

Константин СИТНИКОВ — ЗОМБИ

07 Окт 2008, zombie. Рубрика:

    Это была самая захудалая хижина, на краю деревни, нечто вроде постоялого двора для приезжих. Вместо привычных русской душе тараканов, по ее бамбуковому полу сновали вереницы крупных рыжих муравьев, а по стенам и потолку шмыгали маленькие зеленоватые чечеко. Содержала ее крепкая женщина со слегка отвислыми грудями и широкими бедрами, обернутыми длинным клетчатым саронгом, на редкость […]

Рассказы

07 Окт 2008, zombie. Рубрика:

Несколько коротеньких рассказов. Константин СИТНИКОВ - ЗОМБИ

4.15 Как запустить OpenGL на весь экран?

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

В OpenGL нет полноэкранного режима, только оконный. Это, однако, не проблема - ничто не мешает сделать окно размером во весь экран (скажем, 1024x768); истинные размеры экрана можно получить с помощью функции GetSystemMetrics(SM_CYSCREEN). Как это скажется на производительности - целиком зависит от драйвера видеокарты. В идеале, он должен понимать такую ситуацию как особую. Кстати, драйвера для […]

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.3 Интерполяция цветов

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

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

4.1 Построение поверхностей

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

     Существует набор функций для построения сфер, цилиндров и дисков. Эти функции представляют очень мощный контроль за построением трехмерных объектов. Непосредственно рисовать вы будете, используя следующие функции: gluSphere, gluCylinder, gluDisk и gluPartialDisk. В начале книги вы научились строить трехмерные объекты с помощью функций из библиотеки Auxilary Library. Функции aux[Solid/Wire]Sphere, aux[Solid/Wire]Cylinder и aux[Solid/Wire]Cone просто вызывают gluSphere […]

     Четырехугольники рисуются вызовом функции glBegin с параметром GL_QUADS или GL_QUAD_STRIP. Для первого случая каждые четыре вершины определяют свой четырехугольник. Во втором случае рисуются связанные четырехугольники. Первая, вторая, третья и четвертая вершина определяют первый четырехугольник. Третья, четвертая, пятая и шестая вершина - второй четырехугольник и т.д. (2n-1), 2n, (2n+1) и (2n+2) вершины задают n-ый четырехугольник. […]

3.2 Точки

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

     Вы можете нарисовать столько точек, сколько вам нужно. Вызывая glVertex3d, вы устанавливаете новую точку. При создании точек вы можете изменять следующие параметры. Вы можете вызывать glColor3d внутри glBegin/glEnd. Размер точки можно устанавливать с помощью функции: void glPointSize(GLfloat size) Режим сглаживания можно устанавливать вызовом функции glEnable(GL_POINT_SMOOTH)      Отключается, соответственно, вызовом glDisable() c этим параметром. Последние […]