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.me/opennews/art.shtml?num=63879

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

Оглавление

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

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

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

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

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

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

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

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

5. Сообщение от Аноним (5), 15-Сен-25, 11:47   –3 +/
Ну, кто там бздил, что «на Си только легаси»?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10, #22

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

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

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

10. Сообщение от Bottle (?), 15-Сен-25, 12:10   +6 +/
Ну так OpenGL это уже легаси, мобилки требуют OpenGL ES, десктоп требует Vulkan/DirectX 12.
И даже на мобилках поддержка вулкана уже больше половины устройств.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

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

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

14. Сообщение от Аноним (12), 15-Сен-25, 12:13   +/
cppreference[.]com/w/c[.]html
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

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

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

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

16. Сообщение от Аноним (16), 15-Сен-25, 12:16   +/
А акселерацию с драйверами каких видеокарт оно умеет?

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

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

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

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

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

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

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

22. Сообщение от Аноним (-), 15-Сен-25, 12:30   +3 +/
> Ну, кто там бздил, что «на Си только легаси»

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

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

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

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

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

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

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

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

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

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

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

28. Сообщение от Аноним (28), 15-Сен-25, 12:52   +6 +/
Ну правильно! Он и спрашивает про невидию.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

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

30. Сообщение от Аноним (4), 15-Сен-25, 13:31   +1 +/
> K&R это и есть самое актуальное
> ANSI C

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

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

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

33. Сообщение от Аноним (33), 15-Сен-25, 14:14   +/
А что запоёшь, если напишут PortableVulkan на С ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #45

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

35. Сообщение от Аноним (-), 15-Сен-25, 14:25   +/
C Programming: A Modern Approach - K. N. King

Modern C - J. Gustedt

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

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

37. Сообщение от Аноним (37), 15-Сен-25, 15:41   –2 +/
Интересно, и это тоже написано с помощью ChatGPT, как и валяные композиторы?
Ответить | Правка | Наверх | Cообщить модератору

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

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

39. Сообщение от анонимммм (?), 15-Сен-25, 15:53   +1 +/
Главное начать, а потом уже сам разберётся, если базово язык зайдёт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #41, #43

40. Сообщение от Аноним (40), 15-Сен-25, 16:27   –1 +/
Софтварные движки до сих пор есть, если не нужны вс эти новомодные эффекты, мульон фпс и прочее, они намного проще в использовании и апишечка удобнее.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #42

41. Сообщение от Аноним (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ообщить модератору
Родитель: #39

42. Сообщение от Аноним (42), 15-Сен-25, 18:24   +/
> Софтварные движки до сих пор есть

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

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

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

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

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

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

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

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

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

46. Сообщение от Аноним (45), 15-Сен-25, 18:30   +/
А под современный вулкан на чем пишут?)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

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

48. Сообщение от Аноним (42), 15-Сен-25, 18:41    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

49. Сообщение от Аноним (38), 15-Сен-25, 19:11   +/
(хотя не, конкретно эта строка без ошибок)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44


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

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




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

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