The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си

15.09.2025 10:37

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

Проектом определены такие цели, как переносимость, соответствие API OpenGL, простота использования, простой код и высокая производительность. Из областей применения упоминаются обучение концепциям построения графических API, использование для работы с 3D-графикой на системах без GPU и интеграция поддержи OpenGL в специфичные операционные системы, для которых не перенесён пакет Mesa3D. Из готовых проектов, использующих PortableGL, отмечается порт Minecraft-подобной игры Craft.

В новой версии продолжено наращивание функций и возможностей OpenGL, реализована поддержка вызовов glColorMask() и glDebugMessageCallback(), добавлен макрос PGL_UNSAFE для отключения проверки ошибок, добавлен макрос PGLDEF для определения прототипов атрибутов, переработано использование OpenGL-типов в публичном API.

  1. Главная ссылка к новости (https://github.com/rswinkle/Po...)
  2. OpenNews: Релиз Mesa 25.2, свободной реализации OpenGL и Vulkan
  3. OpenNews: Эксперимент по использованию AI для перевода приложения с GTK2 и OpenGL на GTK4 и Vulkan
  4. OpenNews: В Mesa принят amdgpu_virtio для использования OpenGL и Vulkan в гостевых системах
  5. OpenNews: Выпуск графической библиотеки IGL 1.0, абстрагирующей работу с OpenGL, Metal, Vulkan и WebGL
  6. OpenNews: Опубликован графический стандарт Vulkan 1.4
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63879-portablegl
Ключевые слова: portablegl, opengl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Fracta1L (ok), 11:37, 15/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > написанную целиком на языке Си

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

     
     
  • 2.3, Аноним (3), 11:39, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так присмотрись. Это примеры. И внешняя либа, которую затащили в исходники, чтобы не плодить зависимости.
     

  • 1.4, Аноним (4), 11:43, 15/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > использование для работы с 3D-графикой на системах без GPU

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

     
     
  • 2.9, kravich (ok), 12:09, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В embedded полно SoC-ов с нормальным фреймбуффером, но без 3D ускорителя
     
     
  • 3.15, IMBird (ok), 12:16, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, окупаются ли затраты на эту программную эмуляцию OGL? Поможет ли SIMD ускориться в таких случаях (за счёт всяких NEON)?

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

     
     
  • 4.17, kravich (ok), 12:20, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Интересно, окупаются ли затраты на эту программную эмуляцию OGL? Поможет ли SIMD
    > ускориться в таких случаях (за счёт всяких NEON)?

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

     
     
  • 5.23, IMBird (ok), 12:31, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Интересно, окупаются ли затраты на эту программную эмуляцию OGL? Поможет ли SIMD
    >> ускориться в таких случаях (за счёт всяких NEON)?
    > Да, помогает. Я как-то на подобном SoC делал коммерческую 3D приложуху, где
    > очень сильно выручил llvmpipe, который за счет использования LLVM как раз
    > хорошо ускорен SIMD-ом

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

     
     
  • 6.25, kravich (ok), 12:42, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ~24 кадра в секунду, графика - низкополигональная моделька, окруженная сферической оболочкой, на оболочку выводится realtime видео как текстура через хак в glTexImage2D(), позволяющий llvmpipe-у использовать видеофрейм напрямую по указателю без промежуточного копирования (эрзац аналог не реализованного OES_EGL_image_external). Шейдеров не было. Culling-а тоже не было, с ним может быть было бы даже пободрее
     
  • 3.26, Аноним (4), 12:47, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В embedded полно SoC-ов с нормальным фреймбуффером, но без 3D ускорителя

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

     
  • 2.12, Аноним (12), 12:11, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Встроенки, всякое гвно с кастомными проприетарными сборками линукса (планшеты, телефоны), которые хардарное ускорение никогла больше не увидят.
     

  • 1.5, Аноним (5), 11:47, 15/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ну, кто там бздил, что «на Си только легаси»?
     
     
  • 2.10, Bottle (?), 12:10, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну так OpenGL это уже легаси, мобилки требуют OpenGL ES, десктоп требует Vulkan/DirectX 12.
    И даже на мобилках поддержка вулкана уже больше половины устройств.
     
  • 2.22, Аноним (-), 12:30, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну, кто там бздил, что «на Си только легаси»

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

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

     
     
  • 3.33, Аноним (33), 14:14, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А что запоёшь, если напишут PortableVulkan на С ?
     

  • 1.6, Аноним (6), 11:47, 15/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажите, уважаемые, а на чём было написано изначально?
    Казалось полмира уже на Сях, а тут на тебе.
     
  • 1.8, Аноним (8), 12:08, 15/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какую книгу посоветуете для изучения Си с нуля? В забугорских сайтах рекомендуют книгу Кернигана и Ритчи, но вот там стандарт старый, не хочется потом заново всё переучивать. Но и учить только по новому стандарту тоже нереально. Имеется ли что-то простое на подобии К&Р, но актуальное?
     
     
  • 2.11, kravich (ok), 12:11, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    K&R это и есть самое актуальное. Во втором издании там нормальный ANSI C, который с момента появления поменялся примерно никак (уж точно принципиальных изменений, мешающих обучению по K&R не произошло)
     
     
  • 3.30, Аноним (4), 13:31, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > K&R это и есть самое актуальное
    > ANSI C

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

     
  • 2.14, Аноним (12), 12:13, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    cppreference[.]com/w/c[.]html
     
  • 2.20, анонимммм (?), 12:26, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    K&R норм, но без практики книга смысла не имеет. В K&R кое какая практика есть, но недостаточно.
     
  • 2.31, Аноним (33), 14:07, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Richard Stallman and Trevis Rothwell plus Nelson Beebe on floating point, "GNU C Language Intro and Reference Manual"
     
  • 2.35, Аноним (-), 14:25, 15/09/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.36, Мохнонос (?), 15:29, 15/09/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.16, Аноним (16), 12:16, 15/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А акселерацию с драйверами каких видеокарт оно умеет?

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

     
     
  • 2.21, kravich (ok), 12:27, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Из областей применения упоминаются ... использование для работы с 3D-графикой на системах без GPU
     
     
  • 3.28, Аноним (28), 12:52, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Ну правильно! Он и спрашивает про невидию.
     
  • 2.32, Аноним (-), 14:08, 15/09/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.34, Аноним (33), 14:16, 15/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Оно не использует никакое ускорение. Это софтовая реализация на CPU в обычной памяти.
     

  • 1.24, Аноним (24), 12:41, 15/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чет не собирается. glfw какой-то с ошибкой strdup не видит, надо обновлять до версии 3.4. Короче какое-то говно мамонта несобираемое.
     
  • 1.29, Аноним (-), 13:10, 15/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот бы еще под FreeDOS сабж собирался. Было бы не плохо.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру