Крч, решил по фану вкатиться в кодинг графики. Накатил хипстерский стек: .NET 8; Silk.NET; OpenGL, вся хуйня.
Ковырялся в духе вайбкодеров примерно 2 недельки во всем этом дерьме. Осталось неприятное послевкусие во рту. Собственно, ВСТАЛ ряд вопросиков:
1. Сука, в 2025-ом году серьезно никто не додумался сделать какой-нибудь современный API для OpenGL, хотя бы в виде адаптера. Ведь он, литерали, работает как стейт-машина из 1985-го года, где порядок вызова функций влияет напрямую. Т.е. одна ошибка и ты ошибся. Как это дебажить — я в принципе нихуя не понял и судя по всякмим исходникам на просторах гитхаба — не я один такой.
2. А ЧЕ ТАК СЛОЖНО?
Пиздец, я ковыряюсь чисто в два дэ, ладно, даже мельком 2.5 дэ затронул. В чистое три дэ даже близко не лезу.
Вот примерный порядок действий для отрисовки жпега на экране:
1. Инициализировать буфферы вершин и индексов (опционально для последних)
2. В буффере вершин методом тыка или гуглежки (у меня пространственный кретинизм, я не могу визуализировать в пространстве положение точек), нужно состряпать полигон, в форме прямоугольника/квадрата на котором будет отображаться этот сраный жпег.
Cюда еще может добавиться пару параметров, которые будут заюзаны при размещении сраной текстурки.
3. Создать этот сраный буфферный объект в памяти видюхи
4. Скопировать данные из оперативки в этот сраный объект в памяти видюхи
5. Написать сраный шейдер, который будет накладывать этот сраный жпег на сраный прямоугольник
6. Загрузить сраную текстуру в память (тут можно еще 10 подпунктов описать)
7. Создать сраную ортографическую проекцию
8. Переключить состояние рендера в СПЕЦИАЛЬНОЕ ХУЙ ПОЙМИ КАКОЕ ДЛЯ ОТРИСОВКИ 2D
9, Забиндить все объекты, текстурки, шейдеры в АКТИВНОЕ состояние
И лишь потом в конце вызывать простенький метод отрисовки жпега.
Имаджинируй ебало разработчика движка, которому нужно рендерить сцену из большего числа объектов. Вкусно пиздец 🥰
Post #1300
31.3K

- 🍌 243
- 😁 125
- 👍 43
- 🥴 13
- ❤ 11
- 🗿 8
- 💅 7
- 💯 4
- 🤨 2
- 😭 2