.NET dev na detoksie, czyli Visual Studio 2017 bez Resharpera

Posted on Sat 09 September 2017 in Inne • Tagged with blog, .net, programming, c#, visualstudio, refactoring, resharper

Cześć. Dziś będzie trochę o narzędziach pracy. Jak wiadomo przynajmniej do niedawana, jako .NET developerzy mieliśmy jedno IDE, czyli Visual Studio ewentualnie jak ktoś chciał mógł używać MonoDevelop. Obecnie po ostatnim otwarciu się Microsoftu na świat Open Source pojawiało się masę edytorów wspierających C# i IntelliSense za pomocą OmniSharp. Dodatkowo …


Continue reading

Komponentowe CLI część 2. Implementacja

Posted on Sat 02 September 2017 in .NET • Tagged with blog, .net, programming, c#, .netcore, cli

Cześć. Ostatnio przedstawiłem wam zamysł mojego modułowego systemu do tworzenia tooli CLI w .NET Core. To co będę prezentował w tym poście jest to implementacja POC, więc kod momentami jest robiony na szybko. Będę pisał o tym co myślę, że można jeszcze poprawić w dalszej części artykułu. Na początku zanim …


Continue reading

Komponentowe CLI część 1. Potrzeba oraz dostępne rozwiązania

Posted on Sun 27 August 2017 in .NET • Tagged with blog, .net, programming, c#, .netcore, cli

Cześć. Ostatni post o automatycznej rejestracji komponentów w Autofac był jedynie wstępem do tego co chcę osiągnąć w narzędziach, które obecnie pisze. Co do samych narzędzi to chciałbym mieć takie oto rozwiązania:

  • Texture packer - narzędzie do pakowanie spritesheetów i animacji, które będzie rozumiał 2DXngine,
  • Project generator - generuje podstawowy projekt 2DXngine …

Continue reading

Automatyczna rejestracja zależności w Autofac na .NETCore

Posted on Sun 20 August 2017 in .NET • Tagged with blog, .net, programming, c#

Cześć. Dawno mnie nie było, ale ostatnio w większym stopniu skupiłem się na 2DXngine, więc czasu na pisanie postów automatycznie jest mniej. Ze względu na to, że obecnie implementuję narzędzia potrzebne do pracy z silnikiem (repo jest TU) chciałem nieco napisać o mechanizmach, które tam tworzę. Po pierwsze całość będzie …


Continue reading

Renderowanie 2D cześć 6: Tekst True Type Font

Posted on Sun 06 August 2017 in OpenGL • Tagged with Gamedev, OpenGL

Renderowanie tekstu jest nieco bardziej skomplikowane od wyświetlania prostych obrazków. Wyświetlanie tekstu możemy zrealizować na dwa sposoby:

  • renderowanie SpriteFontów,
  • renderowanie True Type Font.

Pierwszy sposób polega na wygenerowaniu sobie z pliku czcionki tekstury oraz pliku opisującego układ znaków na teksturze. Potem podczas renderowania wycinamy za pomocą tych danych odpowiednie obszary …


Continue reading

Konfiguracja aplikacji za pomocą plików ini

Posted on Fri 21 July 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 Sun 09 July 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 Sun 02 July 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->_rotation …

Continue reading

Renderowanie 2D część 4.2: Spritebatch

Posted on Wed 21 June 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 Sun 18 June 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