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

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

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

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


Содержание

Сообщения в этом обсуждении
"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 03-Мрт-23 22:59 
Ничего не понял, opengl ведь и так на C

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 03-Мрт-23 23:07 
Это программный рендерер. Подаёшь на вход текстуры и шейдер, на выходе - 2Д картинка.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 03-Мрт-23 23:40 
Рассматривай это как простенький аналог гугловского Swiftshader, который позволяет запускать DirectX, OpenGL, Vulkan на процессорах,а не видеокартах.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 09:04 
> Ничего не понял, opengl ведь и так на C

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

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

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

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


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 05-Мрт-23 01:04 
На том самом Эльбрусе, который больше не производится? Железные гарантии. Никаких корпораций.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 05-Мрт-23 09:18 
> На том самом Эльбрусе, который больше не производится?

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


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 05-Мрт-23 16:08 
Единственный представитель единственной немейнстримной архитектуры, которого, можно сказать, не существует в природе.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 05-Мрт-23 19:15 
> Единственный представитель единственной немейнстримной архитектуры

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

https://forums.developer.nvidia.com/t/vision-accelerator-mda...


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 07-Мрт-23 18:13 
> Единственный представитель единственной немейнстримной архитектуры

держи ещё

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


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 08-Мрт-23 08:27 
> Единственный представитель единственной немейнстримной архитектуры

ещё держи

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


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 07-Мрт-23 09:26 
У них вроде amdgpu работал же и pci-e есть. Зачем им софтварный рендер?

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 07-Мрт-23 10:53 
> У них вроде amdgpu работал же и pci-e есть. Зачем им софтварный рендер?

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


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Ydro , 03-Мрт-23 23:06 
В новости: Программная реализация API OpenGL 3.x для работы с 3D-графикой на системах без GPU.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 03-Мрт-23 23:43 
Мёртвая технология на вымирающим языке для ископаемых систем без GPU из музея. Я ничего не упустил?

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 03-Мрт-23 23:56 
Да, ты почти всё упустил.
Цели проекта - образовательные и "использование в особых случаях" и для хобби-проектов.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 06:40 
Зачем учить мёртвым технологиям (OpenGL) на умирающем языке из 70-х (C)?

Это как учить искусству кровопускания, устройство ветряной мельницы или глаголицу изучать. Кому-то прикольно, но в данном случае даже культурной ценности никакой.


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 03-Мрт-23 23:49 
>высокая производительность
>software rasterization
>no even llvmpipe/lavapipe

/0


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 03-Мрт-23 23:55 
Думается, тут либо портабельность, либо производительность. Наверно, имелась ввиду оптимизация кода в сторону производительности, а не просто написание рендерера типа референсного чтобы он работал как-нибудь, главное чтобы картинку выдавал правильную.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 03-Мрт-23 23:52 
Вот бы еще кто-то переписал так же на Си пользовательскую библиотеку вроде Qt и рендеринг сделал на каком-нибудь API вроде OpenGL можно было бы и там подкрутить для работы с C++ и тут подкрутить для работы с софтверным рендерером. А там недалеко и до внедрения в Widnows, Liunux и macOS ;)

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено anonymous , 04-Мрт-23 02:13 
но это же Qml, кроме того что Си там нет

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено trdm , 04-Мрт-23 06:43 
Да, скорость отрисовки у Qt оставяет желать лучшего.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 19:24 
"Qt" на Си - это gtk!

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено adolfus , 05-Мрт-23 01:46 
Не смешно. Нынешний GTK абсолютно убогий. В виндах двадцатилетней давности движок (ЕМНИП, gdi32) на порядок был круче и работать с ним было гораздо приятнее -- что хотел, то и сделал.
Проблема нынешних движков в избыточной многослойности, из-за чего невозможно сделать эффективный субклассинг виджетов, а также из-за использования ООП-наследования невозможно изменить что-то без коренной переделки всей иерархии. Если посчитать, сколько слоев между libX11 и проcтым полем ввода с клавиатуры, можно со счету сбиться.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 07:13 
Попробуйте переписать сложную библиотеку на классах и наследовании на ANSI C. Уверена, у вас получится

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Бабуин15 , 04-Мрт-23 08:40 
winapi, внезапно

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 15:19 
А где там наследование?

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 19:25 
внезапно, у окон есть классы, а обработчики сообщений можно наследовать

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 05-Мрт-23 00:40 
Это примерно как приплести сюда классовую теорию Маркса и вступление в наследование по завещанию. Нуачо, тоже ведь классы и наследование.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 15:37 
и получится говно, которым невозможно пользоваться напрямую, поэтому все юзают прослойки даже в чисто виндовых приложениях.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 21:51 
При чем в самой MS в разных отделах свои обертки

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Sw00p aka Jerom , 04-Мрт-23 09:36 
>переписать сложную библиотеку

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


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 12:27 
Приступайте

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 05-Мрт-23 01:08 
И не говорите! Ещё бы сказали DE и ядро ОС написать на С. Чушь какая-то. Обязательно надо с классами, наследованием да ещё побольше библиотек типа буста. Such development, much OOP.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено adolfus , 05-Мрт-23 02:28 
> Попробуйте переписать сложную библиотеку на классах и наследовании на ANSI C. Уверена,
> у вас получится

Наследование -- зло, а если используется полиморфизм, то это реально ад. Как только выначинаете использовать наследование, вы замораживаете архитектуру приложения. И обнаруженные потом ошибки проектирования уже исправить не получится (привет, опенофис вместе с либрой).

В IBM OS/2 был объектный десктоп Work Place Shell. Он был написан на си первой версии, а может даже и на K&R. При том, что их VAC (Visual Age С) имел великолепный C++ компилятор и реально визуальные средства проектирования обюъекто-ориентированных приложений, под котороым ходило несчто напоминающее нынешний Qt -- "слоты" и "сообщения".
WPS, написанный на си был реально объектным десктопом. Уровень юзабельности того дескотопа сегодня так и не достигнут ни на одной настольной системе. Про настоящий драг-н-дроп я уже и не говорю -- сегодня ни на одном десктопе нет той подержки, что была в OS/2 WPS. Даже в макоси такой нет.
И никто не использовал при его разработке никаких специальных объектно-ориентированных языков (может поэтому и получился WPS настоящим объектным). Кстати, по любому консольному событию, будь то перемещение или клик мышки, либо клавиатурное событие, он давал отклик раньше, чем человек мог углядеть хоть какую-нибудь задержку. Мышка, например, генерирует данные каждые 10 мс (или чаще). Так вот ни одна нынешняя оконная система за исключением голых иксов неспособна этот поток обработать без децимации. А все потому, что используется масса промежуточных обработчиков, которые занимаются развешиванием свистоперделок типа анимации и прочей херни.
Есть правило --если кликаешь по кнопке. которая создает, активирует и визуализирует окно, то между кликом и готовностью окна к приему ввода должно пройти не более 100 мс. Это правило без проблем соблюдалось на системах с первым i586, памятью в 64 мегабайта и матрасом в режиме 1024x768x16k, воткнутым в простой PCI слот. И никакая нагрузка на систему не могла увеличить время отклика.



"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 07-Мрт-23 09:30 
> Попробуйте переписать сложную библиотеку на классах и наследовании на ANSI C.
> Уверена, у вас получится

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

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


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 08:46 
Есть FLTK. Он конечно тоже на C++, но сделан гораздо проще, чем Qt, и даже проще чем пока что сишный Gtk. И при этом кроссплатформенный: Windows, Linux (пока что только x11, обещают и wayland тоже завезти), и macOS

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 08:51 
Нет ни одной программы, его использующей, и это не совпадение. Какой-то код вообще могли написать только студни из-за того что автор плючей активно наяривал на этот тулкит, но и студни в адеквате быстро находили куда сбежать.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 10:27 
Nuke и Modo используют под линуксом FLTK. И у них всё работает. И это при том что у них раньше была только Линукс версия.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Рустик , 04-Мрт-23 11:20 
Популярный тайм трекер hubstuff на нём написан. Его многим удалёнщикам впихивают.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Anonymus , 04-Мрт-23 14:59 
WinBox же, ну.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 15:17 
FLWM, EDE

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 15:37 
fltk - говно. Пробовал. Невозможно пользоваться.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 00:00 
И зачем это нужно?

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 01:58 
В статье же написано...

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 05:58 
Я не понял причём здесь прикреплённые картинки

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 10:29 
При что результат работы библиотеки.  

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 23:56 
Главное сам себя лайкай побольше

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 00:02 
Для легкой графики на изящное гаечке!

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Анонус , 04-Мрт-23 10:45 
В Haiku вроде Mesa поддерживается. Насчет аппаратного ускорения правда не знаю.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 00:17 
На АМ2 сокете пойдёт?
ПЦИ экспресс есть, но первой версии((

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 15:23 
Да, в принцыпе, и на Socket-7 пойдёт, но...

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Технопозор , 05-Мрт-23 03:04 
Socket 7 не актуален. На АМ2 есть пци экспресс а значит система актуальная.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 06:50 
Судя по описанию, оно не полностью OpenGL 3.x совместимое, т.к. шейдеры надо писать на си, а константы передавать указателями. Т.е. там свое API и просто так взять прогу под OpenGL и запустить на этом не получится.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 08:48 
Если шейдеры не glsl, тогда тем более смысла нет

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 19:42 
жесть...


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


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Анонимусс , 04-Мрт-23 22:23 
Какой красивый, изящный, а главное понятный код!
Ни одного лишнего символа, ни одной закорючки!

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 05-Мрт-23 16:54 
>*(vec4*)&b

😭


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено . , 06-Мрт-23 00:08 
научи как надо. или это перепись дурачков?

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Рустик , 04-Мрт-23 11:24 
С поддержкой графического расширения для riscv была бы бомба https://riscv.org/news/2021/02/custom-graphics-extensions-bo.../

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 12:31 
> С поддержкой графического расширения для riscv была бы бомба

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

https://www.eenewseurope.com/en/custom-graphics-extensions-b.../

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

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

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


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 04-Мрт-23 12:38 
Кстати язык описания процессоров С-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/


"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Геймер , 04-Мрт-23 20:31 
Что-то подобное для STM32 запилить. Новая 3dfx будет.

"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Отправлено Аноним , 07-Мрт-23 09:32 
Для запуска пошаговой стратегии. Вы загрузили текстуры и шейдеры. Ход переходит к CPU...