Tag: libraries

Entries for tag "libraries", ordered from most recent. Entry count: 27.

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

Pages: > 1 2 3 4 >

18:43
Mon
10
Nov 2008

CommonLib 8.1

Moja najważniejsza chyba amatorska produkcja - biblioteka CommonLib - doczekała się następnej wersji. W skończonej dzisiaj wersji 8.1 największymi zmianami jest dodanie wielu funkcji bitowo-matematycznych (głównie na podstawie artykułu Bit Twiddling Hacks) i funkcji geometrycznych do kolizji różnego rodzaju brył (głównie na podstawie książki Real-Time Collision Detection). Oto lista nowości.

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

17:00
Mon
19
May 2008

Nowy artykuł - Biblioteka FastDelegate

Jak wiadomo (zwłaszcza tym, którzy pisali swój system GUI), w języku C++ brakuje mechanizmu wskaźników na metody (a dokładnie - wskaźników na konkretną metodę o zgodnym nagłówku konkretnego obiektu dowolnej klasy), który bywa nazywany delegatami, zdarzeniami, sygnałami i slotami itp. i występuje np. w Delphi czy C#.

Ten brak próbują uzupełnić różne biblioteki - np. sigslot, Boost.Signals oraz moja ulubiona - FastDelegate. Ta ostatnia jest opisana i udostępniona za darmo na portalu CodeProject, ale z tym źródłem wiąże się kilka problemów. Po pierwsze, żeby ściągnąć plik, trzeba się zarejestrować w tym portalu. Po drugie, artykuł jest bardzo długi, jest w języku angielskim, a opis używania biblioteki miesza się w nim ze szczegółami implementacyjnymi. Dlatego postanowiłem napisać swój artykuł na temat tej biblioteki - wrzuciłem go na gamedev.pl jako Biblioteka FastDelegate.

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

18:47
Sat
29
Mar 2008

CommonLib 8.0 !!!

Moja jedna z największych, a na pewno najbardziej użyteczna z produkcji - ogólnoprogramistyczna biblioteka do C++ - doczekała się zupełnie nowej wersji: CommonLib 8.0. Najważniejsze nowości, to:

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

21:26
Mon
21
Jan 2008

Biblioteka do dźwięku inna niż FMOD

Przez kilka dni moja strona nie działała, ale już działa. Najprawdopodobniej padł serwer baz danych. Został naprawiony bez mojej interwencji. Stać za tym mogły zmiany w związku z tym, że moja firma hostingowa - dawniej i365.pl - to teraz domenomania.pl.

Myślałem ostatnio o bibliotekach dźwiękowych. Wiadomo, że najwypaśniejszy jest FMOD, ale znajomość tylko jego to nienajlepsza inwestycja na przyszłość, bo ta biblioteka, podobnie jak BASS, jest darmowa tylko do zastosowań niekomercyjnych. Inne dość oczywiste rozwiązanie to DirectSound, ale on niestety jest tak niskopoziomowy, że trzeba mu ręcznie wypełniać bufory z próbkami i nie ma mowy o wbudowanej obsłudze nawet plików WAV, a co dopiero MP3 czy OGG. O ile dobrze wiem, w OpenAL jest podobnie.

W tym kontekście ciekawym znaleziskiem jest Audiere. To biblioteka darmowa i wolna (licencja GNU LGPL), przenośna na Linuksa i całkiem funkcjonalna, a przy tym bardzo prosta w użyciu. Posiada interfejs obiektowy w C++. Obsługuje m.in. formaty WAV i OGG (co więcej potrzeba w programowaniu gier? :) Niestety coś za coś - nie posiada funkcji do dźwięku 3D itd.

Przy okazji uświadomiłem sobie, jak ważna jest dla biblioteki dobra dokumentacja. Wzorem w tej dziedzinie może być Microsoftowy MSDN Library albo Sunowa dokumentacja Javy. Po drugiej stronie leży całkowity brak dokumentacji i konieczność studiowania plików nagłówkowych z kodem. Dokumentacja generowana przez Doxygen jest zwykle gdzieś pośrodku. Pomyślałem sobie, że może kiedyś napiszę porządną dokumentację do mojego CommonLib - szczegółowy opis każdej funkcji za pomocą Doxygen plus podręcznik/tutorial.

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

18:54
Sat
03
Nov 2007

CommonLib 7.0

Od mniej więcej pół roku pisałem swój silnik od nowa. Bibliotekę modułów bazowych, której obecną postać piszę od 1.5 roku, przez cały ten czas rozwijałem. Dlatego teraz pora opublikować zmiany jako CommonLib 7.0.

Przypominam, że jest to mój pakiet źródeł C++ na licencji GNU LGPL, działających na Windows i Linux, który zawiera kilka modułów przydatnych w programowaniu tak ogólnie, jak i przede wszystkim gier. Pośród nich warto szczególnie zwrócić uwagę na funkcje matematyczne, bo to w nich najwięcej dopisałem i zmieniłem w nowej wersji.

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

10:03
Tue
28
Aug 2007

Zlib i jego interfejs

Zlib to biblioteka do kompresji danych. Zdawało by się, że jest prosta - jej zasadniczą funkcjonaloność, czyli kompresję albo dekompresję kawałka pamięci wykonuje się używając jednej prostej funkcji. Okazuje się jednak, że poprawne używanie tej funkcji jest nie lada sztuką, a jej objaśnienie wypełnia całkiem niekrótki artykuł (ze względu na różne przypadki szczególne i tak nie do końca). Choć taki a nie inny wygląd tej funkcji ma swoje uzasadnienie w sposobie, w jaki działa, to wg mnie możnaby go podawać jako książkowy przykład jak *nie* należy projektować interfejsu biblioteki.

Jeśli ktoś, zamiast usiłować zrozumieć zasadę działania funkcji inflate i deflate, chce zobaczyć jak obudować te funkcje w wygodne klasy strumieni, może podpatrzeć kod modułu ZlibUtils z mojej biblioteki CommonLib 6.1. Szczegóły:

Comments (0) | Tags: c++ libraries | Author: Adam Sawicki | Share

18:55
Mon
23
Jul 2007

Biblioteki - gotowe czy własne?

Wyczytałem wczoraj przy okazji w jednym z artykułów na GameDev.net, że potencjalnemu pracodawcy bardziej spodoba się, kiedy zobaczy, że programista w swojej amatorskiej produkcji skorzystał z gotowych bibliotek (co jakoby dowodzi jego umiejętności używania cudzego kodu i skupiania się na swoim celu), niż gdyby pisał wszystko samemu (co pokazuje jego umiejętności programistyczne). Ciekawa teoria. Brzmi całkiem logicznie.

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

21:34
Thu
12
Jul 2007

XNL2 do kosza

Wymyśliłem kiedyś język opisu XNL2 i wiem, że kilku osobom nawet się spodobał. Teraz doszedłem do wniosku, że był oparty na błędnych założeniach i w związku z tym ogłaszam koniec "dorabiania ideologii do tokenizera", jak to jeden mój kolega kiedyś trafnie skwitował.

Zachęcam, by zamiast używać XNL2 czy innych takich wynalazków albo pisać coś w tym rodzaju samemu, skorzystać z modułu Tokenizer z mojej biblioteki CommonLib 6.1 (zobacz też online nagłówek i dokumentację). Jest dużo lepiej przemyślany, prostszy w użyciu, a co najważniejsze - parsuje język przypominający tokeny C/C++, a więc z takimi komentarzami i łańcuchami znaków, do jakich jesteśmy przyzwyczajeni. Taki tokenizer może być dobrą bazą do szybkiego zaprojektowania i zaimplementowania własnego języka opisu.

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

Pages: > 1 2 3 4 >

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