C++ с нуля | 17 | struct
12:52
C++ с нуля | 16 | enum
11:21
2 жыл бұрын
C++ с нуля | 14 | switch
8:04
2 жыл бұрын
3D Game Engine | 26 | OpenGL Renderer
11:57
3D Game Engine | 23 | Камера
29:37
3D Game Engine | 20 | glm
9:07
3 жыл бұрын
3D Game Engine | 19 | Матрицы
6:54
Пікірлер
@trimo1120
@trimo1120 6 күн бұрын
Бро, а как компилировать через minGw? У меня vscode
@tot_kto_kusalsya
@tot_kto_kusalsya 10 күн бұрын
😮 И это так просто создается окошко программы!? Кошмар какой...
@Shadowfight-z5f
@Shadowfight-z5f 13 күн бұрын
А чо через интерфейс cmake нельзя получить exe файл? Через консоль мы это сделали(т.е. не открывая visual studio ) а через интерфейс?
@wizard_still
@wizard_still 23 күн бұрын
Отличное видео! А где во всей этой истории место open gl на каком этапе он входит в работу и как работает если рисует все движок, что рисует open gl?
@user-feddev
@user-feddev Ай бұрын
если делаешь уроки - то делай шрифт на экране большой - ничего не видно
@andreygurenkoff2721
@andreygurenkoff2721 Ай бұрын
молодцом . хорошо объясняешь ! и речь поставлена.
@user-Inquisitorr
@user-Inquisitorr Ай бұрын
Непонятно, что за магия. Пробовал повторить. Не работает движение по направлению взгляда. Кто-то пробовал еще? У кого-то вышло?
@VProkopenko_
@VProkopenko_ Ай бұрын
Спасибо за ролик. Подскажите, кто-нибудь сталкивался с такой проблемой: 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ф
@ДжамалудинОсманов-х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 ..>, то рекомендую попробовать всё заново следуя по инструкции в этом ролике --> kzbin.info/www/bejne/p3y7q6CalLVrhqc .Мне помогло, надеюсь и вам поможет.
@B-Kent-X
@B-Kent-X Ай бұрын
Не пойму, а почему нельзя просто через облако обмениваться этими файлами? Также не понимаю: если будет куча разных версий одного файла от разных разработчиков, то все равно ведь кто-то еще должен взяться за то, чтобы из каждого файла взять что-то конкретное и сделать один совершенный? Или как это работает? Просто именно этот момент неясен - в чем удобство?
@djohardudaev95
@djohardudaev95 18 күн бұрын
так это и есть облако
@B-Kent-X
@B-Kent-X 18 күн бұрын
@@djohardudaev95 в чем же преимущества этого перед другими?
@djohardudaev95
@djohardudaev95 18 күн бұрын
@@B-Kent-X потому что два файла одной коммандой мерджить можно
@Youraia
@Youraia 2 ай бұрын
Чувак это было сделано еще в начале 90х
@ans674
@ans674 2 ай бұрын
9:46
@Фрегат-э8н
@Фрегат-э8н 2 ай бұрын
Не понятно как сделал запуск
@Top_Drop
@Top_Drop 2 ай бұрын
спасибо но достаточно только как по мне только как сохранять загружать и как отправлять на гитхаб
@MathPTU
@MathPTU 2 ай бұрын
тебе достаточно, как человеку, который никогда норм проекты не делал
@ArthurPozhidayev
@ArthurPozhidayev 2 ай бұрын
Уверен, что дальше это будет сказано, но если у вас mac, то там версия OpenGl 4.1 была максимальной. Нужно в коде прописать еще glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
@Satabol
@Satabol 2 ай бұрын
Спасибо за введение. Мне понравилось.
@nikondolgushin9421
@nikondolgushin9421 2 ай бұрын
я бы предпочел создать одну include директорию со всеми класами, чем отдельно подключать их в ide
@indemion_kors
@indemion_kors 2 ай бұрын
Помогите пожалуйста разобраться! Очень странно, программа работает, но отладчик не заходит внутрь файла ResourseManager. Просто проскакивает все точки останова внутри него, проскаивает все строки связанные с ним в mine и идёт дальше до конца программы и успешно отрисовывает треугольник. А на точках останова внутри класса ResourseManager пишет "В настоящий момент попадания в точку остановка не произойдет. Нет загруженных символов для этого документа."
@user-Inquisitorr
@user-Inquisitorr 2 ай бұрын
Привет. По всей видимости что-то пошло не так, так как при перемещении камерой, а потом при попытке осмотреться мышкой происходит одновременное смещение(по всей видимости накапливается durection)
@TeuvoLaaksonen
@TeuvoLaaksonen 3 ай бұрын
А какие методы отладки ошибок времени исполнения вы используете? Лично я долго выбирал курсы по IT, рассматривал разные компании, но в итоге остановился на Skypro. Проработал 7 лет в сфере обслуживания, но всегда хотел попробовать себя в IT. После курса получил оффер и перешел на удаленку, ни разу не пожалел))
@Сянка-х6ь
@Сянка-х6ь 2 ай бұрын
Да опять вы, уже в котором видео встречаю эту недореклмау
@Michael-Solo
@Michael-Solo 3 ай бұрын
Столько уроков, а самого главного не нашёл. Мне нужно собрать проект со сборкой статической библиотеки, подключением её для запуска гугл тестов, а так же выводом через gcovreport отчёта о покрытии методов всех классов. Как это делается через обычный мейк я знаю. Хотел понять, как это сделать через симейк. По идее же симейк должен упрощать рутинную ручную сборку через мейк.
@luteyka
@luteyka 3 ай бұрын
Все еще не понимаю, зачем нужен CMake, если используется IDE. В VS и так встроенный сборщик. Зачем нужен этот страшный CMake?
@voldexgray
@voldexgray 3 ай бұрын
Cmake необходим для кроссплатформенной сборки проекта, так например, запустить не через VS, и вообще не на винде, а на линуксе например, у тебя всё равно создаться файл проекта для той IDE, в которой ты запустил, работает и в обратную сторону, для VS Cmake так же собирает файл проекта. Так же он даёт широкий простор при сборке вприцнипе. Например можно создать различные сборки для сервера игры, игры, игры и сервера вместе, втроить поддержку различных архитектур, отдельные дебаг версии для разработчиков, в общем возможностей куча, главное уметь ими пользоваться
@Shadowfight-z5f
@Shadowfight-z5f 8 күн бұрын
@@voldexgray Насколько я понял, Cmake нужен для автоматического преобразования текстовых файлов с кодом в нужный файл проэкта(visual studio для виндовс, qrcreator для линукс и т.д.) и наоборот, из файла проэкта в код, который потом можно где угодно редактировать. Скорее всего у нас будет не один файл, а целая папка, и папка в папке с кодом. В visual studio пришлось бы создавать всякие настройки, зависимости, указывать кто является файлом заголовка, а кто файлом кода, и все это вручную. А cmake дает инструкцию как это сделать для любой системы. А если я вдруг скачал новую версию visual studio и старые файлы проэктов она не открывает из-за несовместимости форматов, я запускаю cmake файл, и создаю уже новый файл проэкта. Тоже самое, если я вдруг решу запилить свою прогу под qtcreator линукс(например). Я правильно понял?
@__is_Void
@__is_Void 7 күн бұрын
@@Shadowfight-z5f, я тебя абсолютно не понял
@shurikplotnikov9380
@shurikplotnikov9380 3 ай бұрын
Отличная серия уроков! Большое спасибо! У меня есть одно замечание к этому уроку: мы AnimatedSprite наследуем от Sprite, но деструктор ~Sprite() не сделали виртуальным
@ВасилийПерденко-г5т
@ВасилийПерденко-г5т 3 ай бұрын
Возможно для кого-то будет полезным. На 16:32 в коде vertex_shader перемножаются матрицы изменения масштаба и вращения. Обратите внимание на порядок!! Сначала идёт матрица вращения (rotate), а затем матрица изменения масштаба (scale). Я сделал наоборот, и у меня при вращении получалась дичь. Возможно кому-то помогу
@ЭтоЧо-ш6ь
@ЭтоЧо-ш6ь 3 ай бұрын
Классно, жаль мало подписчиков 😒
@ИльяЯкубович-ш5ч
@ИльяЯкубович-ш5ч 4 ай бұрын
Все круто,но есть вопрос. Почему порядок умножения матриц обратный? Типо по такой логике если у нас есть текстура, и мы в render loop пишем glm:: translate и glm::rotate для матрицы mat пускай. Тогда какой эффект будет по логике обратного умножения: текстура повернется и сместится и так далее(поворот от времени зависит), в результате у нас должен получиться эффект того что текстура вращается не вокруг оси а сама вращается вокруг. Но такой эффект уже наблюдается при glm::rotate glm::translate,почему?
@bootstrapers
@bootstrapers 4 ай бұрын
Спасибо за туториал, только предупреждающий цвет светофора все таки желтый)
@bootstrapers
@bootstrapers 4 ай бұрын
Очень крутой туториал, несмотря на то, что лучше читать, чтобы понять, то здесь можно посмотреть это видео) Но все же я бы рекомендовал для начала раскрывать тему с make, в качестве базы.
@maxchntsv
@maxchntsv Ай бұрын
Все же я бы рекомендовал для начала раскрывать тему с архитектуры компьютера , в качестве базы
@zazi6307
@zazi6307 4 ай бұрын
Где можно взять эту текстуру?
@DanielAstro
@DanielAstro 4 ай бұрын
Все супер. Вот такой вопрос у меня возникает. Можно ли проверять скомпилированному шрейдера на поле m_id не заводя булево поле. Например если оно не скомпилировало по идентификатор будет всегда равен 0 а если скомпилирован то больше 0? Или там идентификатор может быть равен 0 после компиляции?
@wsxpocxeafx
@wsxpocxeafx 4 ай бұрын
3:18 эксплицитно это explicit? Похоже, что так.
@ZugDuk
@ZugDuk 4 ай бұрын
ваще не ебу что это за клизма сраная. Почему нельзя просто запустить 'gcc ./имя-файла-с-программой.с' и все???
@m0r1k
@m0r1k 4 ай бұрын
гуру
@programmer6970
@programmer6970 4 ай бұрын
Ролик полезный, но клавиатуру я бы об стену размазал..
@DarkStar-rq3cw
@DarkStar-rq3cw 5 ай бұрын
У меня почему-то немного иной путь получается D:\mygame\build\bin\Debug\game.exe
@DarkStar-rq3cw
@DarkStar-rq3cw 5 ай бұрын
Тайминг 25:15
@MAKAPOHOC
@MAKAPOHOC 5 ай бұрын
Всё хорошо в данной серии видео, кроме размера шрифта :(
@DadundddaD
@DadundddaD 5 ай бұрын
Лучшее видео для сна
@RSvarogich
@RSvarogich 5 ай бұрын
А вообще говоря, Александ, Вы создали отличный фреймворк - для новичка самое то. Можно почувствовать себя джуниором в промышленной компании (ну или хотя бы стажером %)). Я понимаю, что у Вас не хватает времени или мотивации продолжать проект, но молодые ребята могут уже на этом этапе развивать его для себя. Например, можно адаптировать уроки от Де Вриеса (LearnOpenGL) - продвинутая работа с освещением (HDR, PBR, тени и т.п.), загрузка моделей, анимации. Можно добавить что-то из Ogldev (Итая Миэри): у него много интересного про анимации и работу с рельефом и т.д.
@speedee6330
@speedee6330 5 ай бұрын
Можно ссылку на коммит
@RSvarogich
@RSvarogich 5 ай бұрын
При установке исходных позиций мыши в on_mouse_button_event нужно ли делать проверку pressed?
@fein7068
@fein7068 5 ай бұрын
не добавил важную фичу CMake, это то что компилируется только изменяемые файлы, а не весь проект целиком, что существенно ускоряет время компиляции.
@ManulRobloxDev
@ManulRobloxDev 6 ай бұрын
Вот вам 1000-ый лайк за такое хорошее объяснение!
@lober61
@lober61 6 ай бұрын
Помогите пожайлуста, у меня уже 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 2 ай бұрын
Вредил вы 3 месяца мучаетесь с ответом, но нужно просто проверить сроку target_include_directories(glad PUBLIC include/)
@lober61
@lober61 2 ай бұрын
@@ArthurPozhidayev Спасибо, я уже разобралься вс проблеммой, надо было пересоздать проект сначала, у меня изза какой-то ошибки или в написании или просто ошибки такое писало
@IrinaBod
@IrinaBod 6 ай бұрын
Спасибо большое за ваши видео,! Вы очень хорошо объясняете!
@RSvarogich
@RSvarogich 6 ай бұрын
Чем больше шаг за шагом имплементирую твой проект, тем больше он мне нравится!
@RSvarogich
@RSvarogich 6 ай бұрын
Ребята, если приложение вылетает с ошибкой после закрытия окна (ругается 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 на гитхабе.
@RSvarogich
@RSvarogich 6 ай бұрын
А что делать с зависимостью от GLFW?
@RSvarogich
@RSvarogich 6 ай бұрын
Отличные уроки! Всё довольно наглядно и просто, да еще и выглядит очень красиво! Для новичка в компьютерной графике самое то!
@RSvarogich
@RSvarogich 6 ай бұрын
Александр, огромное спасибо! Замечательные у Вас уроки. Наконец-то понял для себя суть всех эти VBO, VAO. Возможно это родной язык помогает ))) А еще у вас преинтереснейшая структура приложения. Открываю для себя много нового. Жаль, что Вы прекратили выпускать видео (( Успехов и Удачи!!!
@RSvarogich
@RSvarogich 6 ай бұрын
6:10 - Для VertexBuffer operator=() разве не нужно как-то обменять значение m_buffer_layout (по аналогии с конструктором перемещения)?