February 2007

Uwaga! Informacje na tej stronie mają ponad 3 lata. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

20:00
Wed
28
Feb 2007

IGK 2007 - Agenda

Na stronie Konferencji Inżynierii Gier Komputerowych pojawiła się Agenda. Tym samym nie jest już tajemnicą, że razem z artpozem przygotowaliśmy referat zatytułowany "Efektywne metody usuwania błędów z kodu gry komputerowej".

Oprócz tego możemy tam przeczytać, że impreza zacznie się wcześniej niż rok temu, bo już o 14:30. W piątek będą aż 4 prezentacje firm - zapowiada się ciekawie. W sobotę jak zwykle będą wygłaszane referaty. Jest ich mniej niż ostatnio. Nie wiem czy to uczestnicy się nie spisali, czy też organizatorzy postawili na jakość a nie na ilość. W każdym razie ma to swoją dobrą stronę - jest tylko jedna sesja zamiast dwóch równoległych. Na podstawie tematów można podejrzewać, że większość wykładów będzie ciekawa i na temat. W niedzielę natomiast na pisanie pracy konkursowej będzie aż 8 godzin i 45 minut!

Comments (0) | Tags: events warsztat igk | Author: Adam Sawicki | Share

17:43
Sun
25
Feb 2007

Precompiled Headers w Visual C++

Napisałem mały, bogato "ilustrowany" artykuł, w którym pokazałem, jak w praktyce użyć mechanizmu Precompiled Headers w Visual C++, żeby wielokrotnie przyspieszyć kompilację swoich programów. Zapraszam do lektury - Precompiled Headers w Visual C++.

Comments (0) | Tags: teaching visual studio c++ | Author: Adam Sawicki | Share

20:22
Sat
24
Feb 2007

nVidia RULEZ

To niesamowite, jak dużo artykułów, prezentacji i narzędzi udostępniają zupełnie za darmo na swoich stronach WWW firmy nVidia i ATI (teraz już AMD). Materiały takie przyjemnie się czyta i można się z nich bardzo dużo dowiedzieć - nie tylko na konkretny temat, ale i ogólnie, "przy okazji".

Na przykład, jak się okazuje, karty graficzne mają wiele dodatkowych ukrytych tranzystorów, dzięki którym możemy niemal za darmo mieć policzony percentage closer filtering przy shadow mappingu - wystarczy użyć tekstury w formacie D16 lub podobnym i włączyć jej filtrowanie liniowe.

Comments (0) | Tags: rendering literature | Author: Adam Sawicki | Share

18:44
Sat
24
Feb 2007

Enkapsulacja

Enkapsulacja - piękna idea... Używamy klasy poprzez jej interfejs nie myśląc o tym, jak wygląda jej wewnętrzna implementacja. Ale to nie tylko jedno z założeń programowania obiektowego, to także naczelna zasada całego programowania (zawsze piszemy kolejne warstwy kodu korzystając z warstw niższych, z jakiś bibliotek czy funkcji systemowych). Zastosowanie ma nawet w życiu codziennym - sterujemy radiem za pomocą przycisków nie wiedząc nawet, jak to radio jest zbudowane ani jak działa.

Niestety nie wszędzie enkapsulacja ma zastosowanie. Nie sposób używać jej w matematyce. Wyprowadzenia czy dowody można pomijać, ale nie sposób zastosować wzoru bez zrozumienia co on reprezentuje, jak jest zbudowany, jak działa ani skąd się wziął. Czemu równanie matematyczne nie może być niczym biblioteka C++ - funkcją, której podajemy dane na wejście i otrzymujemy dane na wyjściu? Dlaczego skopiowany skąś wzór czy algorytm, choć poprawny, nigdy nie zadziała dopóki go w pełni nie zrozumiemy i nie poprawimy w nim jakiegoś drobiazgu? Czy życie programisty nie byłoby wtedy prostsze? :)

Comments (0) | Tags: philosophy software engineering math | Author: Adam Sawicki | Share

20:20
Sun
18
Feb 2007

LINE2D

Walki z cieniami ciąg dalszy. Na razie przegrywam. Tymczasem, kierowany nagłą potrzebą, napisałem strukturę LINE2D reprezentującą prostą na płaszczyźnie wg równania: Ax + By + C = 0. Napisałem ją porządnie, żeby dołączyć do mojego modułu matematycznego - odrobina geomtrii 2D nie zaszkodzi, a może jeszcze kiedyś się przyda. Tym samym nagłówek tego modułu liczy teraz 2711 linii i zawiera takie struktury:

Bibliotekę opublikuję jako nową wersję CommonLib jeszcze przed wakacjami.

Comments (0) | Tags: productions libraries math | Author: Adam Sawicki | Share

15:27
Wed
14
Feb 2007

Notka na 14 lutego

Jak myślicie, o czym będzie ta notka? :) Dużo ciekawych rzeczy się dzieje. Ferie w pełni. Napisałem ostatnio efekt deszczu:

Po czym odgrzebałem swój stary kompilator map do QuArK-a i zacząłem nową walkę z shadow mappingiem. Na razie przegrywam:

Comments (0) | Tags: rendering gallery | Author: Adam Sawicki | Share

20:55
Sat
10
Feb 2007

Terragen

Terragen to program niekoniecznie dla mnie nowy, ale nie miałem z nim do czynienia od lat. Dzisiaj przypomniałem sobie o nim i ku mojemu zaskoczeniu okazało się, że do zastosowań niekomercyjnych jest darmowy.

Cóż to takiego? Terragen służy, jak sama nazwa wskazuje, do generowania terenu. Mamy więc do dyspozycji ustawienia dotyczące uształtowania terenu, wody, chmur, słońca, światła, atmosfery itp. Efektem końcowym jest, powstający w długim procesie renderingu, bardzo realistyczny obrazek.

Jaki jest ten program? Spodziewałem się wielkiego i ociężałego pakietu podobnego do Poser. Tymczasem instalka Terragena waży 1.6 MB. W programie nie znajdziemy wodotrysków graficznych - interfejs jest raczej ascetyczny i mało intuicyjny, a składają się na niego prawie wyłącznie różne kontrolki do manipulacji wszelkimi ustawieniami.

Jak wyrenderować za jego pomocą skybox? Strona producenta milczy na ten temat, ale znalazłem tutorial, który opisuje jak to zrobić. Nie ma specjalnej funkcji przeznaczonej do tego celu, ale wystarczy renderować z odpowiednio ustawioną kamerą, o kątach wpisanych ręcznie jako liczby.


Tak wygląda aplikacja.


Tak wygląda efekt jej działania.

Comments (0) | Tags: graphics tools software | Author: Adam Sawicki | Share

23:52
Wed
07
Feb 2007

Fixed Pipeline Lighting Demo

Fixed Pipeline Lighting Demo to moja najnowsza produkcja. Właściwie nic konkretnego, a jedynie pokaz aktualnego kodu, który udostępniam z prośbą o przetestowanie. Chcę się przekonać, czy zgodnie z założeniami zadziała także na starym sprzęcie klasy GeForce 2, GeForce 3, GeForce 4 MX i Ti, ich odpowiednikach firmy ATI czy na zintegrowanych, laptopowych intelach - słowem na kartach, które nie mają Vertex Shader 2.0. Po pobraniu dema proszę zapoznać się z plikiem Readme.txt.

Przy okazji: Wygląda na to, że po chwilowej awarii mojego konta (zamiast strony było napisane, że konto jest zawieszone) strona przestała działać tak wolno jak to było od pewnego czasu i teraz działa już bardzo sprawnie.

Comments (0) | Tags: rendering productions directx | Author: Adam Sawicki | Share

19:10
Mon
05
Feb 2007

XDS - eXtensible Data Stream

Nie tylko ja podejmuję próby zastąpienia języka XML czymś lepszym, pozbawionym choć części z jego licznych wad. W moim XNL2 zrezygnowałem ze znaczników i związanego z nimi samoopisu na rzecz prostoty i zwięzłości. XNL2 w moich własnych zastosowaniach sprawdza się doskonale, ale po latach jego używania dochodzę do wniosku, że jeszcze lepiej zastąpiłby go zwykły tokenizer C/C++, być może razem z preprocesorem. Kiedyś sobie taki napiszę.

Podobnego zadania, ale od trochę innej strony, podjął się niejaki Mark T. Price. Zaprojektował on format XDS - eXtensible Data Stream, który jest binarny (tym samym szybki i zwięzły), a zarazem elastyczny. Czy użyteczny? - to zależy od zastosowania, ale warto chyba przejrzeć jego specyfikację.

Comments (0) | Tags: algorithms | Author: Adam Sawicki | Share

21:25
Fri
02
Feb 2007

Drukowanie plakatów

Jak wydrukować duży obrazek na wielu kartkach A4, żeby potem je posklejać i powiesić jako plakat na ścianie? Czy szukać jakiegoś specjalnego programu? A może ręcznie wycinać fragmenty w programie graficznym?

Nie! Okazuje się, że wystarczy do tego... Microsoft Excel. Wstawiamy obrazek do pustego dokumentu, rozciągamy go jak chcemy, drukujemy, a ten sprytny arkusza kalkulacyjny sam podzieli go na poszczególne strony.

Comments (0) | Tags: software graphics | Author: Adam Sawicki | Share

STAT NO AD [Stat] [Admin] [STAT NO AD] [pub] [Mirror] Copyright © 2004-2017 Adam Sawicki
Copyright © 2004-2017 Adam Sawicki