Презентация 4 / 2011

Лекция 4 е вече качена на сайта.

Изтеглете като [PDF], или като [ZIP (с презентацията в .ODP формат + клипчета)].

В качената презентация има и описание на Фонг шейдъра, който не можахме да напишем по време на лекцията и ще реализираме следващия път.

Кодът, който написахме на лекцията, е качен в SVN - ревизия 619. Както казах още тогава, този код беше доста груб и имаше няколко проблема:

  1. Изтичане на памет (създадените обекти Sphere, Plane, Lambert и т.н. се заделяха с new, но не се освобождаваха никъде).
  2. В кода на Sphere::intersect взимахме само по-близката пресечна точка. Ако, обаче, камерата се намира вътре в сферата, бихме се интересували от по-големия корен на квадратното уравнение (по-общо казано - искаме само неотрицателни решения). Ако сферата е изцяло зад камерата, то и двете решения ще са отрицателни и тогава нямаме пресичане.
  3. Към новия код липсваха всякакви коментари.

Всичките тези проблемчета са поправени в ревизия 621. TortoiseSVN предлага удобен начин да видите тези промени - първо, Update-нете проекта до последната ревизия, след което, чрез контекстното меню на TortoiseSVN дайте Show Log. Изберете реда с ревизия 621. Долу ще се появи списък с променените файлове - чрез doubleclick на някой от тях, можете да видите какви са конкретно промените, които съм направил „за домашно“.

Домашни ще има и за вас — очаквайте да публикувам и условията — някъде по-късно днес.

Comments

Има ли разлика в точките на

Има ли разлика в точките на различните домашни? Т.е. дали следващите домашни ще са с повече точки, тъй като са по-сложни примерно.

Точкуването

Не, всяка задача си има зададени точки по моя преценка, на базата на това колко "трудна" ми се струва на мен. За в бъдеще ще има както по-леки, така и по-тежки задачи (респективно, с по-малко, и с повече точки).

Малък бъг в ревизия 622

В ревизия 622 има грешка в тялото на предефинирания оператор += за структурата Color
Вместо += оператора прави *=
Дано съм ви спестил малко време изгубено в дебъгване с това :)