The OpenNET Project / Index page

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



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

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

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

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

Оглавление

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


1. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  –2 +/
Сообщение от Fracta1L (ok), 15-Сен-25, 11:37 
> написанную целиком на языке Си

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

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

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

52. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (52), 15-Сен-25, 22:10 
> чтобы не плодить зависимости

Но ведь зависимость осталась, только теперь её нужно собирать ещё раз, и дыры в ней не затыкаются...

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

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

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

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

9. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от kravich (ok), 15-Сен-25, 12:09 
В embedded полно SoC-ов с нормальным фреймбуффером, но без 3D ускорителя
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

56. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (56), 15-Сен-25, 22:41 
Первая халфа и квейк вполне себе бегали на процах тех лет без SIMD вообще с программной растеризацией. А если упростить графен до уровня PS1 - то пойдёт даже cortex m0, есть 3д игруля для raspberry pi pico.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

53. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (52), 15-Сен-25, 22:11 
Outcast на CPU не рисовалась. Ты, возможно, с команчем путаешь.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

57. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (57), 15-Сен-25, 22:57 
Именно на CPU она рисовалась. Только там и движок наподобие команча — в основном рисование террейна, потому что воксели.
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

54. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (52), 15-Сен-25, 22:14 
Спектр реальных задач огромен, в него входит и не-realtime графика, и 2D и сцены из небольшого числа полигонов.
Ответить | Правка | Наверх | Cообщить модератору

59. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (59), 15-Сен-25, 23:07 
> Спектр реальных задач огромен, в него входит и не-realtime графика, и 2D и сцены

Ну вот опять эти абстрактные задачи... Вы реальную систему с реальным юзкейсом приведите.

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

12. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от Аноним (12), 15-Сен-25, 12:11 
Встроенки, всякое гвно с кастомными проприетарными сборками линукса (планшеты, телефоны), которые хардарное ускорение никогла больше не увидят.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

40. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (40), 15-Сен-25, 16:27 
Софтварные движки до сих пор есть, если не нужны вс эти новомодные эффекты, мульон фпс и прочее, они намного проще в использовании и апишечка удобнее.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

42. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (59), 15-Сен-25, 18:24 
> Софтварные движки до сих пор есть

Где ты их видел?

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

55. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (52), 15-Сен-25, 22:15 
Нет таких движков. А если бы были, с чего их API быть проще?
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

58. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (57), 15-Сен-25, 23:00 
> если не нужны вс эти новомодные эффекты, мульон фпс и прочее

…То используются GPU-движки без задействования этих новомодных эффектов (которым лет двадцать уже) и прочего.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

5. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  –4 +/
Сообщение от Аноним (5), 15-Сен-25, 11:47 
Ну, кто там бздил, что «на Си только легаси»?
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

33. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (33), 15-Сен-25, 14:14 
А что запоёшь, если напишут PortableVulkan на С ?
Ответить | Правка | Наверх | Cообщить модератору

45. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от Аноним (45), 15-Сен-25, 18:29 
Так у вулкана самая популярная реализация - на с++ =)
Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (59), 15-Сен-25, 18:41 
> Так у вулкана самая популярная реализация

Это какая?

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

46. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (45), 15-Сен-25, 18:30 
А под современный вулкан на чем пишут?)
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

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

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

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

30. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +2 +/
Сообщение от Аноним (4), 15-Сен-25, 13:31 
> K&R это и есть самое актуальное
> ANSI C

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

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

38. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (38), 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".

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

39. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от анонимммм (?), 15-Сен-25, 15:53 
Главное начать, а потом уже сам разберётся, если базово язык зайдёт.
Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (38), 15-Сен-25, 16:59 
Для начинания надо что-то вдохновляющее.

Если открыть K&R2 в момент выхода, то ого - впереди перспективы. Плюсы ещё слабее современного раста, джава ещё не случилась, раст не случился, бизнес не пошёл в веб как в дешёвую кроссплатформу, государства не понимают что за компьютеры и не лезут с регулированием безопасности.

А сейчас? Не смотреть же на это как на легаси-книжку к легаси-языку.

Особенно когда перед глазами постоянно реализации ООП вручную (автору нужно, а в языке нет) и обобщённого программирования (тут и макросы, и кодогенерация).
https://github.com/rswinkle/PortableGL/blob/master/src/cvect...
https://github.com/rswinkle/PortableGL/blob/master/src/gener...

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

43. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от Аноним (59), 15-Сен-25, 18:27 
> Главное начать, а потом уже сам разберётся, если базово язык зайдёт.

Дальше разбираться у него уже не будет времени, ибо надо что-то кушать, а вакансий с пректами на С почти нет.

Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

44. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (38), 15-Сен-25, 18:28 
Хотя K&R2 выглядит не так плохо, если стандартом языка подтереться (то есть ориентироваться на компиляторы и игнорировать текст стандарта).

На правила алиасинга постоянно кладут, а если задумываются о них, то рассматривают как ошибку в стандарте.
https://github.com/rswinkle/PortableGL/blob/master/src/gl_in...

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

49. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (38), 15-Сен-25, 19:11 
(хотя не, конкретно эта строка без ошибок)
Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (12), 15-Сен-25, 12:13 
cppreference[.]com/w/c[.]html
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

20. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от анонимммм (?), 15-Сен-25, 12:26 
K&R норм, но без практики книга смысла не имеет. В K&R кое какая практика есть, но недостаточно.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

31. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  –1 +/
Сообщение от Аноним (33), 15-Сен-25, 14:07 
Richard Stallman and Trevis Rothwell plus Nelson Beebe on floating point, "GNU C Language Intro and Reference Manual"
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

47. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от Аноним (45), 15-Сен-25, 18:34 
Смешная шутка. Это одно из самых худших пособий по си в мире.
Ответить | Правка | Наверх | Cообщить модератору

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

Modern C - J. Gustedt

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

36. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +4 +/
Сообщение от Мохнонос (?), 15-Сен-25, 15:29 
Так ведь самый нетерпимый к js, самый олдскульный, самый эгоцентричный и при этом один фиг - крутой преподаватель Столяров Андрей Викторович, и его трёхтомник.
http://stolyarov.info/books
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

50. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Anonymus (?), 15-Сен-25, 20:48 
Дейтэл Х., Дейтел П."Си для программистов с введением в С11" (ISBN: 978-5-97060-205-8)

Как вариант - Дейтэл Х., Дейтел П. "Как программировать на С" (ISBN: 978-5-9518-0559-1)

И да, справочники вроде https://en.cppreference.com/w/c/language.html и https://cplusplus.com/reference/clibrary/ тоже неплохи для понимания работы некоторых операторов стандартной библиотеки.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

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

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

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

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

28. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +6 +/
Сообщение от Аноним (28), 15-Сен-25, 12:52 
Ну правильно! Он и спрашивает про невидию.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от Аноним (33), 15-Сен-25, 14:16 
Оно не использует никакое ускорение. Это софтовая реализация на CPU в обычной памяти.
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

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

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

51. "Выпуск PortableGL 0.99, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (51), 15-Сен-25, 21:13 
Когда все давно перешли на Вулкан, а эти ещё не сделали и первую версию ОпенЖЛ.
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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