SVN

27.03.2009 @ 10:47:04 by Rafał Kozik | programowanie narzędzia

Ludzie mają wiele powodów, dla których nie używają systemów kontroli wersji. Najpopularniejsze z nich to chyba 'bo pracuję sam' i 'nie potrzeba mi tego' -- nie mam zamiaru tłumaczyć dlaczego te osoby są w błędzie ;) Ja osobiście miałem trochę inny powód -- nie chciało mi się z tym bawić.

Jestem jedną z tych osób, które nie do końca ufają serwisom zapewniającym hosting repozytoriów svn, ponieważ nie są one w żaden sposób szyfrowane. Dlatego jedynym rozwiązaniem, które mnie satysfakcjonuje, jest trzymanie repozytorium na prywatnym komputerze.


Aktualizacja freedoku

19.03.2009 @ 00:15:27 by Rafał Kozik | gamedev freedoku

Jest to pierwszy z wpisów o freedoku na moim blogu. Z czasem pojawi się tu ich więcej i choć głównie będą informować o aktualizacjach, pojawią się też takie, które będą opisywać rzeczy dziejące się pod maską.

  • można grać po popełnieniu 3 błędów, jednak licznik czasu staje się czerwony i nie pokazuje się okienko z gratulacjami
  • można klikać na paskach z ilością poszczególnych cyfr, żeby je podświetlić na planszy
  • w końcu zrobiłem sitemapę, co powinno z czasem przełożyć się na zwiększenie odwiedzalności
  • dodałem link do tego bloga (do taga freedoku)

Jeżeli ktoś znajdzie jakieś błędy, to proszę o napisanie w komentarzu lub na e-mail. Miłego grania.


TeX na stronach internetowych

16.03.2009 @ 23:21:27 by Rafał Kozik | webdev strona

Czasami pojawia się potrzeba wyświetlenia jakichś bardziej skomplikowanych wzorów na stronie internetowej i jak dla większości informatyków, najbardziej naturalnym rozwiązaniem wydaje się TeX.

mimetex jest aplikacją cgi, która pozwala na generowanie obrazków ze skomplikowanymi wzorami matematycznymi i nie tylko. Integracja jest bardzo prosta i na pewno kiedyś się przyda ;) Przykład działania:


f(x)=\int_{-\infty}^xe^{-t^2}dt

Bitmapa o bezpośrednim dostępie do pikseli w C#

05.03.2009 @ 16:15:30 by Rafał Kozik | C# grafika

Kiedy w C# chcemy zmodyfikować zawartość bitmapy, możemy zrobić to na kilka sposobów. Pierwszym jest użycie metod GetPixel i SetPixel. Niestety ich wydajność pozostawia wiele do życzenia.

W większości tutoriali opisujących przetwarzanie bitmap, używa się metody Lock, aby dostać się do danych pikseli. Niestety metoda ta narzuca użycie unsafe w naszym kodzie, a poza tym brzydko wygląda.

Okazuje się, że jest jeszcze trzecia metoda, która jest rzadko opisywana -- stworzyć bitmapę na wcześniej przydzielonym obszarze pamięci. Dzięki temu mamy od razu dostęp do jej danych, bez potrzeby wcześniejszego jej blokowania. Taką bitmapę można używać normalnie do rysowania, można też utworzyć powiązany z nią Graphics, żeby po niej rysować. Ważne jest, żebyśmy zablokowali pamięć, której będzie używała taka bitmapa, żeby Garbage Collector jej nie przemieścił.

W dalszej części znajduje się przykładowy kod, który robi prostą animację na takiej bitmapie o bezpośrednim dostępie.


Obrazek

Deferred shading

02.03.2009 @ 08:51:06 by Rafał Kozik | grafika gamedev

Deferred shading jest coraz popularniejszą techniką oświetlenia. Idea jest bardzo prosta i wydaje się łatwa w implementacji. Szukając informacji na jej temat zebrałem odnośniki do kilku artykułów i postanowiłem się nimi podzielić:


2008: Starcraft II: Effects & Techniques Dominic Filion & Rob McNaughton
2008: Deferred Rendering in Leadwerks Engine Josh Klint
2008: Deferred Shading jako wydajna technika oswietlenia. Wojciech Toman, IGK'2008
2007: Deferred shading in Tabula Rasa Rusty Koonce, GPU Gems 3
2007: Deferred Rendering in Killzone 2 Michal Valient
2005: Deferred shading tutorial. Pontifical Catholic University of Rio de Janeiro
2005: Deferred Shading in S.T.A.L.K.E.R. Oles Shishkovtsov, GPU Gems 2
2004: Deferred Shading Shawn Hargreaves (CLIMAX) & Mark Harris (NVIDIA)

Jak widać jest tego sporo i możemy zobaczyć jak to robią inni zanim zabierzemy się do implementacji.


Moderacja to nie taka prosta sprawa

02.03.2009 @ 00:56:26 by Rafał Kozik | warsztat

Tym razem bardziej ogólny wpis. Jak pewnie większość osób tu zaglądających wie, jestem moderatorem na forum gamedev.pl. Zajęcie to nie jest tak proste jak mogłoby się na pierwszy rzut oka wydawać.