Archive for February 2008

Problemy z plikami afxres.h oraz winres.h w Visual C++ EE 2008

Mała porada dla tych, którzy chcą otworzyć stare projekty, które zawierają pliki *.rc.
Przy próbie kompilacji takich projektów, może wyskoczyć błąd, który oznajmia, że nie mamy plików podanych w tytule.

Rozwiązanie jest proste, wystarczy nazwę tego pliku podmienić na windows.h. Dzięki temu można korzystać z zasobów ładowanych do pliku *.exe. (Sprawdzałem tylko na prostym projekcie z książki Programowanie w DirectX Masona McCuskey’a).

W Visualu C++ EE, zablokowana jest możliwość otwierania plików *.rc, jednak nie tak do końca, albowiem wystarczy kliknąć na takim pliku prawym przyciskiem myszy, a następnie wybrać Open with… i w oknie wybrać Source Code (Text) Editor. Według mnie zawsze jest to jakieś rozwiązanie.
EDIT: wystarczy kliknąć na takim pliku prawym przyciskiem myszy i opcję View Code. Thx Tarains.

Spotkałem się również z takim problemem, jak brak zdefiniowanej stałej IDC_STATIC (używanej do tworzenia szablonów okien dialogowych).
Kod błędu:
error RC2104 : undefined keyword or key name: IDC_STATIC

W takim przypadku należy do pliku resources.h dodać następujący kod:

#ifdef IDC_STATIC
#undef IDC_STATIC
#endif
#define IDC_STATIC (-1)

Clever

Fotka clever
Od jakiegoś czasu stacja komercyjna TVN emituje program o znaczącej nazwie “Clever – widzisz i wiesz”. Muszę przyznać, że jest on całkiem fajny. Prowadzący doświadczenia “profesor” Halama wyjaśnia zjawiska bardzo przystępnie (może trochę jak do dzieci) i są to ciekawostki warte uwagi. Wszystkie doświadczenia są dobrze zaprezentowane, z drobną dawką humoru. Myślę, że mogę polecić go każdemu :).

O wydajności

Reg spłodził ostatnio ciekawy artykuł o wydajności wczytywania tekstur. Bazuje on na teście, który on sam przeprowadził, co ciekawe, przy którym restartował kompa n-razy. Muszę przyznać, że inicjatywa, choć pracochłonna, na pewno się opłaciła, ponieważ po przeczytaniu artykułu, nie muszę się martwić o to, jak zoptymalizować wczytywanie tego typu plików. Mogę od razu powiedzieć, że najlepszym według mnie formatem będzie DDS z mipmapami generowanymi po załadowaniu (nie wczytywane z pliku) + własny VFS z kompresją danych. Wbrew podsumowaniu Rega nie zastosuję formatu JPEG, ponieważ nie lubię stratnej kompresji :).

Link do artykułu

PS. Więcej takich inicjatyw :).