Alex-Kalinin-jr / internature

Repository for the process of internature.
0 stars 0 forks source link

Развертывание необходимой инфраструктуры #2

Closed Alex-Kalinin-jr closed 8 months ago

Alex-Kalinin-jr commented 9 months ago

1) Установить windows (изучить процесс установки поверх Debian с уже размеченным LVM, если долго - переустановить все заново). 2) Установить Visual Studio. 3) Развернуть необходимое окружение. Запустить helloworld. 4) Внедрить imgui.Net. Создать и запустить простейшее GUI app.

Alex-Kalinin-jr commented 9 months ago

На данный момент:

Alex-Kalinin-jr commented 8 months ago

На данный момент: изучены уроки по OpenTK. Запрограммирована простейшая сцена с возможностью перемещения камеры мышкой и клавишами (как в Counter Strike - по урокам, с минимальными отступлениями). проблемы:

В очередной раз запутался с матрицами и кучей состояний, что как формируется и почему так, а не иначе...радует, что теперь - осознанно и с пониманием материала. Задача: подумать, как быстрее все это запомнить.

Непривычна IDE. Привычные возможности попросту отсутствуют, горячие клавиши почему-то слетают, разделить окно и работать в многооконном режиме - не получается. В интернете информация, которая при проверке не работает. Задача: понять, как упростить себе жизнь с Microsoft Visual Studio. Хотя бы найти copy_line_up, copy_line_down и сделать так, чтобы Ctrl+/ не слетала при бинде на комментирование. Довести до ума автоформатирование (выбран C# Google Style) и ограничить самодеятельность IntelliSense.

Alex-Kalinin-jr commented 8 months ago

Непонятна математика векторов OpenTK.Mathematics. Ощущение, что vector3 создан исключительно для crossProduct. Как пример: почему Vector4 += Vector4 можно, а Vector3 += Vector3 - нельзя.

Проблема решена: OpenTK.Mathematics. и System.Numerics имеют Vector3. Нужно уточнять пространство имен.

Alex-Kalinin-jr commented 8 months ago

Инкапсулировать матрицу модели. выполнить Первичный тест работоспособности архитектуры.

Непонятно, почему не отрисовывается Multiple objects. Ошибок нет, приложение запускается, но куб всего один на экране.

Alex-Kalinin-jr commented 8 months ago

Ощущение, что я до конца не понимаю отношения в автомате состояний. Мне непонятно, как и что переключать для отрисовки контекстов. Нужен ли свой VBO для каждой фигуры, что делает VAO, VBO и другие буферы помимо того, что переключают ints...что происходит под капотом, когда они переключаются. Учебный пример №2 не компилируется. Ссылка: https://github.com/neokabuto/OpenTKTutorialContent/blob/master/OpenTKTutorial4/OpenTKTutorial4/Game.cs Задача: до конца выяснить устройство автомата состояний openGL: что можно переиспользовать, что должно быть своё, отдельное, для каждой отдельной сущности и т.д.

Alex-Kalinin-jr commented 8 months ago

Проблема с показом нескольких объектов решена (дело было в масштабе смещения второго объекта, все работало правильно). На данный момент у каждого Volume собственные VBO и VAO. В дальнейшем обдумать, нужны ли разные VBO (переключение контекста - дорогой процесс, судя по постам в интернете.

Alex-Kalinin-jr commented 8 months ago

https://lib.samtuit.uz/uploads/files/61e51d0d357914.48045780.pdf http://cs.uns.edu.ar/cg/clasespdf/GraphicShaders.pdf прочитать (бегло) книги по шейдерам. Постараться не запутаться.

Alex-Kalinin-jr commented 8 months ago

Разобрался с VBO, VAO. Научился привязывать к VBO несколько буферов и прокидывать данные в шейдеры. Разнес создание буфера координат и буфера цветов на отдельные функции (предполагаю, что в дальнейшем добавятся буферы нормалей, координат текстур и буферы будем биндить в зависимости от наличия). Перехожу к нагугливанию морфинга в сферу. Предварительно проведу ручные тесты парсера obj файлов. Пока все без unit-тестов, так как при изучении меняется видение процесса, следовательно - архитектура.

SkivHisink commented 8 months ago

Всё ещё происходит развёртывание инфраструктуры? Когда начнётся выполнение задач?