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

Публикувана е петата лекция:

PDF с презентацията.
ZIP файл с презентацията в ODP формат + картинки.

(в качената лекция има слайдове за Model трансформация. Тъй като не стигна времето през самата лекция, ще ги преподам в началото на следващата).

В SVN съм качил следните неща (по ревизии):
• Ревизия 627: Кода, който написахме по време на лекцията ([не]леко бъгав);
r628: Добавих иструменти за дебъгване на рейтрейсъра. Прихващат се кликове на мишката върху SDL прозореца. За всеки клик се пуска нов лъч през съответния пиксел, като лъча е маркиран по специален начин (ray.debug = true), така че да предизвиква отпечатването на информация по време на трасиране.
r629-631: бъгфиксове. Оправено е грешното specular бяло петно в сенчестата страна на сферата (Фонг шейдъра не взимаше в предвид lightIsVisible() за specular изчисленията); черните точици по CsgDiff обектите (причинени от неправилно изчисление на разстоянието до пресечната точка - малките стъпчици, които добавяхме след всяка пресечна точка (наречени biasing, 1e-6 като дължина) не ги отчитахме и се разминаваха дължините в lightIsVisible()).
r632: по-различна сцена, с три обекта: под с текстура, сфера със "земя", и CsgDiff между куб и сфера, със закачен Фонг шейдър.

За ползвателите на Visual Studio: в проекта са добавени и файловете bitmap.cpp/bitmap.h. Ако сте си създали вече solution за VS2003 или по-ново, след SVN update ще имате проблеми при компилация - ще ви изреве, че не може да намери нещата, свързани с Bitmap класа. За справяне с проблема има два начина:

1) [порепоръчван] - затваряте VS, изтривате си retrace.sln, retrace.vcproj файловете. Отваряте retrace.dsp файла и наново му давате да конвертира проекта към текущия формат (и да генерира нови *.sln, *.vcproj)
2) Добавете си новите файлове (десен клик на Solution Explorer->retrace->Source files->Add existing item...), респективно bitmap.cpp в Sources, bitmap.h в Headers.

Ще публикувам и домашни работи по-късно през седмицата.