18th September 2008, 12:15 am
Witam ponownie jako student Politechniki Wrocławskiej wydziału Informatyki i Zarządzania kierunku Informatyka. Jak wiadomo wakacje wakacjami i nie ma czasu na nic, dlatego zająłem się projektem trójwymiarowej gry Tetris. Niestety dotarłem do ślepego zaułku, a główną przyczyną tego okazał się bardzo wciągający serial Stargate SG-1 + filmy oraz Stargate Atlantis. Stargate SG-1 jest serią 10 sezonów, każdy składający się z ok. 20 odcinków po 40 minut każdy, więc jest to ogromna ilość czasu jaką należy poświecić. Wracając jednak do tematu tego bloga muszę stwierdzić, że ciężko jest mi pracować nad obecnym projektem, więc myślę o rozpoczęciu czegoś nowego.
23rd July 2008, 11:27 pm
Postanowiłem udostępnić dwie pomocne aplikacje, które były mi potrzebne kiedyś, więc sobie je na szybko skodziłem w ramach treningu. Oto one:
- FileListing – aplikacja zapisuje ponumerowaną listę plików w katalogu, w którym została uruchomiona
- NewLineFix -aplikacja naprawia wszystkie znaki nowej linii dodając do nich \r, przydatna przy czytaniu plików pisanych pod linuksem.
Mam nadzieję, że komuś się przydadzą :).
21st July 2008, 10:39 pm
Kontrola rodzicielska w systemie Windows Vista, znana jako UAC, jest mechanizmem chroniącym komputer przed uruchamianiem niebezpiecznych programów. Za każdym razem, gdy użytkownik próbuje uruchomić aplikację, która ingeruje w rejestr, bądź próbuje zapisać coś na dysku UAC prosi o potwierdzenie wykonania tej czynności.
Z początku odnosiłem się do tego sceptycznie, ponieważ za każdym razem gdy coś robiłem, wyskakiwało okienko z prośbą o potwierdzenie. Dlatego też w pewnym momencie wyłączyłem tą usługę. Ostatnio jednak się nad nią ulitowałem i ją uruchomiłem. Teraz muszę przyznać, że jest warta tych komunikatów, ponieważ mając na pendrive’ie wirusa, sposób jest zarazić Vistę z uruchomionym UACiem, wyskakuje piękny komunikat odnośnie jego uruchomienia.
Pomimo, tego że na ludzką głupotę lekarstwa nie ma, polecam uruchomienie Kontroli rodzicielskiej w systemie, gdyż dzięki temu można przynajmniej dowiedzieć się nieco o niebezpieczeństwie czyhającym w programach :).
29th June 2008, 12:41 am
Właśnie opublikowałem paczkę dotychczasowej pracy. Nie jest tego dużo, ale zawsze coś. Muszę przyznać, że ostatnio pogrywam sobie w L2 więc czasu trochę mniej. Paczka zawiera prostą aplikację wykorzystującą mój menadżer scen, dzięki któremu można przełączać dowolnie między scenami. Więcej w pliku ReadMe.
Pobierz
22nd June 2008, 12:35 am
Udało mi się napisać manager scen, na którym będę mógł oprzeć moją grę, dzięki temu sceny można przełączać (jak w grze). Ostatnio zająłem się efektami, które są w książce Programowanie gier w DirectX. Póki co mam efekt ognia i efekt wody, między którymi można się dowolnie przełączać. Postaram się zakodzić resztę i udostępnić.
27th May 2008, 09:52 pm
Wreszcie skończyły mi się matury, przyszedł czas na odpoczynek i kodzenie. Będę mógł zająć się czytaniem książek, z których pozostało mi aktualnie ok. 3000 stron ;). Z drugiej strony trzeba poszukać sobie jakiejś pracy na wakacje.
Już wcześniej postanowiłem, że napiszę klona tetrisa w 3D, więc biorę się do roboty, mam nadzieję, że szybko mi to pójdzie :).
23rd May 2008, 12:37 am
Kod który piszemy nigdy nie jest idealny, zawsze można coś poprawić, przyspieszyć. Dowiedziałem się również, że czasami jednak warto zostawiać kod taki jak jest, np. pętle for:
for(int i = 0; i < cos; i++)
ponieważ kompilator potrafi to zoptymalizować sam, a wszelkie próby działań na własną rękę mogą tylko zaciemnić mu kod. Postanowiłem poszukać co podoba się kompilatorowi msvc i natrafiłem na dość ciekawą stronę: link. Nie jest to może dokładnie to czego szukałem, ale jest to coś, co może się bardzo przydać. Postaram się zagłębić w tę lekturę w chwili wolnego czasu.
20th May 2008, 10:52 pm
Udało mi się wreszcie opanować kawałek kodu, który męczył mnie od 2 dni. Okazało się, że umieściłem w strukturze, która była agregatem, referencję. Następnie zainicjalizowałem obiekt takiej struktury jako agregat. Wszystko było ładnie, dopóki nie postanowiłem przestawić kompilacji z Debug na Release. Aplikacja zaczęła się sypać. Dzisiaj udało mi się wreszcie znaleźć ten błąd, który tkwił w referencji umieszczonej w agregacie, po jej usunięciu wszystko było ok.
Myślę, że jest to błąd kompilatora, który powinien przynajmniej ostrzegać o próbie inicjalizacji referencji w agregacie. Wynik takiej operacji jest niestety niezdefiniowany.
13th May 2008, 03:15 pm
NVIDIA od jakiegoś czasu udostępnia książki na swojej stronie za darmo. Dotychczas w pełni ukazały się:
Dzisiaj NVIDIA udostępniła pierwsze trzy rozdziały kolejnych perełek, czyli GPU Gems 2. Kolejne rozdziały będą udostępniane po trzy, co tydzień, aż do 25 sierpnia, czyli do wielkiego wydarzenia jakim jest NVISION.
Myślę, że to wspaniały gest ze strony NVIDII, ponieważ te książki są doskonałym źródłem informacji dla ludzi zajmujących się programowaniem grafiki. Co prawda mam już książkę pt. Język Cg, ale pozostałych nie będę musiał kupować :).
8th May 2008, 11:28 pm
Przeglądając opcje projektu w Visual C++ 2008 Express Edition natrafiłem na opcję, która umożliwia kompilatorowi użycie dodatkowych instrukcji procesora z zestawów SSE i SSE2. Niestety nie wiem, które co i jak kompilator może zoptymalizować, ale myślę, że warto ustawić tę opcję na minimum SSE. A nuż coś pomoże. Aby uaktywnić tę opcję należy wejść do opcji projektu -> C++ -> Code Generation -> Enable Enhanced Instruction Set.
Próba uruchomienia programu zoptymalizowanego pod instrukcje wyższego zestawu po prostu się nie powiedzie, ale w dzisiejszych czasach kiedy dostępny jest zestaw instrukcji SSE3, można sobie pozwolić na minimum SSE.