URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 137831
[ Назад ]

Исходное сообщение
"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "

Отправлено opennews , 15-Сен-25 11:37 
После полутора лет разработки подготовлен выпуск проекта PortableGL 0.99, развивающего программную реализацию графического API OpenGL 3.x, написанную целиком на языке  Си.  Теоретически  PortableGL может быть использован в любых приложениях, принимающих текстуру или фреймбуфер в качестве входных данных. Код оформлен в виде одного заголовочного файла и распространяется под лицензией MIT...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63879


Содержание

Сообщения в этом обсуждении
"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Fracta1L , 15-Сен-25 11:37 
> написанную целиком на языке Си

Гитхаб говорит, что там треть кода на плюсах написана.


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 11:39 
Так присмотрись. Это примеры. И внешняя либа, которую затащили в исходники, чтобы не плодить зависимости.

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 11:43 
> использование для работы с 3D-графикой на системах без GPU

Инетерсно, а такие системы бывают в реальности?


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено kravich , 15-Сен-25 12:09 
В embedded полно SoC-ов с нормальным фреймбуффером, но без 3D ускорителя

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено IMBird , 15-Сен-25 12:16 
Интересно, окупаются ли затраты на эту программную эмуляцию OGL? Поможет ли SIMD ускориться в таких случаях (за счёт всяких NEON)?

Помню отличнейшую Outcast, которая целиком рисовалась на CPU и была по-своему мегакрутой.


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено kravich , 15-Сен-25 12:20 
> Интересно, окупаются ли затраты на эту программную эмуляцию OGL? Поможет ли SIMD
> ускориться в таких случаях (за счёт всяких NEON)?

Да, помогает. Я как-то на подобном SoC делал коммерческую 3D приложуху, где очень сильно выручил llvmpipe, который за счет использования LLVM как раз хорошо ускорен SIMD-ом


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено IMBird , 15-Сен-25 12:31 
>> Интересно, окупаются ли затраты на эту программную эмуляцию OGL? Поможет ли SIMD
>> ускориться в таких случаях (за счёт всяких NEON)?
> Да, помогает. Я как-то на подобном SoC делал коммерческую 3D приложуху, где
> очень сильно выручил llvmpipe, который за счет использования LLVM как раз
> хорошо ускорен SIMD-ом

Ресурсов хватало? 30 или 60 кадров? Насколько сложная графика? Шейдеры были?


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено kravich , 15-Сен-25 12:42 
~24 кадра в секунду, графика - низкополигональная моделька, окруженная сферической оболочкой, на оболочку выводится realtime видео как текстура через хак в glTexImage2D(), позволяющий llvmpipe-у использовать видеофрейм напрямую по указателю без промежуточного копирования (эрзац аналог не реализованного OES_EGL_image_external). Шейдеров не было. Culling-а тоже не было, с ним может быть было бы даже пободрее

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 12:47 
> В embedded полно SoC-ов с нормальным фреймбуффером, но без 3D ускорителя

Я спрашивал не про абстрактный embedded, а про реальные системы, которые не имеют ускорителя, но при этом "вывезут" на CPU программный OpenGL 3 с производительностью, которая хоть сколь-нибудь будет применима в для реальных задач. Так-то и Doom на калькуляторах запускали...


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 12:11 
Встроенки, всякое гвно с кастомными проприетарными сборками линукса (планшеты, телефоны), которые хардарное ускорение никогла больше не увидят.

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 11:47 
Ну, кто там бздил, что «на Си только легаси»?

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Bottle , 15-Сен-25 12:10 
Ну так OpenGL это уже легаси, мобилки требуют OpenGL ES, десктоп требует Vulkan/DirectX 12.
И даже на мобилках поддержка вулкана уже больше половины устройств.

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 12:30 
> Ну, кто там бздил, что «на Си только легаси»

Так это отличное подтверждение))
На древнем дидовом языке пишут поддержку древнего дидового OpenGL. Тот самым GL, который дропается в пользу современного вулкана всеми, кроме любителей некрожелеза.

Они просто созданы друг для друго!


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 14:14 
А что запоёшь, если напишут PortableVulkan на С ?

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 11:47 
Подскажите, уважаемые, а на чём было написано изначально?
Казалось полмира уже на Сях, а тут на тебе.

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 12:08 
Какую книгу посоветуете для изучения Си с нуля? В забугорских сайтах рекомендуют книгу Кернигана и Ритчи, но вот там стандарт старый, не хочется потом заново всё переучивать. Но и учить только по новому стандарту тоже нереально. Имеется ли что-то простое на подобии К&Р, но актуальное?

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено kravich , 15-Сен-25 12:11 
K&R это и есть самое актуальное. Во втором издании там нормальный ANSI C, который с момента появления поменялся примерно никак (уж точно принципиальных изменений, мешающих обучению по K&R не произошло)

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 13:31 
> K&R это и есть самое актуальное
> ANSI C

Это шутка? ANSI C уже давно не является самым актуальным.


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 15:42 
> Во втором издании там нормальный ANSI C
> уж точно принципиальных изменений, мешающих обучению по K&R не произошло

Второе издание особо не меняли, в нём нет чётко выделенных идей UB, TBAA и "опасности" оптимизирующего компилятора. И нет оговорок, как отходят от стандартного C в самой книге или в реальном коде (-fno-strict-aliasing и т.д.).

Гнать людей в K&R2 - это, наверное, значит гнать людей в Rust путём прививания отвращения к C. Типа "легаси, накопившееся в языке, студента может не сломить, но если ещё и книжку устаревшую подсунуть, то двойным ударом мы..."

"the implementation of malloc/free in K&R is not conformant ISO C code" *
"Neither K&R2 nor [33] mentions "undefined behavior", but it is a central if controversial concept in ISO C"
https://arxiv.org/pdf/2201.07845

* это не про первое издание, "Even then, it remains unclear how to write these functions in conformant ISO C".


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 12:13 
cppreference[.]com/w/c[.]html

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено анонимммм , 15-Сен-25 12:26 
K&R норм, но без практики книга смысла не имеет. В K&R кое какая практика есть, но недостаточно.

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 14:07 
Richard Stallman and Trevis Rothwell plus Nelson Beebe on floating point, "GNU C Language Intro and Reference Manual"

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 14:25 
C Programming: A Modern Approach - K. N. King

Modern C - J. Gustedt


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Мохнонос , 15-Сен-25 15:29 
Так ведь самый нетерпимый к js, самый олдскульный, самый эгоцентричный и при этом один фиг - крутой преподаватель Столяров Андрей Викторович, и его трёхтомник.
http://stolyarov.info/books

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 12:16 
А акселерацию с драйверами каких видеокарт оно умеет?

Открытый драйвер Nvidia умеет использовать?


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено kravich , 15-Сен-25 12:27 
>Из областей применения упоминаются ... использование для работы с 3D-графикой на системах без GPU

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 12:52 
Ну правильно! Он и спрашивает про невидию.

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 14:08 
> Открытый драйвер Nvidia умеет использовать?
> Открытый драйвер

И ви это називаете драйвером?))


"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 14:16 
Оно не использует никакое ускорение. Это софтовая реализация на CPU в обычной памяти.

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 12:41 
Чет не собирается. glfw какой-то с ошибкой strdup не видит, надо обновлять до версии 3.4. Короче какое-то говно мамонта несобираемое.

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 13:10 
Вот бы еще под FreeDOS сабж собирался. Было бы не плохо.

"Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "
Отправлено Аноним , 15-Сен-25 15:41 
Интересно, и это тоже написано с помощью ChatGPT, как и валяные композиторы?