Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak

Alex Aksenov

Zaproponuj Alex pracę nad swoim kolejnym zleceniem.

Francja Paryż, Francja
8 dni temu
Gotowy do podjęcia pracy gotowy do podjęcia pracy
w Serwisie 8 dni 1 godzina

Ranking

Zakończonych zleceń
Brak danych
Średnia ocena
Brak danych
Ranking
91
C i C++
Python 8

Umiejętności i kwalifikacje

Portfolio


  • Infrastruktura silnika gry, narzędzia D3D12 i systemy symulacji

    C#
    Wybrane moduły źródłowe z prototypu infrastruktury niestandardowego silnika gier w C#.

    Ta praca demonstruje architekturę na poziomie silnika, deterministyczny przepływ aktualizacji, narzędzia związane z renderowaniem, diagnostykę, abstrakcje sieciowe oraz kod podstawowy matematyczny używany w rozwoju gier/uruchamiania.

    #CSharp #GameEngine #D3D12 #DirectX12 #Symulacja #Sieci #Narzędzia #Architektura

    Zawarte obszary:

    — Pętla symulacji z ustaloną liczbą kroków z czasowaniem opartym na tickach i oddzieleniem klatek/aktualizacji;
    — Stos ekranów i infrastruktura sekwencji uruchamiania do zarządzania ekranami uruchamiania i przejściami;
    — Narzędzia podstawowe dla wyników/błędów do jawnego obsługiwania błędów i diagnostyki;
    — Prymitywy matematyczne AABB i frustum dla logiki przestrzennej i systemów związanych z widocznością;
    — Narzędzia ukierunkowane na D3D12, w tym pomocnicy kompilacji shaderów i integracja komunikatów debugowania;
    — Enumeracja adapterów DXGI z logiką wyboru GPU opartą na priorytetach;
    — Interfejsy podstawowe sieci oraz implementacja transportu loopback;
    — Testy jednostkowe dla transportu loopback i lokalnego zachowania sieciowego.

    Kod koncentruje się na czystym oddzieleniu systemów, przewidywalnym zachowaniu w czasie uruchamiania, testowalnych abstrakcjach, jawnym zarządzaniu czasem życia zasobów oraz utrzymywalnej architekturze silnika.

    Nie jest to przedstawione jako ukończony komercyjny silnik, ale jako zbiór praktycznych modułów infrastruktury silnika i komponentów narzędziowych opracowanych dla większej niestandardowej bazy kodu gier/uruchamiania.

    Praca jest istotna dla zadań związanych z C#, .NET, architekturą silnika gier, pętlami symulacyjnymi, narzędziami DirectX 12, narzędziami debugowania, systemami uruchamiania, prototypami sieciowymi oraz przeglądem architektury bazy kodu.
  • 5079 PLN

    vhidkm — Wirtualny sterownik HID jądra systemu Windows

    C i C++
    vhidkm to stos wirtualnych sterowników HID w trybie jądra Windows, napisany w C/KMDF. Projekt implementuje wirtualne urządzenie USB HID, które udostępnia wejście z klawiatury i myszy przez standardowy stos HID Windows, zamiast polegać na interfejsach API symulacji wejścia w trybie użytkownika.

    Architektura jest podzielona na dwa sterowniki KMDF:

    — vusbbus.sys: sterownik wirtualnego magistrali USB, który tworzy zgodne z USB dziecko PDO na żądanie;
    — vhidkm.sys: sterownik funkcji HID, który wiąże się z wirtualnym PDO, dostarcza opisy HID, obsługuje IOCTL klasy HID i przesyła raporty z klawiatury/myszy do hidclass.sys.

    Stos zawiera wersjonowany protokół IOCTL METHOD_BUFFERED, oddzielne interfejsy urządzeń kontrolnych dla magistrali i sterownika funkcji HID, kontrolę dostępu tylko dla administratorów przez SDDL, walidację strukturalnych żądań, stan per-handle, wstrzykiwanie raportów HID, informację zwrotną o stanie LED, obsługę resetowania oraz logikę czyszczenia do zwalniania naciśniętych klawiszy/przycisków, gdy klient niespodziewanie kończy działanie.

    Główne cechy:

    #WindowsKernel #KMDF #HID #C #DriverDevelopment #WindowsDrivers

    — Wirtualna klawiatura i mysz udostępnione przez stos HID Windows;
    — Wstrzykiwanie surowych raportów z klawiatury i myszy;
    — Pomocnicy klawiatury dla modyfikatorów, użyć HID i wejścia w stylu naciśnięcia klawisza;
    — Wprowadzenie względne i absolutne z myszy;
    — Ruch myszy w pikselach przy użyciu metryk ekranu per-handle;
    — Informacja zwrotna LED dla NumLock, CapsLock, ScrollLock, Compose i Kana;
    — Operacja oczekiwania, którą można anulować, dla zmian stanu LED;
    — Automatyczne resetowanie wszystkich klawiszy i myszy przy czyszczeniu klienta;
    — Obsługa wielu uchwytów z izolowanym kontekstem per-pliku;
    — C SDK i opakowanie ctypes Pythona;
    — Dokumentacja instalacyjna i debugowania;
    — Śledzenie WPP, notatki debugowania zorientowane na WinDbg oraz struktura projektu zorientowana na Driver Verifier/PREfast/SDV.

    Projekt zawiera SDK w trybie użytkownika, kod demonstracyjny, wspólne nagłówki protokołów, pliki INF, skrypty instalacyjne oraz szczegółową dokumentację obejmującą architekturę, wymagania dotyczące budowy, użytkowanie, instalację i przepływ pracy debugowania.

    Przewidywane przypadki użycia obejmują automatyzację wejścia, narzędzia dostępności, testowanie wejścia na poziomie sterownika, oprogramowanie w stylu KVM, narzędzia do zdalnego sterowania oraz aplikacje testowe, które wymagają dostarczania wejścia przez normalny potok HID systemu operacyjnego.

    Implementacja koncentruje się na czystych granicach jądra/użytkownika, wyraźnym wersjonowaniu ABI, defensywnej walidacji, przewidywalnym zachowaniu czyszczenia oraz utrzymywanym rozdziale między sterownikiem magistrali, sterownikiem funkcji HID, wspólnymi definicjami protokołów i SDK w trybie użytkownika.