3D Studio MAXГрафикаВиртуальный человек

В этом разделе размещены и в дальнейшем будут помещаться различные красивые графические заставки на ассемблере и даже, что удивительно, на C++. Заставки, в основном, работают в видеорежиме VGA 13h (320x200 256 цветов). Есть даже одна заставка, использующая сопроцессор. Можно подумать, что там рисуется какая-нибудь трёхмерная картинка. Но это не так - заставка просто служит для демонстрации возможностей сопроцессора. Если такового в системе не имеется, то, скорее всего, напечатается ошибка о неправильном коде операции...

3.ZIP - 17052 байта CLOUDS.ZIP - 5882 байта CYCLES.ZIP - 20345 байт DONUT.ZIP - 40239 байт
FLAG.ZIP - 1467 байт KREMLIN.ZIP - 685 байт MATIFLAG.ZIP - 35307 байт PALETTE.ZIP - 359 байт
ROTATE.ZIP - 922 байта RUSFLAG.ZIP - 29958 байт SAVER.ZIP - 479 байт SINE.ZIP - 446 байт
SKY.ZIP - 6192 байта STAR.ZIP - 59296 байта TOXIC.ZIP - 8216 байт WINLOGO.ZIP - 2539 байт
ZOOMOUT.ZIP - 1232 байта SEA.ZIP - 8930 байт PERSPECT.ZIP - 1782 байта Мой логотип - 7748 байт
Огонь - 1103 байта

3D3D Графика

Ниже приведены программы, рисующие трёхмерные объекты и сцены (комнаты). Все программы выполнены на C++, а некоторые даже используют режимы с высоким разрешением и большим количеством цветов. Правда последние довольно сильно тормозят... Но ничего идеального нет, зато можно рисовать практически реалистичные объекты .

 

Объёмная комната...

RENDER.ZIP - 40835 байт

Программа работает со сценой, состоящей из пяти плоскостей различного цвета и четырёх точечных источников света. Программа содержит объъект TScene, в который можно добавлять объекты сцены (горизонтальные и вертикальные плоскости). Можно также активизировать до десяти источников света, каждый из которых характеризуется координатами в пространстве и яркостью. Используемый видеорежим: VESA 640x480 16M colors (24 bit, True Color).

 

Ещё одна объёмная комната...

ROOM.ZIP - 63532 байта

Программа рисует объёмную комнату с текстурными стенами, полом и потолком. На потолке используется текстура в виде облаков, которые при этом двигаются. Можно ходить по комнате в разные стороны и вверх/вниз, не выходя при этом за её пределы. Текстуры позаимствованы у 3D Realms, которая написала Duke Nukem 3D. Используемый видеорежим: VESA 640x480 16M colors (24 bits, True Color).

 

Текстурированный куб...

TEXMAP.ZIP - 55970 байт

Программа рисует трёхмерный текстурированный куб в реальном режиме времени в отличие от двух предыдущих программ. Здесь удалось достичь высокую скорость рисования текстурированных треугольников (~70 fps на P233) и довольно высокое качество получаемого изображения несмотря на то, что в программе используется только целочисленная арифметика. В программе есть возможность регулировать скорость вращения куба (клавиши '+' и '-'), а также его размеры (клавиши 'стрелка вверх' и 'стрелка вниз').

 

Рельефное текстурирование...

BUMP_MAP.ZIP - 35432 байта

Программа демонстрирует применение технологии рельефного текстурирования методом выдавливания (Embossing) - рисует рельефные текстуры, освещённые направленным источником света, меняющим свое положение в пространстве.

 

Доллары...

DOLLARS.ZIP - 54298 байт

Программа рисует падающие сверху стодолларовые купюры.

Полигональные модели

Каждая из придставленных ниже программ рисует некоторые геометрические фигуры, состоящие из треугольников. Фигуры переворачиваются и летают по экрану, при этом достигнута практически максимальная скорость вывода графики.

P.S. Сама процедура рисования треугольников и процедура вычисления квадратного корня написаны на ассемблере для 386 процессора, остальная часть написана на C++. Все программы используют только целочисленные операции с применением 32-битных операндов.

Цилиндр

CYLINDER.ZIP - 32309 байт

Пирамида и куб

CUBE.ZIP - 33185 байт

Конус

CONE.ZIP - 31464 байта

 

Звёзды

STARS.ZIP - 28699 байт

Тор

TORUS.ZIP - 28344 байта

Додекаэдр

DODCAEDR.ZIP - 40116 байт

 

Икосаэдр

ICOSAEDR.ZIP - 28111 байт

Октаэдр

OCTAEDR.ZIP - 27384 байта

Следующие две программы демонстрируют различные методы заливки граней многоугольников - метод Гуро и метод Фонга. В отличие от тора, представленного на картинке выше, тор с заливкой граней методом Гуро отличается более сглаженными гранями, а при методе заливки Фонга тор выглядит практически гладким.

Метод Гуро

Метод Гуро

GOURAUD.ZIP - 21988 байт

Метод Фонга

Метод Фонга

PHONG.ZIP - 22353 байта

 

OpenGL

Ниже представлены 3D заставки с использованием OpenGL. Для их использования у Вас должны иметься библиотеки OPENGL32.DLL и GLU32.DLL (в директории WIN95\SYSTEM или в текущей директории). Эти библиотеки обычно входят в комплект поставки Windows 95 OSR2 и Windows 98.

Цилиндр со звёздами

Цилиндр со звёздами

OPENGL1.ZIP - 23509 байт

Звёзды в тумане

Звёзды в тумане

OPENGL2.ZIP - 23195 байт

Прозрачный флаг

Прозрачный флаг

OPENGL3.ZIP - 21847 байт

 

Сферы

Сферы

OPENGL4.ZIP - 330109 байт

Банк

Банк

OPENGL5.ZIP - 71175 байт

Зелёная поляна

Зелёная поляна

OPENGL6.ZIP - 214301 байт

 

Скалы

Скалы

OPENGL7.ZIP - 252882 байтa

Часы

Часы

OPENGL8.ZIP - 80346 байт

Wolfenstein 3D

Wolfenstein 3D

OPENGL9.ZIP - 65879 байт

Примечание: в заставке "Сферы" можно перемещаться по комнате используя клавиши со стрелками.

В заставке "Wolfenstein 3D" можно перемещаться по лабиринту используя клавиши со стрелками. Пробел - стрелять, Q - прыгать, A - посмотреть вверх, Z - посмотреть вниз, < - шаг влево, > - шаг вправо - в общем управление почти как в Quake.

 

Возврат на главную страницу

Copyright © 1999 by HackMaster

Hosted by uCoz