blog.garaż.net

12 sierpień 2009

Inteligentne wskaźniki

Inteligentne wskaźniki to bardzo pomocne twory. Dzięki nim nie trzeba pamiętać głównie o zwolnieniu obiektu w różnych przypadkach, a o błędy z tego wynikające nietrudno.

Istnieje masa różnych implementacji inteligentnych wskaźników, od najprostszych usuwających obiekt, na który wskazują w momencie kiedy jest usuwany obiekt wskaźnika lub przypisywana jest nowa wartość, poprzez zliczające, kopiujące i masę innych. Zależnie od funkcji jakie ma spełniać i do jakich celów mamy zamiar go używać każdy może przygotować własną implementację.

Najprostsza wersja może wyglądać tak:

{geshi lang=cpp}template class ptr { private: T m_pointer; ptr(T& pointer) {} T& operator= (ptr& obj) {} public: ptr() : m_pointer(NULL …

29 marzec 2009

15 maj 2008

Raytracer

Ponieważ trochę czasu musiałem poświęcić na stworzenie tego programiku, to pochwalę się szerszej publiczności. Oto program generujący obraz na podstawie odwrotnego śledzenia promieni. :)

Krótka historia

Na początku była ciemność, jak często to bywa przy programowaniu grafiki, jeden mały błąd i nie widzimy nic, ciężko w takich sytuacjach stwierdzić co jest nie tak. Kilka godzin później przyszło na świat coś takiego:

![Raytracer - 2008.03.18](http://farm3.static.flickr.com/2187/2343548623_8578 174439_t.jpg) ![Raytracer - 2008.03.19](http://farm3.s tatic.flickr.com/2090/2345168847_ce76150730_t.jpg)

Po krótszych bojach udało się wstępnie dodać oświetlenie i po dłuższych... cienie, potem przyszły …

26 kwiecień 2008