The OpenNET Project / Index page

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



"Выпуск PortableGL 0.97, реализации OpenGL 3 на языке Си"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

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

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 03-Мрт-23, 22:59   +3 +/
Ничего не понял, opengl ведь и так на C
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #5, #26

3. Сообщение от Ydro (?), 03-Мрт-23, 23:06   +1 +/
В новости: Программная реализация API OpenGL 3.x для работы с 3D-графикой на системах без GPU.
Ответить | Правка | Наверх | Cообщить модератору

4. Сообщение от Аноним (4), 03-Мрт-23, 23:07   +8 +/
Это программный рендерер. Подаёшь на вход текстуры и шейдер, на выходе - 2Д картинка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

5. Сообщение от Аноним (5), 03-Мрт-23, 23:40   +2 +/
Рассматривай это как простенький аналог гугловского Swiftshader, который позволяет запускать DirectX, OpenGL, Vulkan на процессорах,а не видеокартах.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

6. Сообщение от Аноним (6), 03-Мрт-23, 23:43   –23 +/
Мёртвая технология на вымирающим языке для ископаемых систем без GPU из музея. Я ничего не упустил?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

7. Сообщение от Аноним (7), 03-Мрт-23, 23:49   +/
>высокая производительность
>software rasterization
>no even llvmpipe/lavapipe

/0

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9

8. Сообщение от Аноним (8), 03-Мрт-23, 23:52   –2 +/
Вот бы еще кто-то переписал так же на Си пользовательскую библиотеку вроде Qt и рендеринг сделал на каком-нибудь API вроде OpenGL можно было бы и там подкрутить для работы с C++ и тут подкрутить для работы с софтверным рендерером. А там недалеко и до внедрения в Widnows, Liunux и macOS ;)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #19, #21, #23

9. Сообщение от Аноним (9), 03-Мрт-23, 23:55   +2 +/
Думается, тут либо портабельность, либо производительность. Наверно, имелась ввиду оптимизация кода в сторону производительности, а не просто написание рендерера типа референсного чтобы он работал как-нибудь, главное чтобы картинку выдавал правильную.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

10. Сообщение от Аноним (10), 03-Мрт-23, 23:56   –1 +/
Да, ты почти всё упустил.
Цели проекта - образовательные и "использование в особых случаях" и для хобби-проектов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #18

11. Сообщение от Аноним (11), 04-Мрт-23, 00:00   –2 +/
И зачем это нужно?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14

12. Сообщение от Аноним (12), 04-Мрт-23, 00:02   –1 +/
Для легкой графики на изящное гаечке!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #30

13. Сообщение от Аноним (11), 04-Мрт-23, 00:17   +/
На АМ2 сокете пойдёт?
ПЦИ экспресс есть, но первой версии((
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #39

14. Сообщение от Аноним (14), 04-Мрт-23, 01:58   +1 +/
В статье же написано...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #17

16. Сообщение от anonymous (??), 04-Мрт-23, 02:13   +/
но это же Qml, кроме того что Си там нет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

17. Сообщение от Аноним (11), 04-Мрт-23, 05:58   –4 +/
Я не понял причём здесь прикреплённые картинки
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #29

18. Сообщение от Аноним (18), 04-Мрт-23, 06:40   –8 +/
Зачем учить мёртвым технологиям (OpenGL) на умирающем языке из 70-х (C)?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

19. Сообщение от trdm (ok), 04-Мрт-23, 06:43   +/
Да, скорость отрисовки у Qt оставяет желать лучшего.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #42

20. Сообщение от Аноним (20), 04-Мрт-23, 06:50   +1 +/
Судя по описанию, оно не полностью OpenGL 3.x совместимое, т.к. шейдеры надо писать на си, а константы передавать указателями. Т.е. там свое API и просто так взять прогу под OpenGL и запустить на этом не получится.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24

21. Сообщение от Аноним (21), 04-Мрт-23, 07:13   +/
Попробуйте переписать сложную библиотеку на классах и наследовании на ANSI C. Уверена, у вас получится
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #22, #27, #52, #54, #62

22. Сообщение от Бабуин15 (?), 04-Мрт-23, 08:40   +2 +/
winapi, внезапно
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #38, #40

23. Сообщение от Аноним (23), 04-Мрт-23, 08:46   –1 +/
Есть FLTK. Он конечно тоже на C++, но сделан гораздо проще, чем Qt, и даже проще чем пока что сишный Gtk. И при этом кроссплатформенный: Windows, Linux (пока что только x11, обещают и wayland тоже завезти), и macOS
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #25, #37, #41

24. Сообщение от Аноним (23), 04-Мрт-23, 08:48   +/
Если шейдеры не glsl, тогда тем более смысла нет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #44

25. Сообщение от Аноним (25), 04-Мрт-23, 08:51   +1 +/
Нет ни одной программы, его использующей, и это не совпадение. Какой-то код вообще могли написать только студни из-за того что автор плючей активно наяривал на этот тулкит, но и студни в адеквате быстро находили куда сбежать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #28, #31, #36

26. Сообщение от Аноним (26), 04-Мрт-23, 09:04   +/
> Ничего не понял, opengl ведь и так на C

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #51, #61

27. Сообщение от Sw00p aka Jerom (?), 04-Мрт-23, 09:36   +/
>переписать сложную библиотеку

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #33

28. Сообщение от Аноним (28), 04-Мрт-23, 10:27   –1 +/
Nuke и Modo используют под линуксом FLTK. И у них всё работает. И это при том что у них раньше была только Линукс версия.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

29. Сообщение от Аноним (28), 04-Мрт-23, 10:29   +1 +/
При что результат работы библиотеки.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #49

30. Сообщение от Анонус (?), 04-Мрт-23, 10:45   +/
В Haiku вроде Mesa поддерживается. Насчет аппаратного ускорения правда не знаю.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

31. Сообщение от Рустик (?), 04-Мрт-23, 11:20   +/
Популярный тайм трекер hubstuff на нём написан. Его многим удалёнщикам впихивают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

32. Сообщение от Рустик (?), 04-Мрт-23, 11:24   +1 +/
С поддержкой графического расширения для riscv была бы бомба https://riscv.org/news/2021/02/custom-graphics-extensions-bo.../
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #34

33. Сообщение от Аноним (21), 04-Мрт-23, 12:27   +1 +/
Приступайте
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

34. Сообщение от Аноним (34), 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...

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #35

35. Сообщение от Аноним (34), 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/

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

36. Сообщение от Anonymus (?), 04-Мрт-23, 14:59   +/
WinBox же, ну.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

37. Сообщение от Аноним (1), 04-Мрт-23, 15:17   +/
FLWM, EDE
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

38. Сообщение от Аноним (38), 04-Мрт-23, 15:19   +1 +/
А где там наследование?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #43

39. Сообщение от Аноним (38), 04-Мрт-23, 15:23   +/
Да, в принцыпе, и на Socket-7 пойдёт, но...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #55

40. Сообщение от Аноним (7), 04-Мрт-23, 15:37   +/
и получится говно, которым невозможно пользоваться напрямую, поэтому все юзают прослойки даже в чисто виндовых приложениях.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #47

41. Сообщение от Аноним (7), 04-Мрт-23, 15:37   +/
fltk - говно. Пробовал. Невозможно пользоваться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

42. Сообщение от Аноним (42), 04-Мрт-23, 19:24   –1 +/
"Qt" на Си - это gtk!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #53

43. Сообщение от Аноним (42), 04-Мрт-23, 19:25   +1 +/
внезапно, у окон есть классы, а обработчики сообщений можно наследовать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #50

44. Сообщение от Аноним (42), 04-Мрт-23, 19:42   +2 +/
жесть...


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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #48, #58, #60

46. Сообщение от Геймер (?), 04-Мрт-23, 20:31   +/
Что-то подобное для STM32 запилить. Новая 3dfx будет.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #63

47. Сообщение от Аноним (47), 04-Мрт-23, 21:51   +/
При чем в самой MS в разных отделах свои обертки
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

48. Сообщение от Анонимусс (?), 04-Мрт-23, 22:23   +/
Какой красивый, изящный, а главное понятный код!
Ни одного лишнего символа, ни одной закорючки!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

49. Сообщение от Аноним (11), 04-Мрт-23, 23:56   –2 +/
Главное сам себя лайкай побольше
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

50. Сообщение от Аноним (10), 05-Мрт-23, 00:40   +2 +/
Это примерно как приплести сюда классовую теорию Маркса и вступление в наследование по завещанию. Нуачо, тоже ведь классы и наследование.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

51. Сообщение от Аноним (51), 05-Мрт-23, 01:04   +3 +/
На том самом Эльбрусе, который больше не производится? Железные гарантии. Никаких корпораций.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #56

52. Сообщение от Аноним (51), 05-Мрт-23, 01:08   –1 +/
И не говорите! Ещё бы сказали DE и ядро ОС написать на С. Чушь какая-то. Обязательно надо с классами, наследованием да ещё побольше библиотек типа буста. Such development, much OOP.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

53. Сообщение от adolfus (ok), 05-Мрт-23, 01:46   +1 +/
Не смешно. Нынешний GTK абсолютно убогий. В виндах двадцатилетней давности движок (ЕМНИП, gdi32) на порядок был круче и работать с ним было гораздо приятнее -- что хотел, то и сделал.
Проблема нынешних движков в избыточной многослойности, из-за чего невозможно сделать эффективный субклассинг виджетов, а также из-за использования ООП-наследования невозможно изменить что-то без коренной переделки всей иерархии. Если посчитать, сколько слоев между libX11 и проcтым полем ввода с клавиатуры, можно со счету сбиться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

54. Сообщение от adolfus (ok), 05-Мрт-23, 02:28   +2 +/
> Попробуйте переписать сложную библиотеку на классах и наследовании на 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 слот. И никакая нагрузка на систему не могла увеличить время отклика.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

55. Сообщение от Технопозор (?), 05-Мрт-23, 03:04   +/
Socket 7 не актуален. На АМ2 есть пци экспресс а значит система актуальная.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

56. Сообщение от Аноним (26), 05-Мрт-23, 09:18   –3 +/
> На том самом Эльбрусе, который больше не производится?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #57

57. Сообщение от Аноним (57), 05-Мрт-23, 16:08   +2 +/
Единственный представитель единственной немейнстримной архитектуры, которого, можно сказать, не существует в природе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #59, #65, #66

58. Сообщение от Аноним (21), 05-Мрт-23, 16:54   +/
>*(vec4*)&b

😭

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

59. Сообщение от Аноним (59), 05-Мрт-23, 19:15   –1 +/
> Единственный представитель единственной немейнстримной архитектуры

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

60. Сообщение от . (?), 06-Мрт-23, 00:08   +/
научи как надо. или это перепись дурачков?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

61. Сообщение от Аноним (-), 07-Мрт-23, 09:26   +/
У них вроде amdgpu работал же и pci-e есть. Зачем им софтварный рендер?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #64

62. Сообщение от Аноним (-), 07-Мрт-23, 09:30   +/
> Попробуйте переписать сложную библиотеку на классах и наследовании на ANSI C.
> Уверена, у вас получится

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

63. Сообщение от Аноним (-), 07-Мрт-23, 09:32   +/
Для запуска пошаговой стратегии. Вы загрузили текстуры и шейдеры. Ход переходит к CPU...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

64. Сообщение от Аноним (65), 07-Мрт-23, 10:53   +/
> У них вроде amdgpu работал же и pci-e есть. Зачем им софтварный рендер?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

65. Сообщение от Аноним (65), 07-Мрт-23, 18:13   +/
> Единственный представитель единственной немейнстримной архитектуры

держи ещё

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

66. Сообщение от Аноним (65), 08-Мрт-23, 08:27   +/
> Единственный представитель единственной немейнстримной архитектуры

ещё держи

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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