TeX na stronach internetowychCzasami 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:
Bitmapa o bezpośrednim dostępie do pikseli w C#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.

Deferred shadingDeferred 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ć:
Jak widać jest tego sporo i możemy zobaczyć jak to robią inni zanim zabierzemy się do implementacji.
Moderacja to nie taka prosta sprawaTym 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ć.
Uzupełnienie zawartościDzisiaj tylko wpis informacyjny -- uzupełniłem informację o sobie i o projektach. Jutro powinien pojawić się już jakiś normalny wpis.
Internet Explorer, png i gammaKiedyś podczas testowania strony w IE okazało się, że pojawił się bardzo dziwny błąd -- obrazy zapisane w plikach png i plikach jpg miały inne odcienie.
Layout został pocięty na mniejsze części i w zależności od zawartości zapisywałem je w odpowiednim formacie (większość grafik przygotowuję w Paint.net). Niestety okazało się, że rezultaty są dziwne:

Bardzo prymitywnym rozwiązaniem było przerobienie wszystkiego na tylko jeden format, ale przez pewien czas się sprawdziło. Przyszedł jednak taki moment, że potrzebowałem nałożyć obraz z przezroczystym tłem (png) na główne tło (jpg) i trzeba było rozwiązać problem.
Jak się okazało, problemem jest chunk gAMA, który jest zapisywany przez Paint.net w plikach png. W GIMP-ie możemy po prostu go nie zapisać i wszystko będzie poprawnie. Nie wiem jednak jak jest w przypadku pozostałych programów graficznych. Chunk ten jest też dodawany gdy zapisujemy obraz w .NET metodą Bitmap.Save, której prawdopodobnie Paint.net używa.
Jeśli mamy już "felerne" pliki, to rozwiązanie jest bardzo proste -- wystarczy pobrać program TweakPNG, a w nim z plików png usunąć chunka gAMA. Zawsze można też otworzyć plik w GIMPie i zapisać bez niego ;)
Avatary zawsze i wszędzieKażdy z nas ma pewnie masę pomysłów, które leżą gdzieś w szufladzie i czekają na realizację. Jednym z takich moich pomysłów było stworzenie serwisu, w którym można składować avatary, żeby nie trzeba było ich ręcznie zmieniać na każdej stronie z osobna. Z nadzieją na realizację miałem nawet już wykupioną domenę przez rok.
Ostatnio dosiwedziałem się, że coś takiego już istnieje i cieszy się dość dużą popularnością. gravatar, bo o nim mowa, to serwis, który działa podobnie do mojego pomysłu, a nawet lepiej.
Avatary są udostępniane na podstawie md5 adresu e-mail, więc można je bezboleśnie zintegrować z każdą stroną, nawet taką, która nie wymaga rejestracji. Szczegóły integracji są opisane tutaj. Obsługa gravatara jest nawet standardowo dostępna w WordPress. Niestety z tego co zauważyłem Opera i IE nie zawsze sobie radzą z załadowaniem domyślnego obrazu w przypadku braku gravatara, mam nadzieję, że uda mi się to jakoś przy okazji rozwiązać.
Gdyby ktoś pytał -- tak, avatar, który pokazuje się przy komentarzach na tej stronie to właśnie gravatar.
Nowa wersja stronyFerie to taki magiczny czas, kiedy można sobie pozwolić na zrobienie części rzeczy, które były odkładane od długiego czasu. Taką rzeczą była właśnie modernizacja skryptu tej strony. Było trochę roboty (momentami było wstyd patrzeć na stary kod), ale w końcu się udało i jestem posiadaczem całkiem funkcjonalnego bloga, a właściwie devloga.
Stare wpisy zostały usunięte, został tylko jeden z linkami do moich artykułów. Mam nadzieję, że zmobilizuje mnie to do pracy i będzie można czasami przeczytać tu coś ciekawego.
Artykuły