Windows 12 будет на сильноперелопаченом ядре Linux
Звучит весьма сомнительно. Зачем полностью менять то, что годами работает? Прослойка совместимости вряд ли будет работать нормально, посмотрите на wine или react os, конечно у microsoft больше ресурсов + полный доступ к текущим наработкам, но опять же, зачем тратить уймы ресурсов на перевод windows на ядро linux? Какой это даст профит?
Nikitoschg, Я не спрашивал у вас ничего, я намекнул, что надо убрать преобразование в экранные координаты. Если вы делаете преобразование и opengl его делает, ваш красный прямоугольник окажется точно не там, где бы вы хотели его видеть
hitakiri, А чем принципиально отличается использование zig или go в качестве зависимостей от использования clang или mingw? clang для windows есть в github, mingw можно поставить на свою машину и упаковать в архив нужные файлы. Если нужно, чтобы и под linux и под mac работало, можно создать пакет со своим движком и прописать ему в зависимостях gcc или clang (собственно с zig и go то же самое придётся делать).
Nikitoschg, Не совсем. Деление на w закомментировано, вы ещё зачем-то в экранные координаты переводите, хотя это должен opengl делать. Плюс вы проецируете лишь одну точку, которая при этом не является вершиной прямоугольника, а надо проецировать его вершины и их передавать в glVertex3f
Ну и ещё вариант - поставить себе mingw, а потом все файлы упаковать в архив. Я так давно делал, когда надо было на школьный комп установить компилятор си.
Nikitoschg, Тогда понятно, почему у вас второй квадрат не подвергается проекции. Чтобы сделать проекцию, нужно каждую точку прямоугольника умножить на матрицу проекции, а не просто сместить их все на одну величину, как вы сейчас делаете. Точки представляются вектором с размерностью три, нужно перевести их в гомогенные координаты, добавив 4-ю компоненту равную 1. Потом каждую точку надо умножить на матрицу (или наоборот, смотря как представлена матрица column или row major), потом у получившихся точек разделить x, y и z компоненты на последнюю компоненту и собрать из получившихся значений 3-х мерную точку. Собственно 4 таких точки надо будет передать потом в glVertex3f
Nikitoschg, Понятно, что он рисует прямоугольник. Меня интересую вызовы opengl. Кода отрисовки серого квадрата я не вижу, вижу только установку матриц проекции и вида
Было бы неплохо увидеть весь код, мб есть ссылка на репозиторий? А то не ясно, что делает drawRedRect, например. Также не ясно, как вы в первом случае рисуете серый прямоугольник