Небольшие примеры на WebGL19.11.2017, 16:43. Показов 55370. Ответов 200
Примеры на WebGPU, WebGL и OpenGL: https://www.cyberforum.ru/blogs/416874/6407.html
WebGPU:В 2026 году изучать WebGPU как никогда актуально. В этой теме приведены примеры как на WebGL, так и на WebGPU. Лучше всего учиться через практику, создавая небольшие демо-проекты. Стоит стремиться к тому, чтобы писать код самостоятельно из головы, а не просто копировать его. Однако на первых порах можно подглядывать в чужие исходники или ответы нейросетей (Gemini, ChatGPT и др.) и перепечатывать их вручную, попутно уточняя у ИИ назначение тех или иных команд. Со временем лучше чаще обращаться к официальной документации, чтобы глубже понимать работу API. Здесь находится пример инициализации контекста WebGPU, который заливает холст выбранным цветом: index.html
WebGPU-NativeТехнология WebGPU не ограничивается только браузерами - благодаря кроссплатформенным реализациям (таким как wgpu или Dawn) вы можете писать нативный код на C и C++. Настроив сборку через CMake, один и тот же проект можно легко скомпилировать под Windows, Android, WebAssembly и другие платформы. Следующие примеры как раз демонстрируют этот подход на практике:
Исходники версии C/C++ Compat могут быть скомпилированы с помощью компиляторов gcc (C) и g++ (C++), но проект настроен на C++. На GitHub в README.md есть ссылки на пошаговое руководство по установке библиотек. Пример собирается в статические исполняемые файлы для Windows, Linux, Android и WebAssembly (Emscripten) из одной кодовой базы с помощью CMake. Все сборки запускаются на своих платформах. Сборки можно скачать на вкладке Releases (сборки есть только в версии на C). Сборка для Linux протестирована на Ubuntu 26 и Fedora 44 на WSL. Сборка для Linux настроена для сборки из под Ubuntu. Ссылка на инструкцию по сборке находится в файле README.md Прямая ссылка на инструкцию по сборке. WebGL:Простой треугольник без трансформаций. Для трансформаций можно использовать glMatrix, как в примере: https://plnkr.co/edit/qT6ZTwvncLPRamK5?preview На русском:На английском:Исходники примера: Содержание темы Запись в блоге Краткое описание, что такое WebGL, взятое с https://developer.mozilla.org/... /WebGL_API (там же ссылки на документацию и обучающие материалы):
Туториалы:
Литература:
5
|
|||||||||||||||||
| 19.11.2017, 16:43 | |
|
Ответы с готовыми решениями:
200
Литература WebGL Не отрисовывается фигура в Webgl Из какого 3d редактора и как можно экспортировать анимацию в WebGL? |
| 17.10.2021, 12:24 | |
|
Не по теме: Осень - традиционное время обострения у психопатов и ... форумных троллей :D
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 17.10.2021, 12:28 | ||
|
Выбор цвета читается то 3 канала пикселя значит это сразу 3 яруса дерева причем не примитивных типа октодерева а 256 веток. Красный канал 256 объектов. Зеленый канал может быть 256 объектов внутри каждого из 256 красных. Синий канал может быть 256 внутри каждого из 256 зеленых. 16 777 216 объектов произвольно перемешанных, классификация пикселя перебор 256+256+256= 768 значений в худшем случае. Врятли какому-то маньяку нужно выбирать 16 млн объектов в кадре поэтому и 768 значений можно смело убавить введя не 256 цветов на канал а например 10. 10*10*10=1000 объектов. классификация пикселя перебор 10+10+10=30 значений в худшем случае.
0
|
||
| 17.10.2021, 12:33 | ||
|
Я имел ввиду другой подход - создать "трассу" как цепочку полигонов, и их уже "раскрашивать"
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 17.10.2021, 12:57 | ||
|
Вон есть пару постов назад “50 уроков нарисуй точку”. Хоть бы один пример с суперсемплингом RGSS…свечением…хоть какой-то постобработкой. Во те фигуры заметания по ссылке как их сделать? Невидел ниодного примера со слайдерами прям в webgl. А ведь они “немного” нужны.
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 17.10.2021, 13:02 | |
|
Вот кстати экспериментировал с самодельным фракталом есть 20 растров примеры сейчас пытаюсь найти внятный код формул классификатора текстур признаки Харалика
Gray Level Co-occurrence Matrix (GLCM) Haralick 1973 Экспертная система оценки сложности текстуры
0
|
|
| 17.10.2021, 13:20 | ||
За каждой красивой штучкой стоит нехилый кусок работы, и никто не будет ее делать "на слабо", не надейтесь
1
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 17.10.2021, 13:45 | ||
|
Подозреваю что больше половины тех уроков просто взяты с примеров к книге которую легко нагуглить. Вся тем стала “важной” не из-за практической пользы примеров а из-за перенаправления поисковых запросов с гугла сюда т.к. дубли названия уроков с книги.
Между тем так и не найти мелких кодов на чистом webgl типа «двигать точку слайдером». Где пример подключения библиотеки с гуи? Где пример вот рисуем фрактал, вот слайдеры меняют параметры? Где пример сохраняем параметры слайдеров рисующих фрактал в файл? Зачем дублировать уроки с книг? Или это самореклама ТС? Уроков нарисуй точку как грязи в инете…пользы от них? Где примеры рисуем кривую Безье с cpu gems? А вот усложнение, соединяем N кривых. Где примеры простейшего окраса кривых Безье? Простейшей постобработки со свечением? Да хоть бы тот же куб уже засветить ему грани… Нет…50 уроков нарисуем 3 точки…квадратных
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 17.10.2021, 13:53 | |
|
1
|
|
| 17.10.2021, 15:38 | |||
Думаю Вы сами хорошо понимаете наивность (мягкр говоря) такого подхода.
1
|
|||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 17.10.2021, 18:50 | |||
|
Скучный пример если линия одним цветом и ломанная…разве нет?
В книге cpu gems был алгоритм растеризации кривых Безье как неявных поверхностей что-то такое, хорошо паралелиться какраз для шейдеров и не нужно искать адаптивное разбиение кривой на поворотах или рисовать отрезками. Был бы полезен такой пример. Зато можно будет рисовать симпатичные неоновые линии. Все примеры что попадались рисуют то треугольники то точки…скучнота.
0
|
|||
| 17.10.2021, 21:32 [ТС] | |
|
0
|
|
| 17.10.2021, 22:36 [ТС] | |
|
Видео с канала AtiByte по выбору объекта по цветовому идентификатору с помощью своего Frame Buffer Object
У меня в недавнем примере со скелетной анимацией реализован выбор 3D-объекта по клику с помощью цветового идентификатора. То что реализуется на WebGL можно реализовать на OpenGL. Код будет выглядеть совершенно идентично на OpenGL и WebGL. Причем, какой это язык: JavaScript, C++, Python и т.д. - это неважно. На канале AtiByte есть небольшое видео с пошаговой демонстрацией использования Frame Buffer Object (FBO) для выбора объекта по цветовому ID. Пример короткий и наглядный. Можете ознакомиться с теорией, а я позже выложу его пример на WebGL (JavaScript, TypeScript), C++ (Qt5), Python (PyQt5). Использование своего FBO - это самый простой способ и популярный способ выбора объекта. Потом я покажу пример, как добавить обводку объекта с помощью Stencil Buffer (на JavaSCritp, TypeScript, С++ и Python). OpenGL in python e22 - color picking
1
|
|
| 18.10.2021, 09:10 | ||
- выполнить "glow pass", светящиеся объекты имеют цвет свечения, все остальное черное. Отрендерить это в текстуру - размыть полученную текстуру блюром Гаусса - отрендерить кадр нормально, тоже в текстуру - наложить размытую Сложно? Нет конечно. Но это все надо делать, и если с нуля - то не один день работы. А если уже сделано, то выдрать этот кусок из проекта обычно нереально. Да и с какой стати человек должен делиться? А надеяться что WebGL это сделает не приходится. "Web" - значит просто приложение запускается по ссылке. "GL" - тот же самый OpenGL, он не имеет таких фич чтобы делать это автоматом. Поэтому не стоит ожидать что "оттуда вылетит птичка" - ее там просто нет
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 18.10.2021, 09:31 | ||
|
Другое дело что хз как это сделать на шейдерах. Ну вот это и будет хоть немного полезный пример а не “нарисуй точку”. Если еще двигать источник света с шагом вдоль отрезка и собирать N изображений будет имитация свечения отрезка. Позволит рисовать красивые абстракции из неоновых линий на белом фоне. Досыпать немного простенькой тригонометрии типа N сфер двигаются одна по другой будет 3д спирограф с кучей вариантов кривых от десятка параметров. Я считаю чтобы мотивировать изучать должны быть мелкие примеры кода рисующие симпатичные штуки а не 50 примеров рисования квадратных трех точек…это не графика это инструкции сдать лабу в универе.
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 18.10.2021, 10:00 | |
|
0
|
|
| 18.10.2021, 10:15 | ||
Вас должно как минимум насторожить что из 3D сцены делается 2D имедж и он уже анализируется. И это полезет изо всех щелей. Ну хотя бы: мне нужно выбирать вертексы, а их в одной точке может быть туча, рассчитывать что каждый "хоть чуть-чуть" нарисуется я не могу. А иногда нужно выбирать даже если примитив полностью перекрыт.Не стоит уповать на "коллективный разум", подавляющее большинство просто хотят воспользоваться готовым - и не париться. Никто там ничего не проверял, не копал, не искал (о чем инет честно предупреждает). Кто половчее - клепает тьюториалы
0
|
||
| 18.10.2021, 10:30 [ТС] | ||
|
Всё это не запрещено добавлять в "небольшие примеры", а флудить запрещено. Флуд - это сообщения которые не содержат ни одной строчки кода на WebGL, но я вынужден пояснить. А ещё более запретный флуд - это флуд с провокацией и хейтерством - это уже относится к троллингу, но таких людей просто жаль, они сами себя уничтожают, превращая творческую энергию в желчь, на практике ничего не делают, даже самых необходимых вещей, а ядовитая желчь их уничтожает. Но польза от них от них всё равно бывает, что они своей желчью могут провоцировать большую генерацию энергии у творческих людей, а ещё можно посмотреть на них и сказать себе - вот таким я не хочу быть, туда не надо идти. Но есть свихнувшиеся люди, которые не изучили самых главных основ, не довели их до автоматизма, перестали писать (или не писали) простые игры, а стали хватать по верхам куски из теории, тратить всё время на бестолковые споры на форумах, а ведь у многих этих людей были даже 3-5 лет назад зачатки разума и кто-то хотел тренироваться на старых играх, но даже не умеет выделять объекты, выводить текст, кнопки, реализовывать скелетные анимации, использовать физический движок, чтобы модель не проходила через препятствия и делать сенсеры/тригеры - они думаю, что это всё легко и они быстро освоят, но чтобы освоить надо с этим регулярно сталкиваться, много на практике с этим работать. Доказывать всё это им нет смысла, это как метать бисер, а они только бесятся, потому что ничего не могут на практике, только делать вид, что они мегаумные. А некоторые из них чуть коснутся практики, то такие выяснятся подробности отсутствия элементарных навыков - они десятками лет создают симуляцию, что они развиваются, а на самом деле деградируют, по крайней мере в создании интерактивных 3D приложений с анимациями и самой необходимой физикой для воплощения их мечты, в плане 3D игр.
2
|
||
| 18.10.2021, 11:18 | ||||
|
Не по теме:
0
|
||||
| 18.10.2021, 11:26 | |
|
Пример skeletal animation (аттач). Забыл включить один материал, поэтому одна баба лысая
0
|
|
| 18.10.2021, 11:26 | |
|
WebGL - глубина отрисовки объектов Не правильное вращение пирамиды WebGL WebGL, детализация текстуры при приближении Технология освещения и нормали. Не могу разобраться (WebGL) Нужно сделать ёлку на Webgl Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|