en ru
-
Dmitriy's Web Place
-
-
Исходный код прототипа заставки Shining Time

Итак. Это изначальная заготовка для экранной заставки Shining Time. Исходный код не очень хорошо откомментирован, но я думаю, что он достаточно простой для изучения и понимания. Я не публикую здесь утилит для создания файлов *.MSH и *.PHG, которые хранят трёхмерные объекты. Изучите исходный код, вы поймёте как они используются и их формат.

[ Download, shining_time_proto.zip, 222K ]
Примеры OpenGL

Этот архив содержит два примера OpenGL. Думаю, что они помогут начинающим в освоении и изучении этой замечательной графической библиотеки.

Поверхность

Это маленький пример полёта над поверхностью, использующий OpenGL. В большинстве случаев задача создания эффекта полёта над поверхностью не так проста и требует серьезного 3D-движка. Однако этот пример очень хорошо подходит начинающим, кто только начинает изучение OpenGL и 3-х мерной графики. В примере показано, как на языке программирования C и с помощью OpenGL создать такой эффект, всего в 6-ти Кб кода.

Landscape
Заряженный куб

Это всего лишь текстурированный куб с эффектом отражения и тумана. Это очень простой пример OpenGL, который показывает как создать свою первую 3-х мерную сцену.

The Cube of Power
[ Download, oglexamples.zip, 573K ]
Микро-программы на ассемблере

Всё случилось тогда, когда я нашёл в сети сайт www.256b.com и посмотрел, что могут создать программисты используя очень ограниченный по размерам объем кода. В данном случае, размер программ не превышал 256-ти байт. Я решил попытаться создать что-то похожее, что было там представлено. Архив содержит эффект пламени и эффект падающего снега.

Эффект пламени

Это обычный эффект пламени, но реализованный в коде не превышающим 125-ть байт. Я поставил неколько условий:

1. Должна быть какая-то палитра, не просто красный огонь.
2. Дожидаться синхронизации кадров на экране.
3. Пусть огонь будет в двух направлениях: вверх и вниз.
4. Программа должна завершать работу по нажатии клавиши.
5. Уместить весь код не более чем в 128-мь байт.

И... Да, у меня получилось! (надеюсь)

Flames
Эффект падающего снега

Это эффект падающего снега, реализованный в 255-ти байтах кода. Кроме самого снега на экран выводится небольшое текстовое сообщение.

SNF
[ Try It Online ]
[ Download, tinyasm.zip, 4K ]
Моя старая графика

В данном архиве вы сможете обнаружить некоторые из моих старых экспериметов в области программирования 3D графики. На дворе был 1995-й год, когда я решил понять то, как устроены некоторые из тогдашних 3D-движков (Doom и Wolf3D).

Я написал все эти вещи на доступном тогда мне Borland Pascal версии 7. Теперь можно посмотреть на результат моей работы.

Архив содержит следующее:

1. Рендер игрового мира в стиле "Doom".
2. Рендер игрового мира в стиле "Wolf3D".
3. Текстурирование в 3D с некоторыми эффектами освещения.
4. Алгоритм буфера глубины (ZBuffer), привязка к реальному времени и 3D преобразования.

Doom's style (c2)
Wolf's style (dt_asm)
Torus
Prisma
[ Try It Online ]
[ Download, myoldgfx.zip, 179K ]
Патч для модуля CRT (Turbo Pascal, Borland Pascal)

Когда-то я столкнулся с проблемой: очень старые программы, написанные на Borland Pascal-е не работали на современных компьютерах. Ошибка содержалась в модуле CRT, где присутствовал код калибровки функции Delay. Здесь я предлагаю решения по исправлению 'Runtime error 200 at ...'.

Я сделал два решения:

1. SMALLCRT.PAS – замена стандартного модуля CRT с ограниченным набором функций.
2. CRT_FIX.PAS – маленькая утилита для удаления проблемного кода из любой программы скомпилированной Turbo/Borland Pascal'ем.

[ Download, crtfix.zip, 51K ]
-
   Copyright © 2005-2022 А. Дмитрий