|
||||||||||||||||||||||||||
| Краткие сведения об авторе страницы | ||||
| Небольшой экскурс в историю покупки и сборки моего железа, ведь не смотря на то, что без программного обеспечения невозможна работа компьютера, оно же должно где-то храниться и на чём-то выполняться | ||||
| В разделе содержатся полезные утилиты и исходные тексты программ на Ассемблере, работающих с периферийными устройствами (клавиатура, SoundBlaster и т.д.) | ||||
| Здесь Вы найдёте различные программные модули (библиотеки), например, модуль для работы с мышью или клавиатурой. Модулей пока не так много, но раздел в будущем будет обновляться | ||||
| Раздел содержит несколько готовых, откомпилированных программ с исходными текстами на языках C/C++, Assembler и Паскаль. Раздел постоянно обновляется | ||||
| В этом разделе собрано несколько игр, написанных на Паскале и C++. Все архивы с играми содержат исходные тексты | ||||
| В этом разделе можно найти несколько увлекательных лабиринтов для знаменитой игры Quake фирмы ID Software, а также прочитать про сценарии игры и скачать, собственно, сами эти сценарии | ||||
![]() |
||||
![]() |
||||
| В этом разделе собрано несколько карт к знаменитой игре Half-Life с исходными файлами для редактора уровней Quark версии 5 | ||||
![]() |
![]() |
|||
| Раздел "Графика" содержит тщательным образом отобранные красивые заставки на ассемблере и С++. Одна заставка даже использует сопроцессор, но написана только для демонстрации его возможностей. Раздел постоянно обновляется | ||||
| Здесь находится большое количество готовых курсовых проектов по различным предметам, в основном техническим, а также много выполненных лабораторных работ (некоторые даже с отчётами) по предметам, связанным с программированием. Раздел обновляется после сд ачи очередной лабораторной работы или курсового проекта | ||||
| Раздел содержит несколько статей, посвящённых периферийным устройствам (SoundBlaster, VGA) и программированию, а также руководства по некоторым программам. Раздел постоянно обновляется | ||||
| В этом разделе можно отправить сообщение автору страницы, просто заполнив форму сообщения. Все сообщения посылаются по электронной почте, поэтому у Вас должна быть настроена соответствующая почтовая программа (типа Microsoft Outlook Express) | ||||
![]() |
||||
![]() |
||||
| В этом разделе собрано несколько красивых, на мой взгляд, картинок, нарисованных в 3D Studio и в Photoshop | ||||
![]() |
![]() |
|||



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


Ниже приведены программы, рисующие трёхмерные объекты и сцены (комнаты). Все программы выполнены на C++, а некоторые даже используют режимы с высоким разрешением и большим количеством цветов. Правда последние довольно сильно тормозят... Но ничего идеального нет, зато можно рисовать практически реалистичные объекты .
|
Программа работает со сценой, состоящей из пяти плоскостей различного цвета и четырёх точечных источников света. Программа содержит объъект TScene, в который можно добавлять объекты сцены (горизонтальные и вертикальные плоскости). Можно также активизировать до десяти источников света, каждый из которых характеризуется координатами в пространстве и яркостью. Используемый видеорежим: VESA 640x480 16M colors (24 bit, True Color). |
|
Программа рисует объёмную комнату с текстурными стенами, полом и потолком. На потолке используется текстура в виде облаков, которые при этом двигаются. Можно ходить по комнате в разные стороны и вверх/вниз, не выходя при этом за её пределы. Текстуры позаимствованы у 3D Realms, которая написала Duke Nukem 3D. Используемый видеорежим: VESA 640x480 16M colors (24 bits, True Color). |
|
Программа рисует трёхмерный текстурированный куб в реальном режиме времени в отличие от двух предыдущих программ. Здесь удалось достичь высокую скорость рисования текстурированных треугольников (~70 fps на P233) и довольно высокое качество получаемого изображения несмотря на то, что в программе используется только целочисленная арифметика. В программе есть возможность регулировать скорость вращения куба (клавиши '+' и '-'), а также его размеры (клавиши 'стрелка вверх' и 'стрелка вниз'). |
|
Программа демонстрирует применение технологии рельефного текстурирования методом выдавливания (Embossing) - рисует рельефные текстуры, освещённые направленным источником света, меняющим свое положение в пространстве. |
|
Программа рисует падающие сверху стодолларовые купюры. |
![]()
Полигональные модели
Каждая из придставленных ниже программ рисует некоторые геометрические фигуры, состоящие из треугольников. Фигуры переворачиваются и летают по экрану, при этом достигнута практически максимальная скорость вывода графики.
P.S. Сама процедура рисования треугольников и процедура вычисления квадратного корня написаны на ассемблере для 386 процессора, остальная часть написана на C++. Все программы используют только целочисленные операции с применением 32-битных операндов.
| Цилиндр | Пирамида и куб | Конус |
| Звёзды | Тор | Додекаэдр |
| Икосаэдр | Октаэдр |
Следующие две программы демонстрируют различные методы заливки граней многоугольников - метод Гуро и метод Фонга. В отличие от тора, представленного на картинке выше, тор с заливкой граней методом Гуро отличается более сглаженными гранями, а при методе заливки Фонга тор выглядит практически гладким.
| Метод Гуро | Метод Фонга |
![]()

Ниже представлены 3D заставки с использованием OpenGL. Для их использования у Вас должны иметься библиотеки OPENGL32.DLL и GLU32.DLL (в директории WIN95\SYSTEM или в текущей директории). Эти библиотеки обычно входят в комплект поставки Windows 95 OSR2 и Windows 98.
| Цилиндр со звёздами
|
Звёзды в тумане
|
Прозрачный флаг
|
| Сферы
|
Банк
|
Зелёная поляна
|
| Скалы
|
Часы
|
Wolfenstein 3D
|
Примечание: в заставке "Сферы" можно перемещаться по комнате используя клавиши со стрелками.
В заставке "Wolfenstein 3D" можно перемещаться по лабиринту используя клавиши со стрелками. Пробел - стрелять, Q - прыгать, A - посмотреть вверх, Z - посмотреть вниз, < - шаг влево, > - шаг вправо - в общем управление почти как в Quake.
![]()
Copyright © 1999 by HackMaster