February 2007

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

# IGK 2007 - Agenda

Wed
28
Feb 2007

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 | #events #warsztat #igk Share

# Precompiled Headers w Visual C++

Sun
25
Feb 2007

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 | #teaching #visual studio #c++ Share

# nVidia RULEZ

Sat
24
Feb 2007

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 | #rendering #literature Share

# Enkapsulacja

Sat
24
Feb 2007

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 | #philosophy #software engineering #math Share

# LINE2D

Sun
18
Feb 2007

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 | #productions #libraries #math Share

# Notka na 14 lutego

Wed
14
Feb 2007

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 | #rendering #gallery Share

# Terragen

Sat
10
Feb 2007

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 | #graphics #tools #software Share

# Fixed Pipeline Lighting Demo

Wed
07
Feb 2007

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 | #rendering #productions #directx Share

# XDS - eXtensible Data Stream

Mon
05
Feb 2007

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 | #algorithms Share

# Drukowanie plakatów

Fri
02
Feb 2007

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 | #software #graphics Share

[Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2024