Порфиров Павел Александрович

Факультет компьютерных наук и технологий

Кафедра компьютерной инженерии

Специальность: Инженерия программного обеспечения

Тема магистерской работы: Повышение производительности синтеза стерео-изображений трёхмерных сцен методом трассировки лучей на параллельных графических процессорах

Научный руководитель: к.т.н., доц. Зори Сергей Анатольевич

Биография

О семье

Я, Порфиров Павел Александрович, родился 31 января 1992 года в городе Макеевка. Вместе с родителями, старшей сестрёнкой, а также бабушкой и дедушкой я прожил в этом городе один год, после чего, оставив в Макеевке маминых родителей, наша семья переехала в Донецк на новую квартиру. С тех пор прошло более двадцати лет, Донецк для меня стал родным городом, а наша новая квартира — родным домом.

Моя мама, Ковальчук Лариса Эдуардовна, по образованию педагог, а папа, Порфиров Александр Семёнович, — горный инженер-геолог. Возможно, автобиография на сайте магистров является неудачным местом для подобных заявлений, но я хочу выразить благодарность родителям за то, что они подарили мне детство, в самом буквальном смысле незабываемое, свою нежность, тепло и любовь. Я надеюсь, что смогу вернуть, если не сполна, то хотя бы частично, вложенные в меня силы и время.

Проблемы выбора детского сада и школы у родителей не было — наше новое место жительства удачно оказалось расположенным прямо напротив детского сада, а до школы от подъезда моего дома приходилось шагать, ни много ни мало — двести метров.

О школьных годах

В школу №135, которая сейчас называется профильным лицеем, я пошёл в 1999 году. Так как читать, хоть и по слогам, я умел уже в четыре года, а в садике меня научили основам арифметики, то поступить в школу удалось без проблем.

До седьмого класса я учился исключительно на отлично, не помню, чтобы учёба у меня вызывала проблемы. Начиная с седьмого класса, я стал учиться в музыкальной школе, немного ограничив себя в количестве свободного времени. В девятом классе, когда я поступил в компьютерную академию ШАГ, всё стало ещё сложнее.

Моими любимыми школьными предметами, пожалуй, были математика и литература. Я раньше не задумывался о практическом применении математики — меня привлекал сам процесс решения. А литература мне нравилась возможностью что-то почитать. Да, кстати, мне ещё нравилась физкультура своей заманчивой возможностью побегать, поиграть и размяться.

Во время учёбы в школе я очень редко и неохотно участвовал в олимпиадах, даже несмотря на успехи в учёбе. В шестом классе, Наталья Петровна, наша учительница по музыке, отметила, что я хорошо пою. С тех пор я и солировал, и выступал в составе школьного хора, в основном, на сцене школьного актового зала, хотя иногда бывали более масштабные и публичные выступления на улице. Однако, опять-таки, я не участвовал в конкурсах.

В музыкальной школе Константин Александрович, мой учитель игры на саксофоне, демонстрировал чудеса стойкости и выдержки, когда я несколько занятий кряду не мог выдуть гамму с дополнительными усложнениями в виде свинга и легато. И, хотя я самоотверженно тренировался, часами оттачивая звучание одного произведения, на отчётных концертах я всегда дрожал от волнения, радуясь, если удавалось сыграть всю программу без единой оплошности.

Об учёбе в университете

Когда пришла пора определиться с ВУЗом, я был уверен лишь в том, что хочу поступить на специальность, так или иначе связанную с программированием. В ДонНТУ во время подачи документов передо мной неотвратимо предстала проблема выбора кафедры — АСУ или ПМиИ. В двух словах различия между ними мне описали как на ПМиИ больше математики..., что сразу разрешило все противоречия.

По результатам внешнего независимого тестирования меня приняли сразу в несколько университетов — Донецкий национальный технический университет (ДонНТУ), Государственный университет информатики и искусственного интеллекта (который на текущий момент является частью ДонНТУ) и Донецкий национальный университет. Мысленно поблагодарив другие университеты за предоставленную возможность, я передал документы в ДонНТУ, став студентом нашего университета.

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

Так как до университета я был недостаточно хорошо знаком с программированием, то мне на пользу пошли базовые программные дисциплины, читаемые на первом курсе Дацун Натальей Николаевной и Федяевым Олегом Ивановичем (например, Основы программирования), а также фундаментальные знания, которые на втором курсе преподал Ладыженский Юрий Валентинович в дисциплине Дискретная математика.

Наиболее полезными для себя я считаю все курсы, которые читались Бабковым Виктором Светозаровичем и Грищенко Виктором Игоревичем. Они, одновременно с преподаванием занимаясь профессиональной деятельностью в области IT, подавали наиболее современный материал, подкрепляя его интересными практическими заданиями. Именно от Виктора Светозаровича я узнал о такой технологии как .NET и увлёкся ею, именно от Виктора Игоревича я узнал о такой методологии как Kanban, с которой в дальнейшем мне пришлось столкнуться.

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

О профессии

Честно говоря, первым моим хобби, связанным с использованием компьютера, было компьютерное моделирование трёхмерных сцен. Для этого я использовал пакет 3D Studio Max. Поначалу это было просто баловство — в 3Ds Max 4 я просто рисовал кубики и анимировал их. После этого, в 3Ds Max 7, модели стали более сложными. Потом я узнал о таких программах как ZBrush и Rhinoceros, после чего всё стало ещё интереснее. Программированием я увлёкся несколько позже.

Впервые с программированием я познакомился в восьмом классе. До сих пор помню, как наша учитель по математике дала мне и моему другу несколько дискет с Turbo Pascal и задачу, которая предназначалась, как она сказала, для учащихся девятого класса. Так как на тот момент мы практически ничего не знали о переменных, массивах и функциях, мы с другом радостно хлопали в ладоши, когда строчки редактора, наконец, перестали подсвечиваться красным цветом, и на экране появилось окно консоли (с сообщением о какой-то ошибке времени выполнения). То удовлетворение, которое я получил тогда и получаю сейчас, когда мне удаётся что-то реализовать, сравнимо с эйфорией, которую чувствуешь после создания достойной картины или, в моём случае, 3D-сцены.

В ШАГе я получил первые навыки работы с языками HTML, CSS и C++. Этих знаний уже было достаточно, чтобы я мог продолжить самостоятельное изучение.

Наиболее плодотворным в плане изучения программных технологий для меня стало обучение в университете. Здесь, одновременно с полезными знаниями, появилась строгая обязанность изучать всё преподаваемое, которая действовала как отличный дополнительный стимул к работе.

Неоценимый опыт мне принесло участие в программе Binary Studio Academy летом 2013 года. Основной упор был сделан на практическом применении самых современных технологий и методологий в сфере веб-программирования. Несмотря на то что та команда .NET, в которой я оказался, поначалу была немного нестабильной с точки зрения её состава, мы справились с задачей. На мой взгляд, лепта, внесённая мной в разрабатывавшийся нами проект, была несущественной. Я благодарен Роману Нофенко и Никите Семенистому, нашим руководителям, за тот опыт, которым они с нами поделились.

О будущем

Моей основной задачей на ближайшее время, естественно, является защита дипломной работы. Своё профессиональное развитие я планирую продолжить в качестве полноценного сотрудника одной из отечественных IT-компаний. Несмотря на своё увлечение компьютерной графикой, я не стану ограничивать себя в выборе рода деятельности, так как хочу восполнить недостаток опыта работы в других отраслях программирования.