The OpenNET Project / Index page

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

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

03.03.2023 22:54

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

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



  1. Главная ссылка к новости (https://github.com/rswinkle/Po...)
  2. OpenNews: Релиз Mesa 23.0, свободной реализации OpenGL и Vulkan
  3. OpenNews: В GNOME Mutter будет прекращена поддержка старых версий OpenGL
  4. OpenNews: Linux-драйвер для GPU чипов Apple M1 прошёл 99% тестов совместимости с OpenGL ES 2
  5. OpenNews: Collabora развивает надстройку для работы OpenCL и OpenGL поверх DirectX
  6. OpenNews: Выпуск спецификации OpenGL 4.6
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58741-portablegl
Ключевые слова: portablegl, opengl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (63) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:59, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Ничего не понял, opengl ведь и так на C
     
     
  • 2.4, Аноним (4), 23:07, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Это программный рендерер. Подаёшь на вход текстуры и шейдер, на выходе - 2Д картинка.
     
  • 2.5, Аноним (5), 23:40, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Рассматривай это как простенький аналог гугловского Swiftshader, который позволяет запускать DirectX, OpenGL, Vulkan на процессорах,а не видеокартах.
     
  • 2.26, Аноним (26), 09:04, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ничего не понял, opengl ведь и так на C

    это переносимый аналог  

    https://docs.mesa3d.org/drivers/llvmpipe.html

    не привязанный к поделкам корпораций, можно использовать на любом процессоре, например на vliw эльбрусе, на любом где есть С99. Там где нужны гарантии С незаменим

    https://www.osp.ru/os/2020/01/13055346

     
     
  • 3.51, Аноним (51), 01:04, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    На том самом Эльбрусе, который больше не производится? Железные гарантии. Никаких корпораций.
     
     
  • 4.56, Аноним (26), 09:18, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > На том самом Эльбрусе, который больше не производится?

    я знал что с эльбруса обязательно бомбанет у кого-то :) но на первом месте vliw как пример не майнстримной архитектуры

     
     
  • 5.57, Аноним (57), 16:08, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Единственный представитель единственной немейнстримной архитектуры, которого, можно сказать, не существует в природе.
     
     
  • 6.59, Аноним (59), 19:15, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Единственный представитель единственной немейнстримной архитектуры

    используются они где уместно, только твои жрецы из корпораций не расскажут тебе про это - дадут API и работай с ним

    https://forums.developer.nvidia.com/t/vision-accelerator-mdash-7-way-vliw-proc

     
  • 6.65, Аноним (65), 18:13, 07/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Единственный представитель единственной немейнстримной архитектуры

    держи ещё

    https://www.phoronix.com/news/Kalray-KVX-Linux-Port

     
  • 6.66, Аноним (65), 08:27, 08/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Единственный представитель единственной немейнстримной архитектуры

    ещё держи

    https://www.tomshardware.com/news/tachyum-128-core-all-purpose-cpu

     
  • 3.61, Аноним (-), 09:26, 07/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    У них вроде amdgpu работал же и pci-e есть. Зачем им софтварный рендер?
     
     
  • 4.64, Аноним (65), 10:53, 07/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > У них вроде amdgpu работал же и pci-e есть. Зачем им софтварный рендер?

    строго говоря все рендеры софтовые, вопрос - зачем рендерить на специальном процессоре компилируя на лету задачи и запихивая команды и данные через PCIe если их CPU изначально спроектирован под параллельные вычисления - все предыдущие реализации AMD GPU были VLIW. Сделай побольше ядер и выделяй под задачи.

     

  • 1.3, Ydro (?), 23:06, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В новости: Программная реализация API OpenGL 3.x для работы с 3D-графикой на системах без GPU.
     
  • 1.6, Аноним (6), 23:43, 03/03/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –23 +/
     

     ....ответы скрыты (2)

  • 1.7, Аноним (7), 23:49, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >высокая производительность
    >software rasterization
    >no even llvmpipe/lavapipe

    /0

     
     
  • 2.9, Аноним (9), 23:55, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Думается, тут либо портабельность, либо производительность. Наверно, имелась ввиду оптимизация кода в сторону производительности, а не просто написание рендерера типа референсного чтобы он работал как-нибудь, главное чтобы картинку выдавал правильную.
     

  • 1.8, Аноним (8), 23:52, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Вот бы еще кто-то переписал так же на Си пользовательскую библиотеку вроде Qt и рендеринг сделал на каком-нибудь API вроде OpenGL можно было бы и там подкрутить для работы с C++ и тут подкрутить для работы с софтверным рендерером. А там недалеко и до внедрения в Widnows, Liunux и macOS ;)
     
     
  • 2.16, anonymous (??), 02:13, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    но это же Qml, кроме того что Си там нет
     
  • 2.19, trdm (ok), 06:43, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, скорость отрисовки у Qt оставяет желать лучшего.
     
     
  • 3.42, Аноним (42), 19:24, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Qt" на Си - это gtk!
     
     
  • 4.53, adolfus (ok), 01:46, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не смешно. Нынешний GTK абсолютно убогий. В виндах двадцатилетней давности движок (ЕМНИП, gdi32) на порядок был круче и работать с ним было гораздо приятнее -- что хотел, то и сделал.
    Проблема нынешних движков в избыточной многослойности, из-за чего невозможно сделать эффективный субклассинг виджетов, а также из-за использования ООП-наследования невозможно изменить что-то без коренной переделки всей иерархии. Если посчитать, сколько слоев между libX11 и проcтым полем ввода с клавиатуры, можно со счету сбиться.
     
  • 2.21, Аноним (21), 07:13, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуйте переписать сложную библиотеку на классах и наследовании на ANSI C. Уверена, у вас получится
     
     
  • 3.22, Бабуин15 (?), 08:40, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    winapi, внезапно
     
     
  • 4.38, Аноним (38), 15:19, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А где там наследование?
     
     
  • 5.43, Аноним (42), 19:25, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    внезапно, у окон есть классы, а обработчики сообщений можно наследовать
     
     
  • 6.50, Аноним (10), 00:40, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это примерно как приплести сюда классовую теорию Маркса и вступление в наследование по завещанию. Нуачо, тоже ведь классы и наследование.
     
  • 4.40, Аноним (7), 15:37, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    и получится говно, которым невозможно пользоваться напрямую, поэтому все юзают прослойки даже в чисто виндовых приложениях.
     
     
  • 5.47, Аноним (47), 21:51, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    При чем в самой MS в разных отделах свои обертки
     
  • 3.27, Sw00p aka Jerom (?), 09:36, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >переписать сложную библиотеку

    если в вашей библиотеке черт ногу сломит - смысл переписывать? легче с нуля писать.

     
     
  • 4.33, Аноним (21), 12:27, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Приступайте
     
  • 3.52, Аноним (51), 01:08, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И не говорите! Ещё бы сказали DE и ядро ОС написать на С. Чушь какая-то. Обязательно надо с классами, наследованием да ещё побольше библиотек типа буста. Such development, much OOP.
     
  • 3.54, adolfus (ok), 02:28, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Наследование -- зло, а если используется полиморфизм, то это реально ад Как тол... большой текст свёрнут, показать
     
  • 3.62, Аноним (-), 09:30, 07/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Попробуйте переписать сложную библиотеку на классах и наследовании на ANSI C.
    > Уверена, у вас получится

    У некоторых довольно круто получается. Ну вон Tox сделал мессенжер-в-либе. И их апи даст мастеркласс любому плсюовику по лаконичности и простоте использования.

    Мораль сей басни такова: лишь единицы на всей планете могут нормально пользоваться крутыми абстракциями. Остальные генерят крутейшую дичь, не подлежащую майнтенансу. И если они обложились наследованиями, возможно, они просто облажались в абстракциях и вместо занятий своей проблемой занялись наворачиванием абстракций. Абстракции штука такая - там главное вовремя остановиться, иначе можно в бесконечную рекурсию уйти. А желающих читать такой код будет примерно ноль. Кому охота бесконечно времени в код въезжать?

     
  • 2.23, Аноним (23), 08:46, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Есть FLTK. Он конечно тоже на C++, но сделан гораздо проще, чем Qt, и даже проще чем пока что сишный Gtk. И при этом кроссплатформенный: Windows, Linux (пока что только x11, обещают и wayland тоже завезти), и macOS
     
     
  • 3.25, Аноним (25), 08:51, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет ни одной программы, его использующей, и это не совпадение. Какой-то код вообще могли написать только студни из-за того что автор плючей активно наяривал на этот тулкит, но и студни в адеквате быстро находили куда сбежать.
     
     
  • 4.28, Аноним (28), 10:27, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Nuke и Modo используют под линуксом FLTK. И у них всё работает. И это при том что у них раньше была только Линукс версия.
     
  • 4.31, Рустик (?), 11:20, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Популярный тайм трекер hubstuff на нём написан. Его многим удалёнщикам впихивают.
     
  • 4.36, Anonymus (?), 14:59, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    WinBox же, ну.
     
  • 3.37, Аноним (1), 15:17, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    FLWM, EDE
     
  • 3.41, Аноним (7), 15:37, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    fltk - говно. Пробовал. Невозможно пользоваться.
     

  • 1.11, Аноним (11), 00:00, 04/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    И зачем это нужно?
     
     
  • 2.14, Аноним (14), 01:58, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В статье же написано...
     
     
  • 3.17, Аноним (11), 05:58, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Я не понял причём здесь прикреплённые картинки
     
     
  • 4.29, Аноним (28), 10:29, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При что результат работы библиотеки.  
     
     
  • 5.49, Аноним (11), 23:56, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Главное сам себя лайкай побольше
     

  • 1.12, Аноним (12), 00:02, 04/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Для легкой графики на изящное гаечке!
     
     
  • 2.30, Анонус (?), 10:45, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В Haiku вроде Mesa поддерживается. Насчет аппаратного ускорения правда не знаю.
     

  • 1.13, Аноним (11), 00:17, 04/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На АМ2 сокете пойдёт?
    ПЦИ экспресс есть, но первой версии((
     
     
  • 2.39, Аноним (38), 15:23, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, в принцыпе, и на Socket-7 пойдёт, но...
     
     
  • 3.55, Технопозор (?), 03:04, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Socket 7 не актуален. На АМ2 есть пци экспресс а значит система актуальная.
     

  • 1.20, Аноним (20), 06:50, 04/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Судя по описанию, оно не полностью OpenGL 3.x совместимое, т.к. шейдеры надо писать на си, а константы передавать указателями. Т.е. там свое API и просто так взять прогу под OpenGL и запустить на этом не получится.
     
     
  • 2.24, Аноним (23), 08:48, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если шейдеры не glsl, тогда тем более смысла нет
     
     
  • 3.44, Аноним (42), 19:42, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    жесть...


    void normal_vs(float* vs_output, void* vertex_attribs, Shader_Builtins* builtins, void* uniforms)
    {
    *(vec4*)&builtins->gl_Position = ((vec4*)vertex_attribs)[0];
    }

     
     
  • 4.48, Анонимусс (?), 22:23, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какой красивый, изящный, а главное понятный код!
    Ни одного лишнего символа, ни одной закорючки!
     
  • 4.58, Аноним (21), 16:54, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >*(vec4*)&b

    😭

     
  • 4.60, . (?), 00:08, 06/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    научи как надо. или это перепись дурачков?
     

  • 1.32, Рустик (?), 11:24, 04/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    С поддержкой графического расширения для riscv была бы бомба https://riscv.org/news/2021/02/custom-graphics-extensions-boost-risc-v-nick-fl
     
     
  • 2.34, Аноним (34), 12:31, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > С поддержкой графического расширения для riscv была бы бомба

    они их разрабатывают в codasip studio

    https://www.eenewseurope.com/en/custom-graphics-extensions-boost-risc-v/

    он автоматом генерирует компиляторы С/С++ с поддержкой всех расширений

    https://codasip.com/wp-content/uploads/2022/02/Codasip_Studio_flyer_EN.pdf

    компиляй и пользуйся

     
     
  • 3.35, Аноним (34), 12:38, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати язык описания процессоров С-like синтаксисом - кто бы сомневался. хахаха

    > CodAL, standing for Codasip Architectural Language, is central to developing a processor core using Codasip Studio. The language has a C-like syntax and it merges good practices and code constructs from conventional programming languages and hardware description languages.

    https://riscv.org/news/2021/02/what-is-codal-codasip/

     

  • 1.46, Геймер (?), 20:31, 04/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то подобное для STM32 запилить. Новая 3dfx будет.
     
     
  • 2.63, Аноним (-), 09:32, 07/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для запуска пошаговой стратегии. Вы загрузили текстуры и шейдеры. Ход переходит к CPU...
     

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



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

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