Konfiguracja aplikacji za pomocą plików ini

Posted on pt. 21 lipiec 2017 in C/C++ • Tagged with programming, Gamedev

Cześć. Dziś zajmiemy się konfiguracją aplikacji w C++. Temat przedstawię od strony mojego silnika 2DXngine. W przypadku C++ temat zewnętrznej konfiguracji nie jest tak oczywisty jak w przypadku C# i .NET, gdzie mamy pliki App i Web config. Taką konfiguracje w C++ możemy zapisać w plikach XML, ale jest to ...


Continue reading

SDL_mixer, czyli szybka implementacja audio

Posted on niedz. 09 lipiec 2017 in Gamedev • Tagged with Gamedev

Prawdopodobnie każdy twórca gier chce, by jego gra powodowała większą immersję, dlatego też należałoby do niej dodać oprócz grafiki takżę dźwięk oraz muzykę. Ze względu na to, że 2DXngine używa SDL2 postanowiłem iść dalej tą drogą i do odczytywania wykorzystać plugin SDL_mixer. Jest to mała wtyczka do SDL2, która pozwala ...


Continue reading

Renderowanie 2D cześć 5: Kamera

Posted on niedz. 02 lipiec 2017 in OpenGL • Tagged with Gamedev, OpenGL

Cześć. W poprzednich artykułach opisałem jak zaimplementowałem renderowanie 2D, dziś jeszcze jeden element dotyczący grafiki, czyli kamera 2D. Kamera jest elementem za pomocą, którego możemy manipulować viewport'em. Sam interfejs klasy kamery jest dość prosty:

class Camera
{
public:
    Camera(int viewportWidth, int viewportHeight);
    ~Camera();

    inline float get_rotation() const
    {
        return this ...

Continue reading

Renderowanie 2D część 4.2: Spritebatch

Posted on śr. 21 czerwiec 2017 in OpenGL • Tagged with Gamedev, OpenGL

Cześć. W poprzedniej części napisałem nieco o tym jak przebiega rysowanie a właściwie dokładanie elementów do narysowania. W tym artykule zajmiemy się dokładnie tym jak działa pipeline rysowania SpriteBatchem. Aby narysować jaką teksturę należy napisać taki oto kodzik:

this->_device->clear(Colors::black);
batch->begin(TextureWrap::REPEAT, TextureFilter::POINT_FILTER);

    batch ...

Continue reading

Renderowanie 2D część 4.1: Spritebatch

Posted on niedz. 18 czerwiec 2017 in OpenGL • Tagged with Gamedev, OpenGL

W poprzednich postach opisałem składowe potrzebne do napisania właściwego renderowania, dziś zajmiemy się właśnie Spritebatchem, który będzie służył w silniku 2DXngine do renderowania 2D. Zacznijmy jak zawsze od interfejsu klasy, którą będziemy omawiać:

enum FlipEffect
{
    NONE_FLIP,
    FLIP_HORIZONTAL,
    FLIP_VERTICAL,
};

enum SortMode
{
    NONE_SORT,
    FRONT_TO_BACK,
    BACK_TO_FRONT,
};

class SpriteBatch
{
public:
    SpriteBatch(GraphicDevice* device);
    ~SpriteBatch ...

Continue reading

Renderowanie 2d część 3: Sampler State

Posted on niedz. 11 czerwiec 2017 in OpenGL • Tagged with Gamedev, OpenGL

Sampler to dość nowa rzecz w OpenGL, dostępna od wersji 3.3. Jest to taki kontener, który pozwala na przechowywanie parametrów potrzeb renderowania tekstur. Jego ustawienia są wykorzystywane przez fragment shader. W poprzednich wersjach OpenGL ustawienia te trzeba było ustawiać w teksturze przez funkcje glTexParameteri(), ale w momencie kiedy mamy ...


Continue reading

DSP 2017: Podsumowanie

Posted on czw. 08 czerwiec 2017 in Inne • Tagged with blog, inne

Cześć, wiem, że trochę już po nie w czasie zamieszczam podsumowanie konkursu Daj Się Poznać 2017, ale ważne, że jest. Po pierwsze chciałbym podziękować wszystkim odwiedzjącym i komentującym. Mam nadzieję, że również po konkursie będziecie odwiedzać mojego bloga. Ztego miejsca zapraszam do dyskusji, ponieważ tylko tak można wymienić się wiedzą ...


Continue reading

Renderowanie 2D część 2: Shadery

Posted on sob. 20 maj 2017 in OpenGL • Tagged with DSP2017, Gamedev, OpenGL

Shadery to programy wykonywane podczas procesu renderowania OpenGL. Nie będę tu opisywał całego pipeline, ponieważ to byłby temat na cały osobny artykuł, więc wspomnę tylko, że dla renderowania 2D istotne jest wipięcie się w fazę vertex shadera i fragment shadera. Ten pierwszy opowiada za umiejscowienie naszego spritea w przestrzeni, jego ...


Continue reading

Renderowanie 2D część 1: Tekstury

Posted on śr. 17 maj 2017 in OpenGL • Tagged with DSP2017, Gamedev, OpenGL

Ostatnio udało mi się skończyć renderowanie w 2DXngine, chciałbym opisać jak działa zaimplementowane przeze mnie rozwiązanie. Zaczniemy od struktur danych, które są nam potrzebne aby działało renderowanie 2D. Jako pierwsze przyjrzymy się jak zaimplementować teksturę oraz jak ją wczytać z dysku, co nie do końca może być takie oczywiste w ...


Continue reading

Gamedev przegląd technologii

Posted on wt. 09 maj 2017 in Gamedev • Tagged with DSP2017, Gamedev

Cześć. Dziś taki post z kategorii teoretyczno-poradnikowej. Mowa tu będzie o technologiach jakie polecam do tworzenia gier i dlaczego moim zdaniem ta a nie inna jest fajna. Traktujecie te przemyślenia nie jak prawdę objawioną, ale jako moje przemyślenia z perspektywy czasu. Od razu na początku chcę powiedzieć, że nie będzie ...


Continue reading