Название: Я – хакер! Хроника потерянного поколения
Автор: Дмитрий Артимович
Издательство: Издательство АСТ
Жанр: Биографии и Мемуары
Серия: Звезда YouTube
isbn: 978-5-17-145941-3
isbn:
Half-Life,разработчик Valve Corporation, издатель Valve Corporation, 1998
Подавляющая часть игр использует технологию Lightmaps.
Lightmap – метод освещения пространства в 3D-приложениях. Он заключается в том, что создается текстура, содержащая информацию об освещенности трехмерных моделей. Метод значительно экономит ресурсы компьютера, поскольку приложению не приходится рассчитывать падение света в режиме реального времени.
Так вот, первые игры, в которых начали считать освещение, подобные Quake, были ужасно темными – рядом с источником света светло, а в тени ничего не видно. Всё потому, что освещение рассчитывалось до первого падения луча на поверхность, без отражения. И мозг постоянно говорил, что здесь как-то нереалистично, что-то здесь не так.
Quake,разработчик id Software, издатель GT Interactive, 1996
А вот Half-Life одним из первых стал рассчитывать Lightmaps, учитывая отраженный свет. То есть тень теперь не была идеально черной, она стала реальной, «живой». Алгоритм расчета отраженного освещения называется Radiosity.
Суть Radiosity состоит в том, что все поверхности сцены разбиваются на небольшие фрагменты – патчи, каждый из которых наделен свойствами излучать, поглощать и отражать свет. Процесс вычисления освещения по алгоритму Radiosity состоит из набора итераций[8], каждая из которых уточняет результат расчета. Для отдельного патча на сцене подсчитывается полученная им от других патчей энергия, а также доля этой энергии, которая будет излучена патчем на следующей итерации.
В результате алгоритм Radiosity позволяет получать реалистичные эффекты вторичных отражений, неточечных источников света, мягких теней и т. д.
Half-LIfe получился настолько удачным, что к нему создали даже несколько модов, некоторые из которых показывали сюжетную линию глазами других персонажей. Один из самых удачных модов для игры по сети – это Counter-Strike.
Несколько лет спустя вышел Half-Life – 2. И опять разработчики из Valve сделали прорыв – они добавили реалистичную физику на движке Havok. Теперь брошенная банка из-под газировки не просто падала и прилипала к полу, а реалистично отскакивала, ящики плавали на воде, а убитые противники эффектно перекатывались по ступенькам лестницы.
10-й класс. Мы сидим в кабинете физики, ждем начала урока. Заходит Виктор Валентинович, наш учитель: «Ребята, сегодня вы будете решать олимпиадные задачки. Кто наберет больше баллов, тот пойдет выступать за школу в район».
Задачи я решил достаточно быстро. А вот будущие золотые медалисты осадили меня и чуть ли не вырывали тетрадь: «Дай списать! Дай списать!». Внутренний голос завопил: «Это же не контрольная! Это олимпиада!». И тут я во весь голос закричал: «Отстань! Решай сам!». Сработало. Учитель обратил на нас внимание. А я заработал больше всех баллов в школе и в районе. Мне предстояла поездка в Питер на Ленинградскую областную олимпиаду.
В СКАЧАТЬ
8
Итерация в программировании – в широком смысле организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя (в отличие от рекурсии). В узком смысле – один шаг итерационного, циклического процесса.