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

Alex Aksenov

Запропонуйте Alex роботу над вашим наступним проєктом або зареєструйте профіль фрилансера і починайте заробляти просто зараз.

Франція Paris, Франція
7 днів 20 годин тому
Вільний для роботи вільний для роботи
на сервісі 7 днів 20 годин

Рейтинг

Успішних проєктів
Немає даний
Середня оцінка
Немає даний
Рейтинг
91
C та C++
Python

Навички та вміння

Портфоліо


  • Інфраструктура ігрового движка, інструменти D3D12 та системи симуляції

    C#
    Вибрані вихідні модулі з прототипу інфраструктури ігрового движка на C#.

    Ця робота демонструє архітектуру на рівні движка, детермінований потік оновлень, інструменти, пов'язані з рендерингом, діагностику, абстракції мережі та математичний код, що використовується в розробці ігор/виконанні.

    #CSharp #GameEngine #D3D12 #DirectX12 #Simulation #Networking #Tools #Architecture

    Включені області:

    — Цикл симуляції з фіксованим кроком з таймингом на основі тика та розділенням кадрів/оновлень;
    — Інфраструктура стеку екранів та послідовності завантаження для управління екранами виконання та переходами;
    — Утиліти для обробки результатів/помилок для явної обробки помилок та діагностики;
    — Математичні примітиви AABB та фрустума для просторової логіки та систем, пов'язаних з видимістю;
    — Інструменти, орієнтовані на D3D12, включаючи допоміжні засоби компіляції шейдерів та інтеграцію повідомлень для налагодження;
    — Перерахування адаптерів DXGI з логікою вибору GPU на основі пріоритету;
    — Інтерфейси основи мережі та реалізація зворотного транспорту;
    — Юніт-тести для зворотного транспорту та локальної мережевої поведінки.

    Код зосереджений на чистому розділенні між системами, передбачуваній поведінці під час виконання, тестованих абстракціях, явному управлінні життєвим циклом ресурсів та підтримуваній архітектурі движка.

    Це не представлено як завершений комерційний движок, а як колекція практичних модулів інфраструктури движка та компонентів інструментів, розроблених для більшої кастомної кодової бази гри/виконання.

    Ця робота має відношення до завдань, що стосуються C#, .NET, архітектури ігрового движка, циклів симуляції, інструментів DirectX 12, утиліт налагодження, систем виконання, прототипів мережі та огляду архітектури кодової бази.
  • 61 992 UAH

    vhidkm — Віртуальний HID драйвер стеку ядра Windows

    C та C++
    vhidkm — це стек віртуального HID-драйвера в режимі ядра Windows, написаний на C/KMDF. Проект реалізує віртуальний USB HID пристрій, який надає введення з клавіатури та миші через стандартний стек HID Windows, замість того, щоб покладатися на API симуляції введення в режимі користувача.

    Архітектура розділена на два KMDF драйвера:

    — vusbbus.sys: драйвер віртуальної USB-шини, що підключається до кореня, який створює сумісний з USB дочірній PDO за запитом;
    — vhidkm.sys: драйвер функцій HID, який прив'язується до віртуального PDO, надає дескриптори HID, обробляє IOCTL HID класу та передає звіти з клавіатури/мишки в hidclass.sys.

    Стек включає версійний протокол IOCTL METHOD_BUFFERED, окремі інтерфейси керування для драйвера шини та драйвера функцій HID, контроль доступу лише для адміністраторів через SDDL, структуровану валідацію запитів, стан на кожну ручку, ін'єкцію звітів HID, зворотний зв'язок про стан LED, обробку скидання та логіку очищення для звільнення натиснуті клавіші/кнопки, коли клієнт виходить несподівано.

    Основні функції:

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

    — Віртуальна клавіатура та миша, представлені через стек HID Windows;
    — Ін'єкція сирих звітів з клавіатури та миші;
    — Допоміжні функції для клавіатури для модифікаторів, використання HID та введення у стилі натискання клавіш;
    — Введення з миші відносно та абсолютно;
    — Переміщення миші в піксельних координатах з використанням метрик екрана на кожну ручку;
    — Зворотний зв'язок LED для NumLock, CapsLock, ScrollLock, Compose та Kana;
    — Операція очікування, що може бути скасована, для змін стану LED;
    — Автоматичне скидання всіх клавіш та миші при очищенні клієнта;
    — Підтримка кількох ручок з ізольованим контекстом для кожного файлу;
    — C SDK та обгортка Python ctypes;
    — Документація з установки та налагодження;
    — WPP трасування, нотатки з налагодження, орієнтовані на WinDbg, та структура проекту, орієнтована на Driver Verifier/PREfast/SDV.

    Проект містить SDK для режиму користувача, демонстраційний код, спільні заголовки протоколів, INF-файли, скрипти установки та детальну документацію, що охоплює архітектуру, вимоги до збірки, використання, установку та робочий процес налагодження.

    Заплановані випадки використання включають автоматизацію введення, інструменти доступності, тестування введення на рівні драйвера, програмне забезпечення в стилі KVM, інструменти дистанційного керування та тестування додатків, які потребують введення через нормальний HID-потік операційної системи.

    Реалізація зосереджена на чистих межах ядра/користувача, явному версіонуванні ABI, захисній валідації, передбачуваній поведінці очищення та підтримуваній роздільності між драйвером шини, драйвером функцій HID, загальними визначеннями протоколів та SDK для режиму користувача.