Презентация 4 / 2011
- Forums:
Лекция 4 е вече качена на сайта.
Изтеглете като [PDF], или като [ZIP (с презентацията в .ODP формат + клипчета)].
В качената презентация има и описание на Фонг шейдъра, който не можахме да напишем по време на лекцията и ще реализираме следващия път.
Кодът, който написахме на лекцията, е качен в SVN - ревизия 619. Както казах още тогава, този код беше доста груб и имаше няколко проблема:
- Изтичане на памет (създадените обекти Sphere, Plane, Lambert и т.н. се заделяха с new, но не се освобождаваха никъде).
- В кода на Sphere::intersect взимахме само по-близката пресечна точка. Ако, обаче, камерата се намира вътре в сферата, бихме се интересували от по-големия корен на квадратното уравнение (по-общо казано - искаме само неотрицателни решения). Ако сферата е изцяло зад камерата, то и двете решения ще са отрицателни и тогава нямаме пресичане.
- Към новия код липсваха всякакви коментари.
Всичките тези проблемчета са поправени в ревизия 621. TortoiseSVN предлага удобен начин да видите тези промени - първо, Update-нете проекта до последната ревизия, след което, чрез контекстното меню на TortoiseSVN дайте Show Log. Изберете реда с ревизия 621. Долу ще се появи списък с променените файлове - чрез doubleclick на някой от тях, можете да видите какви са конкретно промените, които съм направил „за домашно“.
Домашни ще има и за вас — очаквайте да публикувам и условията — някъде по-късно днес.

Comments
Има ли разлика в точките на
Има ли разлика в точките на различните домашни? Т.е. дали следващите домашни ще са с повече точки, тъй като са по-сложни примерно.
Точкуването
Не, всяка задача си има зададени точки по моя преценка, на базата на това колко "трудна" ми се струва на мен. За в бъдеще ще има както по-леки, така и по-тежки задачи (респективно, с по-малко, и с повече точки).
Малък бъг в ревизия 622
В ревизия 622 има грешка в тялото на предефинирания оператор += за структурата Color
Вместо += оператора прави *=
Дано съм ви спестил малко време изгубено в дебъгване с това :)