Записи Sandbox::Write(Day004, Day005, Day006) Первое отображение
Post
Cancel

Sandbox::Write(Day004, Day005, Day006) Первое отображение

Мне потребовалось три дня, чтобы написать наконец отображение кубика. Не целых, конечно, а по паре часов вечером.

Были написаны классы MeshComponent, MeshLoader, VertexArray. Для загрузки модели с расширение .obj использовалась библиотека tinyobjloader.

Естсествеено были ошибки. Первая - забыл активировать шейдер перед передачей в него uniform переменных. Помогло в подозрительном месте сделать выод ошибок OpenGL.

Вторая - для кубика индексировал вершины не с нуля, а с единицы. Поэтому получался не совсем кубик. Помогло раскрышивать вершины в разные цвета и выводить по одному треугольнику.

Заключение

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

Ссылка на GitHub

TODO

Доделки, которыми в ближайшее время займусь:

  • Добавить логгирование не через SDL_Log, а через удобную бибилиотеку с уровнями логгирования

  • Сделать проверку на ошибки в OpenGL и добавить assert на них.

Sandbox::Write(Day003) OpenGL, Shader

Sandbox::Write(Day007) Правка утечек памяти и написание подсистемы ввода

Comments powered by Disqus.