[XNA] Kamera FPP Bardzo ważnym elementem gry jest kamera. Można ją sobie rzeczywiście wyobrazić jako kamerę przekazującą obraz z konkretnego miejsca sceny, pod odpowiednim kątem i wysyłającą obraz na ekran. Pod spodem siedzi jednak kilka macierzy. Każdy wierzchołek jest przez te macierze mnożony, a finalnym wynikiem jest pozycja (ważne, dwuwymiarowa) na ekranie. Dziś krótko o podstawowej kamerze typu First Person Perspective. Oparta jest na pozycji oraz dwóch kątach, można spokojnie skojarzyć to sobie ze...
Strona głównaUżytkownik
pczatrowski | użytkownik
Własna funkcja w Excelu Kolejna, po wpisie o eksporcie danych, notka o Excelu. Zauważyłem, że ostatnio sporo czasu traciłem na eksporcie danych z Excela do ustalonego z góry formatu tekstowego (wartości z poszczególnych kolumn rozdzielone backslash’em). Gdy kolumn było mało (2-3) wpisanie formuły: =A2&"\"&B2 zajmowało chwilę, gorzej gdy ilość kolumn zaczęła przekraczać 30.. Po krótkiej chwili googlania i nieco dłuższej własnych eksperymentów wydumałem taką funkcję (ostrzeżenie dla czytelników z...
Osadzanie XNA 4.0 w Windows Forms XNA 4.0 jest bardzo przyjemnym frameworkiem do programowania gier: ma bogatą bibliotekę matematyczną, kilka predefiniowanych efektów (shaderów), dzięki którym można po krótkiej chwili zobaczyć efekt swojej pracy na ekranie. Brakuje jej natomiast bardzo według mnie istotnego elementu, jakim jest biblioteka do obsługi graficznego interfejsu użytkownika (Graphica User Interface, dalej będę posługiwał się skrótem GUI). Z drugiej strony, pisząc już kilka lat aplikacje pod .NE...
Short Tip #10: modyfikacja domyślnych szablonów plików VS2008 Każdy programista to leń, już kiedyś o tym pisałem Kiedy dodajemy do projektu nową klasę/interfejs/ogólnie plik z kodem* zawiera on określone z góry rzeczy (nazwa klasy, domyślną sekcję using itp.) Można zmodyfikować istniejący szablon plików, aby wygenerowany kod był od razu bardziej dostosowany do naszych potrzeb. W moim przypadku jest to wydzielenie regionów na pola, właściwości i metody (z podregionami publiczne/prywatne) oraz wygenerowani...
Generyczna klasa zbioru W projekcie, nad którym pracuję potrzebowałem przyzwoicie działającej klasy reprezentującej zbiór. Zbiór nie do końca w sensie teoriomnogościowym (o właściwościach takiego można przeczytać np. tu), posiadający jedną bardzo ważną cechę: przechowywanie unikalnych elementów. Istniejące implementacje (Hashtable oraz HashSet) nie spełniały moich oczekiwań – elementów do wstawiania było na tyle dużo, że występowały kolizje z obliczonej przez GetHashCode() wartości. Ponieważ rozwiązanie...
Architektura 5256 dni, 23 godziny, 37 minut temu 75 źrodło rozwiń
Skala szarości i sepia Na początku miałem zamiar zrobić z tego tematu krótki tekst, który w sam raz nadawałby się na Short Tip. Jednak testowy projekt rozrósł się na tyle (a przy okazji doszedłem do paru ciekawych wniosków), że grzechem byłoby niepoświęcenie temu “śledztwu” kilku minut i słów więcej. Chodzi o banalny na pozór temat: przetwarzanie obrazów i dwa bodajże najbardziej popularne filtry: skalę szarości oraz sepię. Przy okazji pisania projektu w CUDA chciałem obejrzeć te efekty, zaimplementowałe...
ILMerge – dołączanie zewnętrznych bibliotek Rzadko kiedy przy dużych przedsięwzięciach zdarza się trzymanie całego kodu w jednym projekcie (używam tu nomenklatury Visual Studio: solution/project). Duże części kodu używanego w wielu miejscach mogą zostać wydzielone do odrębnych assemblies (tłumaczenie tego słowa jako “zgromadzenie” nie jest zbyt fortunne, dlatego nie będę się bawił w słowotwórstwo i pozostanę przy angielskiej nazwie). Również typowa aplikacja .NET składa się z assembly wykonywalnej (zawi...