Информация за курса

Основна цел на курса „3D графика и трасиране на лъчи” е да въведем студентите в приложната компютърна графика и рендерирането на реалистични тримерни изображения чрез метода на проследяващия лъч (raytracing). Ще се фокусираме основно върху Raytracing-а: както геометричните му основи, така и последните иновации и алгоритми за бързо рендериране на висококачествени изображения. Ще направим сравнение с конкурентните алгоритми за рендериране (Z-Buffer, Scanline). Ще въведем (накратко) концепциите за цветове, цветови пространства и математическия модел на фотокамерата. Ще разясним понятието Global Illumination и се ще демонстрираме неговото значение при създаване на фотореалистични изображения. Не на последно място, ще хвърлим поглед и на последните техники, позволяващи ускоряване на Raytracing-а до скорости, подходящи рендериране в реално време. Ще се спрем накратко върху особеностите на VR технологиите.
По време на провеждането на курса, студентите ще разполагат с пълният изходящ код на програмата-рейтрейсър, която ще се пише „заедно“ с тях, като част от курса. Студентите са мотивирани да допринасят към нея, тъй като това им носи допълнителни кредити. Крайната цел е студентите да се запознаят с вътрешната организация и техническата реализация на един типичен рейтрейсър.

Първото издание на курса се водеше от магистрите от ФМИ - Веселин Георгиев и Слави Къслев. Настоящето издание на курса ще се води основно от Веселин Георгиев, евентуално с помощ от още няколко души, които се доуточняват. Понеже ни е ясно, че голяма част от студентите във ФМИ имат ангажименти в работата си, ще се постараем да улесним максимално работещите, като изнесем на този сайт всички материали по курса (презентации, код, домашни...). Разбира се, няма да се "разсърдим" на никого от идващите на семинарите, понеже там ще разказваме подробно материала от презентациите, ще пишем самия код и ще можем да отговаряме на въпросите, които вероятно ще възникнат. Но в общи линии присъствието не е задължително.

Езикът, на който ще се реализира raytracer-а, е C++. Макар и този език все повече да предизвиква уплах и страхопочитание във ФМИ, то ние няма да се изкачваме до невероятни висоти в употребата му, така че курсът ще остане много достъпен. Покрай разработката на учебния raytracer, ще ви въведем и в няколко полезни технологии, като например: междуплатформена библиотека за показване на графика (SDL), сорс-контрол система (git) и други.

На този сайт ще се публикуват новини и дати за провеждането на курса, тестовете, и т.н. - препоръчваме ви да го проверявате редовно.