Tag: libraries

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

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

Pages: > 1 ... 3 4 5 6 >

# Nowy artykuł - Biblioteka FastDelegate

Mon
19
May 2008

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

# CommonLib 8.0 !!!

Sat
29
Mar 2008

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

# Biblioteka do dźwięku inna niż FMOD

Mon
21
Jan 2008

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 | #sound #libraries Share

# CommonLib 7.0

Sat
03
Nov 2007

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

# Zlib i jego interfejs

Tue
28
Aug 2007

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 | #c++ #libraries Share

# Biblioteki - gotowe czy własne?

Mon
23
Jul 2007

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

# XNL2 do kosza

Thu
12
Jul 2007

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

# CommonLib 6.1

Fri
29
Jun 2007

Panie i panowie, tak oto mam zaszczyt zaprezentować dzieło moich ostatnich tygodni (a powstające w sumie już okrągły rok) i tym samym udostępnić wszystkim na licencji GNU LGPL 24 KLOC lub jak kto woli 716 kB mojego kodu w C++. Jest to przenośna (Windows, Linux) biblioteka pełna różnych rzeczy przydatnych w programowaniu gier i nie tylko, a na chwilę dzisiejszą moja największa i najważniejsza produkcja. Zapraszam do zapoznania się: CommonLib 6.1.

Comments | #productions #libraries Share

Pages: > 1 ... 3 4 5 6 >

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