Prościej już być nie może, niż na GameCreatorze! ;-)
Czytelnicy witryny GameCreator ponownie znajdą w bieżącym numerze SDJ coś ciekawego :-) a dokładniej: artykuł o ukrywaniu niewidocznych powierzchni w grafice 3D. Oczywiście są też teksty o innej tematyce ;-)
W aktualnościach tym razem będzie o tym, że Dell postanowił powrócić do preinstalowania Windowsa XP na swoich laptopach, bo jego klienci narzekali na preinstalowaną Vistę ;-P Problem w tym, że Microsoftowi Vista nie schodzi, więc ogłosił, że Windowsa XP będzie wspierać tylko do stycznia 2008 :-P Można też przeczytać, jak to zawieszanie się Worda M$ uznał za normalne zachowanie aplikacji ;-P oraz o wydaniu nowej wersji Visual Studio. Jest też o testach komunikatora Skype w sieciach firmowych pod względem bezpieczeństwa, które nie wypadły zbyt pomyślnie [dziwny zbieg okoliczności: Microsoft właśnie wypuścił swój nowy komunikator biurowy ;-J]. A tak poza światkiem Microsoftu: wyszła nowa wersja dystrybucji Linuxa Ubuntu, wyposażona w przyjazne narzędzie ułatwiające migrację na ten system oraz konfigurację sieci. Jest też już nowa wersja OpenOffice 2.2 i Thunderbirda ;-)
Na płytce w tym numerze między innymi: Multimedialny kurs Oracle, aplikacja AnyPlace Control do zdalnego zarządzania komputerem, oraz Multimedia Protector - aplikacja do ochrony dostępu do plików multimedialnych.
Pierwszy artykuł z działu "Biblioteka miesiąca" omawia bibliotekę wxPython, czyli Pythonowe wrapper biblioteki wxWidgets, która początkowo została stworzona dla języka C++. Artykuł stanowi ciekawy wstęp do tej biblioteki i jest dobry by zainteresować kogoś tą biblioteką. A może nawet czymś więcej, bo autor częściej wychwala język Python, niż samą bibliotekę ;-) zapominając czasami o jej korzeniach w C++. Przykładowe kody źródłowe wydają się być jednaj przetłumaczone z tutoriali dla C++, jednego nawet zapomniał przetłumaczyć i pozostawił kod w C++ ;-D Niestety poza tymi kilkoma przykładowymi aplikacjami typu "Hello world" nie znajdziecie w tym artykule nic więcej.
Następny artykuł powinien szczególnie zainteresować twórców gier. Opowiada on o sposobach ukrywania niewidocznych ścian podczas renderingu grafiki 3D, by przyspieszyć jej wyświetlanie i zmniejszyć obciążenie GPU. Omawia techniki używane w tym celu, począwszy od najprostszych, typu ukrywanie ścian odwróconych tyłem do kamery [ang. backface-culling
], poprzez techniki przycinania do ostrosłupa widzenia, po zaawansowane techniki takie jak drzewa BSP, portale, czy drzewa PVS. Można w nim też znaleźć wiele przydatnych sposobów, np. na obliczanie kolizji z płaszczyznami w 3D, czy przecinania się płaszczyzn. Autor bardzo dobrze tłumaczy te zagadnienia, a rysunki pomagają to wszystko zrozumieć.
Dalej jest artykuł o XFrames, czyli module języka XML, który jest ulepszeniem HTMLowych ramek. Nie wiem tylko jaki był cel zamieszczenia tego artykułu, skoro żadna przeglądarka jeszcze nie obsługuje tego standardu, a i sam standard jest dopiero w fazie "szkicu" ;-J podobnie jak XHTML 2.0.
Kolejne trzy artykuły pozostawię bez oceny, ponieważ ani Java, ani ASP.NET nie leżą w kręgu moich zainteresowań i nie znam się na tym. Wszystkie one stanowią dla mnie bełkot, ale może ktoś, kto się na tym zna, coś zyska na ich przeczytaniu. Pierwszy omawia masowe przetwarzanie danych, drugi komponenty encyjne EJB 3.0 [czymkolwiek one są], a trzeci pokazuje przykład budowania prostego interfejsu WWW do rejestracji uczestników zlotu, z wykorzystaniem ASP.NET, bazy danych MS Access i C# [czyli wesoła rodzinka technologii MS ;-J].
Jest też artykuł na temat programowania wielowątkowego w C++ i jak pogodzić je z wzorcami projektowymi, takimi jak singletony. Autor prezentuje przykładowe kody korzystające z biblioteki Boost i rozwiązujące problemy "zakleszczeń" [pewnie chodziło o ang. deadlock
] i "wyścigów" [a to pewnie ang. race condition
;-J], oraz "głodzenia pisarzy przez czytelników" ;-) Ogólnie lepiej by zrobił, gdyby niektórych rzeczy nie spolszczał, albo spolszczył jakoś ładniej, bo jak widzę "zanotyfikuje" to mi oczy musztardą zachodzą ;-P Na szczęście autor użył też słowa "inicjalizacja" zamiast tej okropnej "inicjacji" i tym się wykupił ;-J
Z ciekawych artykułów poleciłbym jeszcze art o wykorzystaniu UML-owych przypadków użycia [ang. use cases
] przy projektowaniu systemów informatycznych. Artykuł jest co prawda krótki, ale dobrze wyjaśnia do czego może przydać się ta technika modelowania, jak z niej korzystać i jaka notacja UML jest do tego używana ;-)
Programistów gier może jeszcze zainteresować artykuł o algorytmie szybkiego obliczania potęg. W grach komputerowych wszelkie sposoby na szybkie obliczanie czegoś są bardzo przydatne ;-)
Redakcja SDJ przeprowadziła też ranking popularności języków programowania. Pomogła jej w tym wyszukiwarka Google ;-J Nie wiem tylko czemu znalazły się tam również języki skryptowe [np. PHP, który jest na pierwszym miejscu, JavaScript z miejsca 8, czy Bash z miejsca 15] i języki do specjalnych zastosowań [np. Prolog z miejsca 25, czy AWK z miejsca 20], które raczej nie są językami programowania, bo nie służą do tworzenia samodzielnych programów komputerowych. Język C++ zajął 4 miejsce, pobiła go Java i Delphi [Delphi to język programowania? :-D A nie czasem ObjectPascal?]. Widać mają lepszy marketing ;-J Na szczęście udało mu się pobić język C#, który znajduje się na miejscu 9. Jeśli chcesz wiedzieć, jakie języki zajęły pozostałe pozycje, zajrzyj do bieżącego numeru SDJ ;-J