Читаем Я – хакер! Хроника потерянного поколения полностью

Нужно учесть искажения объектов перспективой по краям. Пиксели на поверхности полукуба домножаются на косинус угла между направлением камеры и отрезком, соединяющим центр проекции с пикселем. Также нужно учесть закон косинуса: освещенность поверхности пропорциональна косинусу угла между нормали к поверхности и направлением на источник света.




Карта 1




Поскольку рассчитывать эти величины каждый раз для каждого патча слишком дорого, то разумней подготовить специальную карту, на которую мы будем домножать наш полукуб — multiplier map. Это и делает утилита Rad. При ее запуске параметром задается, сколько проходов (число отражений света) мы рассчитываем. Пересчет карты 2 (квартира) в восемь проходов на Riva TNT Vanta занимал примерно 6–8 часов. Но оно того стоило.

Ко второй версии я добавил зеркала и полупрозрачные поверхности.




Карта 2


Текстура — растровое изображение, накладываемое на поверхность полигональной модели для придания ей цвета, окраски или иллюзии рельефа.

Копланарные многоугольники — многоугольники, лежащие в одной плоскости.

Работа - Адамант


На третьем курсе университета я совсем забросил учебу и целый день сидел за компьютером, занимаясь то поисковиком, то 3D-движком. Я пытался собрать единомышленников на форуме GameDev.ru для написания своей собственной игры. У меня была надежда, что ее кто-нибудь заметит и даст начальные инвестиции на более серьезную разработку.

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

На этом же курсе было разделение по кафедрам. Я выбрал кафедру ядерной физики. Перед новым годом я подарил пятизвездочный коньяк «Арарат» заведующему кафедрой. Коньяк не был дорогой, но этот жест очень понравился заведующему. Он сказал, что, в случае каких-либо проблем, я могу обращаться к нему лично.

В конце первого семестра я твердо решил, что пора бы найти работу. Где я мог заработать? Например, разгружая что-то. Я нашел заманчивое предложение в газете о разгрузке мешков с мукой. Физическая форма у меня была хорошая. Я поехал по объявлению в Питер. Там мужики мне объяснили, что в среднем за день нужно разгрузить несколько тонн муки. Если я согласен — меня ждут завтра к 8 утра. Хорошо, что ж, попробую.

На следующий день уже в 6 утра я был на железнодорожной станции. Только вот электричка не доехала до станции «Университет» — сломалась и парализовала все движение. «Значит, не судьба. Видимо, эта работа не для меня», — с икренним облегчением подумал я. И пошел просматривать предложения о работе программистом на популярном тогда сайте job.ru.

Резюме у меня было скромное: студент, знания С/С++, WinAPI, OpenGL, опыта работы нет, для себя программирую такой-то 3D-движок.

Мне ответило несколько компаний. Одна из них — «Адамант Мультимедиа». Это была компания, занимающаяся разработкой 3D Action игр и принадлежащая крупному строительному холдингу «Адамант». Офис «Мультимедиа» располагался практически в центре Питера на Сенной площади. Туда я и поехал на собеседование. Меня встретил технический директор Дамир и провел в «большую программерскую» на четвертом этаже. По периметру кабинета стояло семь столов. На каждом столе по два монитора, под столом — один-два блока компьютеров. Кто-то усердно смотрел в мониторы, кто-то что-то обсуждал.

Дамир предложил мне сесть за стол в центре комнаты и дал листок бумаги. На этом листе было несколько заданий, которые он попросил меня решить. Я никогда не понимал программирования на бумаге. Еще в 11-м классе мы ездили на вступительную олимпиаду по программированию на факультет прикладной математики (ПМПУ). В огромной аудитории собралось около сотни студентов, которым также предложили написать код на бумаге. Организаторы олимпиады подразумевали, что вы должны помнить всю стандартную библиотеку C/C++ (я писал тогда на C++) наизусть. Реально ведь бред. Тогда я не прошел.

Дальше, с моего разрешения, Дамир попросил прислать код моего 3D-движка, чтобы главный программный архитектор компании мог оценить мои профессиональные навыки:

— Зачем вы написали отдельный редактор уровней? Ведь есть тот же 3D Studio Max?

— Просто потому что было интересно.

Но в итоге меня туда не взяли, потому что я все еще учился.

— Учеба будет отнимать много времени, — сказал Дамир и закончил собеседование.

Вторая компания, куда я поехал, располагалась в квартире старого дома. Писали они тоже какие-то игры. У них даже были обеды в виде яичницы от специально приходящей бабушки. Зарплату предлагали совсем копеечную, по меркам Питера, — всего $200.

Третья компания находилась при каком-то институте и занималась автоматизацией железок, типа лазеров и тому подобного. Выслушав меня, мне пафосно отказали: «Слабоват ты, сынок, для нас. Гуляй отсюда».

Куда я ездил еще, уже и не помню.

Перейти на страницу:

Похожие книги

Сатиры в прозе
Сатиры в прозе

Самое полное и прекрасно изданное собрание сочинений Михаила Ефграфовича Салтыкова — Щедрина, гениального художника и мыслителя, блестящего публициста и литературного критика, талантливого журналиста, одного из самых ярких деятелей русского освободительного движения.Его дар — явление редчайшее. трудно представить себе классическую русскую литературу без Салтыкова — Щедрина.Настоящее Собрание сочинений и писем Салтыкова — Щедрина, осуществляется с учетом новейших достижений щедриноведения.Собрание является наиболее полным из всех существующих и включает в себя все известные в настоящее время произведения писателя, как законченные, так и незавершенные.В третий том вошли циклы рассказов: "Невинные рассказы", "Сатиры в прозе", неоконченное и из других редакций.

Михаил Евграфович Салтыков-Щедрин

Документальная литература / Проза / Русская классическая проза / Прочая документальная литература / Документальное