SimpleCoding
SimpleCoding
  • Видео 129
  • Просмотров 655 877
3D Game Engine | 40 | OpenGL debug
Подключаем callback для обработки ошибок OpenGL (от версии 4.3)
Устаревшая функция glGetError:
registry.khronos.org/OpenGL-Refpages/gl4/html/glGetError.xhtml
Функция для подключения callback glDebugMessageCallback:
registry.khronos.org/OpenGL-Refpages/gl4/html/glDebugMessageCallback.xhtml
Возможные значения параметров:
www.khronos.org/opengl/wiki/Debug_Output
Управление фильтрами выдачи ошибок glDebugMessageControl:
registry.khronos.org/OpenGL-Refpages/gl4/html/glDebugMessageControl.xhtml
----------------------------------------------------------------------------------------------------------
Коммит:
github.com/simple-coding-channel/SimpleEngine/commit/17a788ed22fa65bcb81b3694950f1a24291c8fe3
------...
Просмотров: 3 562

Видео

3D Game Engine | 39 | Separate attribute format, VAO, VBO
Просмотров 2,1 тыс.Год назад
Рассмотрим как разделить задание формата атрибутов в VAO от биндинга VBO (только для версий OpenGL от 4.3) Коммит: github.com/simple-coding-channel/SimpleEngine/commit/f1423698fd157b528dfac0fc2f56c305435535df GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al...
C++ с нуля | 17 | struct
Просмотров 1,5 тыс.Год назад
Рассмотрим как задавать свою собственную структуру struct, доступ к внутренним переменным, как разыменовать указатель и особенности выравнивания данных в структурах Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Поддержка канала: www.donationalerts.com/r/matrix_x fantalks.io/r/matrix_x www.patreon.com/user?u=74455138
3D Game Engine | 38 | Матрица нормали
Просмотров 1,5 тыс.Год назад
Разберем как строится матрица нормали, переместим расчет освещения в систему координат камеры и сделаем кое-какие оптимизации Коммит: github.com/simple-coding-channel/SimpleEngine/commit/d67647483794e4f4904ac2f42b5f3cb8e740e58f GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagra...
3D Game Engine | 37 | Освещение, модель затенения Фонга
Просмотров 1,9 тыс.Год назад
Создадим источник света и реализуем модель затенения по Фонгу Коммит: github.com/simple-coding-channel/SimpleEngine/commit/f6412921c2163b70c6e8e2a50ed00459308fe953 GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al.exander7683 Поддержка канала: www.donationa...
3D Game Engine | 36 | ImGui, Resize, Field Of View
Просмотров 1,3 тыс.Год назад
Дорабатываем GUI, добавляем новые настройки камеры и исправляем баг с вьюпортом Коммит: github.com/simple-coding-channel/SimpleEngine/commit/40222a917dd8263124586b56c337d4432bd22b09 GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al.exander7683 Поддержка кан...
C++ с нуля | 16 | enum
Просмотров 2 тыс.Год назад
Рассмотрим что такое перечисления enum, зачем они нужны и как их использовать Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Поддержка канала: www.donationalerts.com/r/matrix_x www.patreon.com/user?u=74455138
3D Game Engine | 35 | Буфер глубины (Depth Buffer)
Просмотров 1,3 тыс.Год назад
Добавляем куб в сцену и знакомимся с буфером глубины Коммит: github.com/simple-coding-channel/SimpleEngine/commit/1214099757cb84c479c033a6657c1f2fb4e5d62c GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al.exander7683 Поддержка канала: www.donationalerts.com...
3D Game Engine | 34 | Класс Texture2D
Просмотров 878Год назад
Инкапсулируем создание текстуры OpenGL в отдельный класс Texture2D Коммит: github.com/simple-coding-channel/SimpleEngine/commit/a432178c5b1a9e0aefbf4fef059d92dd630e0eac GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al.exander7683 Поддержка канала: www.dona...
3D Game Engine | 33 | Фильтрация текстуры, алиасинг
Просмотров 8512 года назад
Рассмотрим что такое алиасинг, почему он возникает и как с ним бороться (Mip-Map, trilinear interpolation, nearest neigbour, bilinear interpolation) GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al.exander7683 Поддержка канала: www.donationalerts.com/r/mat...
3D Game Engine | 32 | Текстуры
Просмотров 1,3 тыс.2 года назад
Что такое текстуры и как их использовать в OpenGL Коммит: github.com/simple-coding-channel/SimpleEngine/commit/06a0d82ce83626e2643940c2a9611f0cb8dae317 GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al.exander7683 Поддержка канала: www.donationalerts.com/r/...
3D Game Engine | 31 | Вращаем камеру мышкой
Просмотров 1,5 тыс.2 года назад
Добавляем возможность вращать камеру с помощью мышки Коммит: github.com/simple-coding-channel/SimpleEngine/commit/4911912cf3b81c1268fdfd3361175386f56eeccf GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al.exander7683 Поддержка канала: www.donationalerts.com...
C++ с нуля | 15 | Циклы while, do while, for
Просмотров 1,6 тыс.2 года назад
Рассмотрим циклы while, do while, for и операторы управления циклом Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Поддержка канала: www.donationalerts.com/r/matrix_x
3D Game Engine | 30 | Углы Эйлера, двигаем и вращаем камеру
Просмотров 1,5 тыс.2 года назад
Разбираем, что такое углы Эйлера и как с их помощью мы можем управлять камерой Коммит: github.com/simple-coding-channel/SimpleEngine/commit/d064d932cf98f76f577391a89c81a8652b2f0f2b GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al.exander7683 Поддержка кана...
3D Game Engine | 29 | Управляем камерой
Просмотров 1,3 тыс.2 года назад
Добавляем ивенты нажатия клавиш и управление камерой Коммит: github.com/simple-coding-channel/SimpleEngine/commit/c9b6c631a3d84a2a677057e69b3c41ea355aa81d GitHub проекта: github.com/simple-coding-channel/SimpleEngine Discord Server: discord.gg/ztyWExwRQ2 Мои соцсети: VK: mtrx1 Twitch: www.twitch.tv/matrix_x Instagram: al.exander7683 Поддержка канала: www.donationalerts.com...
C++ с нуля | 14 | switch
Просмотров 7112 года назад
C с нуля | 14 | switch
3D Game Engine | 28 | Рефакторинг, Editor
Просмотров 1,2 тыс.2 года назад
3D Game Engine | 28 | Рефакторинг, Editor
3D Game Engine | 27 | ImGui docking & viewports
Просмотров 2,3 тыс.2 года назад
3D Game Engine | 27 | ImGui docking & viewports
3D Game Engine | 26 | OpenGL Renderer
Просмотров 1,5 тыс.2 года назад
3D Game Engine | 26 | OpenGL Renderer
C++ с нуля | 13 | Ветвление: if else
Просмотров 1,4 тыс.2 года назад
C с нуля | 13 | Ветвление: if else
3D Game Engine | 25 | Построение матрицы перспективной проекции
Просмотров 1,9 тыс.2 года назад
3D Game Engine | 25 | Построение матрицы перспективной проекции
3D Game Engine | 24 | Построение матрицы ортографической проекции
Просмотров 1,3 тыс.2 года назад
3D Game Engine | 24 | Построение матрицы ортографической проекции
C++ с нуля | 12 | Область видимости
Просмотров 9092 года назад
C с нуля | 12 | Область видимости
3D Game Engine | 23 | Камера
Просмотров 1,9 тыс.2 года назад
3D Game Engine | 23 | Камера
3D Game Engine | 22 | Системы координат
Просмотров 1,5 тыс.2 года назад
3D Game Engine | 22 | Системы координат
3D Game Engine | 21 | Матрица трансформации
Просмотров 3,4 тыс.2 года назад
3D Game Engine | 21 | Матрица трансформации
3D Game Engine | 20 | glm
Просмотров 1,2 тыс.2 года назад
3D Game Engine | 20 | glm
3D Game Engine | 19 | Матрицы
Просмотров 1,1 тыс.2 года назад
3D Game Engine | 19 | Матрицы
3D Game Engine | 18 | Система координат, вектор
Просмотров 1,1 тыс.3 года назад
3D Game Engine | 18 | Система координат, вектор
3D Game Engine | 17 | Индексный буфер
Просмотров 1,1 тыс.3 года назад
3D Game Engine | 17 | Индексный буфер

Комментарии

  • @andreygurenkoff2721
    @andreygurenkoff2721 3 дня назад

    молодцом . хорошо объясняешь ! и речь поставлена.

  • @user-Inquisitorr
    @user-Inquisitorr 3 дня назад

    Непонятно, что за магия. Пробовал повторить. Не работает движение по направлению взгляда. Кто-то пробовал еще? У кого-то вышло?

  • @VProkopenko_
    @VProkopenko_ 5 дней назад

    Спасибо за ролик. Подскажите, кто-нибудь сталкивался с такой проблемой: Debug Assertion Failed! Program: D:\SimpleCoding\battle_city\build\bin\Debug\Battle_city.exe File: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vector Line: 1904 Expression: vector subscript out of range For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts.

  • @ДжамалудинОсманов-х9ф

    У кого такая ошибка <CMake Error: The source directory "Путь_Каталога" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.> после запуска команды <cmake ..>, то рекомендую попробовать всё заново следуя по инструкции в этом ролике --> ruclips.net/video/qKXzmd_P8PE/видео.html .Мне помогло, надеюсь и вам поможет.

  • @B-Kent-X
    @B-Kent-X 10 дней назад

    Не пойму, а почему нельзя просто через облако обмениваться этими файлами? Также не понимаю: если будет куча разных версий одного файла от разных разработчиков, то все равно ведь кто-то еще должен взяться за то, чтобы из каждого файла взять что-то конкретное и сделать один совершенный? Или как это работает? Просто именно этот момент неясен - в чем удобство?

  • @Youraia
    @Youraia 12 дней назад

    Чувак это было сделано еще в начале 90х

  • @ans674
    @ans674 13 дней назад

    9:46

  • @Фрегат-э8н
    @Фрегат-э8н 23 дня назад

    Не понятно как сделал запуск

  • @Top_Drop
    @Top_Drop 26 дней назад

    спасибо но достаточно только как по мне только как сохранять загружать и как отправлять на гитхаб

    • @MathPTU
      @MathPTU 25 дней назад

      тебе достаточно, как человеку, который никогда норм проекты не делал

  • @ArthurPozhidayev
    @ArthurPozhidayev 27 дней назад

    Уверен, что дальше это будет сказано, но если у вас mac, то там версия OpenGl 4.1 была максимальной. Нужно в коде прописать еще glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);

  • @Satabol
    @Satabol Месяц назад

    Спасибо за введение. Мне понравилось.

  • @nikondolgushin9421
    @nikondolgushin9421 Месяц назад

    я бы предпочел создать одну include директорию со всеми класами, чем отдельно подключать их в ide

  • @indemion_kors
    @indemion_kors Месяц назад

    Помогите пожалуйста разобраться! Очень странно, программа работает, но отладчик не заходит внутрь файла ResourseManager. Просто проскакивает все точки останова внутри него, проскаивает все строки связанные с ним в mine и идёт дальше до конца программы и успешно отрисовывает треугольник. А на точках останова внутри класса ResourseManager пишет "В настоящий момент попадания в точку остановка не произойдет. Нет загруженных символов для этого документа."

  • @user-Inquisitorr
    @user-Inquisitorr Месяц назад

    Привет. По всей видимости что-то пошло не так, так как при перемещении камерой, а потом при попытке осмотреться мышкой происходит одновременное смещение(по всей видимости накапливается durection)

  • @TeuvoLaaksonen
    @TeuvoLaaksonen Месяц назад

    А какие методы отладки ошибок времени исполнения вы используете? Лично я долго выбирал курсы по IT, рассматривал разные компании, но в итоге остановился на Skypro. Проработал 7 лет в сфере обслуживания, но всегда хотел попробовать себя в IT. После курса получил оффер и перешел на удаленку, ни разу не пожалел))

    • @Сянка-х6ь
      @Сянка-х6ь Месяц назад

      Да опять вы, уже в котором видео встречаю эту недореклмау

  • @Michael-Solo
    @Michael-Solo Месяц назад

    Столько уроков, а самого главного не нашёл. Мне нужно собрать проект со сборкой статической библиотеки, подключением её для запуска гугл тестов, а так же выводом через gcovreport отчёта о покрытии методов всех классов. Как это делается через обычный мейк я знаю. Хотел понять, как это сделать через симейк. По идее же симейк должен упрощать рутинную ручную сборку через мейк.

  • @luteyka
    @luteyka 2 месяца назад

    Все еще не понимаю, зачем нужен CMake, если используется IDE. В VS и так встроенный сборщик. Зачем нужен этот страшный CMake?

    • @voldexgray
      @voldexgray Месяц назад

      Cmake необходим для кроссплатформенной сборки проекта, так например, запустить не через VS, и вообще не на винде, а на линуксе например, у тебя всё равно создаться файл проекта для той IDE, в которой ты запустил, работает и в обратную сторону, для VS Cmake так же собирает файл проекта. Так же он даёт широкий простор при сборке вприцнипе. Например можно создать различные сборки для сервера игры, игры, игры и сервера вместе, втроить поддержку различных архитектур, отдельные дебаг версии для разработчиков, в общем возможностей куча, главное уметь ими пользоваться

  • @shurikplotnikov9380
    @shurikplotnikov9380 2 месяца назад

    Отличная серия уроков! Большое спасибо! У меня есть одно замечание к этому уроку: мы AnimatedSprite наследуем от Sprite, но деструктор ~Sprite() не сделали виртуальным

  • @ВасилийПерденко-г5т
    @ВасилийПерденко-г5т 2 месяца назад

    Возможно для кого-то будет полезным. На 16:32 в коде vertex_shader перемножаются матрицы изменения масштаба и вращения. Обратите внимание на порядок!! Сначала идёт матрица вращения (rotate), а затем матрица изменения масштаба (scale). Я сделал наоборот, и у меня при вращении получалась дичь. Возможно кому-то помогу

  • @ЭтоЧо-ш6ь
    @ЭтоЧо-ш6ь 2 месяца назад

    Классно, жаль мало подписчиков 😒

  • @ИльяЯкубович-ш5ч
    @ИльяЯкубович-ш5ч 2 месяца назад

    Все круто,но есть вопрос. Почему порядок умножения матриц обратный? Типо по такой логике если у нас есть текстура, и мы в render loop пишем glm:: translate и glm::rotate для матрицы mat пускай. Тогда какой эффект будет по логике обратного умножения: текстура повернется и сместится и так далее(поворот от времени зависит), в результате у нас должен получиться эффект того что текстура вращается не вокруг оси а сама вращается вокруг. Но такой эффект уже наблюдается при glm::rotate glm::translate,почему?

  • @bootstrapers
    @bootstrapers 2 месяца назад

    Спасибо за туториал, только предупреждающий цвет светофора все таки желтый)

  • @bootstrapers
    @bootstrapers 2 месяца назад

    Очень крутой туториал, несмотря на то, что лучше читать, чтобы понять, то здесь можно посмотреть это видео) Но все же я бы рекомендовал для начала раскрывать тему с make, в качестве базы.

  • @zazi6307
    @zazi6307 2 месяца назад

    Где можно взять эту текстуру?

  • @DanielAstro
    @DanielAstro 2 месяца назад

    Все супер. Вот такой вопрос у меня возникает. Можно ли проверять скомпилированному шрейдера на поле m_id не заводя булево поле. Например если оно не скомпилировало по идентификатор будет всегда равен 0 а если скомпилирован то больше 0? Или там идентификатор может быть равен 0 после компиляции?

  • @wsxpocxeafx
    @wsxpocxeafx 2 месяца назад

    3:18 эксплицитно это explicit? Похоже, что так.

  • @ZugDuk
    @ZugDuk 2 месяца назад

    ваще не ебу что это за клизма сраная. Почему нельзя просто запустить 'gcc ./имя-файла-с-программой.с' и все???

  • @m0r1k
    @m0r1k 2 месяца назад

    гуру

  • @programmer6970
    @programmer6970 2 месяца назад

    Ролик полезный, но клавиатуру я бы об стену размазал..

  • @DarkStar-rq3cw
    @DarkStar-rq3cw 3 месяца назад

    У меня почему-то немного иной путь получается D:\mygame\build\bin\Debug\game.exe

  • @MAKAPOHOC
    @MAKAPOHOC 3 месяца назад

    Всё хорошо в данной серии видео, кроме размера шрифта :(

  • @DadundddaD
    @DadundddaD 4 месяца назад

    Лучшее видео для сна

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    А вообще говоря, Александ, Вы создали отличный фреймворк - для новичка самое то. Можно почувствовать себя джуниором в промышленной компании (ну или хотя бы стажером %)). Я понимаю, что у Вас не хватает времени или мотивации продолжать проект, но молодые ребята могут уже на этом этапе развивать его для себя. Например, можно адаптировать уроки от Де Вриеса (LearnOpenGL) - продвинутая работа с освещением (HDR, PBR, тени и т.п.), загрузка моделей, анимации. Можно добавить что-то из Ogldev (Итая Миэри): у него много интересного про анимации и работу с рельефом и т.д.

  • @speedee6330
    @speedee6330 4 месяца назад

    Можно ссылку на коммит

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    При установке исходных позиций мыши в on_mouse_button_event нужно ли делать проверку pressed?

  • @fein7068
    @fein7068 4 месяца назад

    не добавил важную фичу CMake, это то что компилируется только изменяемые файлы, а не весь проект целиком, что существенно ускоряет время компиляции.

  • @ManulRobloxDev
    @ManulRobloxDev 4 месяца назад

    Вот вам 1000-ый лайк за такое хорошее объяснение!

  • @lober61
    @lober61 4 месяца назад

    Помогите пожайлуста, у меня уже 3 день выдает ошибку C:\c++\glfwT1a\src\main.cpp(1,10): error C1083: Не удается открыть файл включение: glad/glad.h: No such file or directory, [C:\c++\glfwT1a\build\GlfwT1a.vcxproj] вроде бы все правильно делаю а выдает

    • @ArthurPozhidayev
      @ArthurPozhidayev 27 дней назад

      Вредил вы 3 месяца мучаетесь с ответом, но нужно просто проверить сроку target_include_directories(glad PUBLIC include/)

    • @lober61
      @lober61 27 дней назад

      @@ArthurPozhidayev Спасибо, я уже разобралься вс проблеммой, надо было пересоздать проект сначала, у меня изза какой-то ошибки или в написании или просто ошибки такое писало

  • @IrinaBod
    @IrinaBod 4 месяца назад

    Спасибо большое за ваши видео,! Вы очень хорошо объясняете!

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    Чем больше шаг за шагом имплементирую твой проект, тем больше он мне нравится!

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    Ребята, если приложение вылетает с ошибкой после закрытия окна (ругается ImGui): 1. Инклуды: вначале imgui_impl_glfw.h, затем imgui_impl_opengl3.h 2. В конструкторе Window: вначале ImGui_ImplGlfw_InitForOpenGL, затем ImGui_ImplOpenGL3_Init 3. В Window::shutdown(): добавьте ImGui_ImplOpenGL3_Shutdown(); ImGui_ImplGlfw_Shutdown() перед ImGui::DestroyContext(). Все взял из ImGui Wiki на гитхабе.

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    А что делать с зависимостью от GLFW?

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    Отличные уроки! Всё довольно наглядно и просто, да еще и выглядит очень красиво! Для новичка в компьютерной графике самое то!

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    Александр, огромное спасибо! Замечательные у Вас уроки. Наконец-то понял для себя суть всех эти VBO, VAO. Возможно это родной язык помогает ))) А еще у вас преинтереснейшая структура приложения. Открываю для себя много нового. Жаль, что Вы прекратили выпускать видео (( Успехов и Удачи!!!

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    6:10 - Для VertexBuffer operator=() разве не нужно как-то обменять значение m_buffer_layout (по аналогии с конструктором перемещения)?

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    Александр, подскажи как проверить кросплатформенность. Суть такая: в Debian 12 делаю клон проекта -> клонирую сабмодули -> создаю папку build -> находясь в ней делаю "$cmake .." -> далее выполняю "$cmake --build ." Вроде всё билдит, в папке bin создается EngineEditor. Запускаю ./EngineEditor: все рисуется вроде хорошо, в bash ничего не выводится (куда идет вывод сообщений?), после закрытия окна получаю Segmentation Fault (((

    • @РадегастСварожич
      @РадегастСварожич 4 месяца назад

      Возможно SegFault результат того, что p_shader_program глобальная переменная.

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    Если произошла ошибка при компиляции ShaderProgram, то функция Init возвращает false, т.е. 0 - а ноль, то вроде как "всё гуд". Допустим изменим код возрата на -4. Как этот код возрата корректно обработать в конструкторе Window?

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    Получается, что с помощью ImGui нельзя сделать всю инициализацию вначале (например в функции Init), а каждый кадр только перерисовавать окна? Значит в "боевой" версии нужно реализовывать весь графический интерфейс врукопашную, т.е. рисование всех кнопочек, полей ввода текста, ползунков и т.п.? Трудоемкая работа, однако. Интерфейс ImGui жутко напоминает интерфейс окна настройки шейдера из Anomaly ))

  • @bulba1995
    @bulba1995 4 месяца назад

    Отличные уроки спасибо.

  • @РадегастСварожич
    @РадегастСварожич 4 месяца назад

    Александр, если можно это кратко пояснить, поясни, пожалуйста, зачем такая сложная структура? Непосредственная обработка события (например, нажатия клавиши) будет происходить в классе Application, т.е. в лямбе m_event_dispatcher.add_event_listener<EventKeyPressed>?