Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/2: Рейтинг темы: голосов - 2, средняя оценка - 5.00
9991 / 2963 / 497
Регистрация: 05.10.2013
Сообщений: 8,135
Записей в блоге: 243

Небольшие примеры на WebGL

19.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

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!doctype html>
 
<html>
 
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Example</title>
</head>
 
<body>
    <canvas id="renderCanvas" width="300" height="300"></canvas>
 
    <script type="module" src="js/index.js"></script>
</body>
 
</html>
js/index.js

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { context, device, initWebGPUContext } from "./webgpu-context.js";
 
async function init() {
    await initWebGPUContext("renderCanvas");
 
    const commandEncoder = device.createCommandEncoder();
    const textureView = context.getCurrentTexture().createView();
 
    const renderPassDescriptor = {
        colorAttachments: [{
            view: textureView,
            clearValue: { r: 0.92, g: 0.92, b: 0.9, a: 1.0 },
            loadOp: "clear",
            storeOp: "store",
        }]
    };
 
    const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);
    passEncoder.end();
 
    device.queue.submit([commandEncoder.finish()]);
}
 
init();
js/webgpu-context.js

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
export let device = null;
export let context = null;
 
export async function initWebGPUContext(canvasName) {
    const canvas = document.getElementById(canvasName);
    if (canvas === null) {
        console.log(`Failed to get a canvas element with the name "${canvasName}"`);
        return false;
    }
 
    if (!navigator.gpu) {
        console.log("WebGPU is not supported in this browser");
        return false;
    }
 
    const adapter = await navigator.gpu.requestAdapter();
    device = await adapter.requestDevice();
 
    context = canvas.getContext("webgpu");
    const format = navigator.gpu.getPreferredCanvasFormat();
 
    context.configure({
        device: device,
        format: format,
        // Equivalent to { alpha: false, premultipliedAlpha: false } in WebGL:
        alphaMode: 'opaque'
    });
 
    return true;
}

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 (там же ссылки на документацию и обучающие материалы):
WebGL (Web Graphics Library) - программная библиотека для языка JavaScript предназначенная для визуализации интерактивной трёхмерной графики и двухмерной графики в пределах совместимости веб-браузера без использования плагинов. WebGL приносит в веб трёхмерную графику, вводя API, который построен на основе OpenGL ES 2.0, что позволяет его использовать в элементах canvas HTML5 .
Какими браузерами поддерживается WebGL, можно посмотреть здесь:
Туториалы:
Литература:
Вложения
Тип файла: zip simple-triangle-webgl-js.zip (1.1 Кб, 0 просмотров)
Тип файла: zip rectangle-drawer-2d-webgl-js-plunker.zip (2.8 Кб, 0 просмотров)
5
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2017, 16:43
Ответы с готовыми решениями:

Литература WebGL
подкиньте пожалуйста ссылочек на литературу, можно и платную, можно и зарубежную, но желательно...

Не отрисовывается фигура в Webgl
Здравствуйте. Начинаю осваивать webgl. Начал с изучения этих уроков. Прочитал и вроде бы понял все...

Из какого 3d редактора и как можно экспортировать анимацию в WebGL?
С WebGL дело имею первый раз потому заранее извиняюсь за глупый вопрос и неверные формулировки. 3d...

200
17.10.2021, 12:24
Студворк — интернет-сервис помощи студентам

Не по теме:

Осень - традиционное время обострения у психопатов и ... форумных троллей :D
хотя у некоторых оно перманентно.

0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
17.10.2021, 12:28
Цитата Сообщение от Igor3D Посмотреть сообщение
с "color ID" явно неполноценный. Городить software дерево - безыдейно, это уже не OpenGL.
Я так понял делали выбор объекта на аналитическом подходе?

Выбор цвета читается то 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
1980 / 836 / 115
Регистрация: 01.10.2012
Сообщений: 5,214
Записей в блоге: 2
17.10.2021, 12:33
Цитата Сообщение от Excalibur921 Посмотреть сообщение
По моему стандартное для игр.
Ну так если оно стандартное, и все давно уже сделано - то зачем тратить время чтобы его повторить? Берите готовое и пользуйтесь, напр это

Я имел ввиду другой подход - создать "трассу" как цепочку полигонов, и их уже "раскрашивать"
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
17.10.2021, 12:57
Цитата Сообщение от Igor3D Посмотреть сообщение
все давно уже сделано - то зачем тратить время чтобы его повторить?
В графике уже давно все сделано, ничего нового нет. Вопрос был что нет примера мелкой проги рисующей салют или кривые заметанием в webgl 1.0
Вон есть пару постов назад “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
1980 / 836 / 115
Регистрация: 01.10.2012
Сообщений: 5,214
Записей в блоге: 2
17.10.2021, 13:20
Цитата Сообщение от Excalibur921 Посмотреть сообщение
В графике уже давно все сделано, ничего нового нет. Вопрос был что нет примера мелкой проги рисующей салют или кривые заметанием в webgl 1.0
Вон есть пару постов назад “50 уроков нарисуй точку”.
Хоть бы один пример с суперсемплингом RGSS…свечением…хоть какой-то постобработкой. Во те фигуры заметания по ссылке как их сделать?
Ну так здесь не ресторан, ТС вовсе не обязан подавать Вам те блюда что Вы хотите За каждой красивой штучкой стоит нехилый кусок работы, и никто не будет ее делать "на слабо", не надейтесь
1
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
17.10.2021, 13:45
Подозреваю что больше половины тех уроков просто взяты с примеров к книге которую легко нагуглить. Вся тем стала “важной” не из-за практической пользы примеров а из-за перенаправления поисковых запросов с гугла сюда т.к. дубли названия уроков с книги.

Цитата Сообщение от Igor3D Посмотреть сообщение
не обязан подавать Вам те блюда что Вы хотите
Если человек хочет чему-то обучить других то почему не слушать тех для кого он эти уроки и создает?

Между тем так и не найти мелких кодов на чистом webgl типа «двигать точку слайдером». Где пример подключения библиотеки с гуи? Где пример вот рисуем фрактал, вот слайдеры меняют параметры? Где пример сохраняем параметры слайдеров рисующих фрактал в файл? Зачем дублировать уроки с книг? Или это самореклама ТС? Уроков нарисуй точку как грязи в инете…пользы от них?
Где примеры рисуем кривую Безье с cpu gems? А вот усложнение, соединяем N кривых.
Название: ScreenShot01506.png
Просмотров: 184

Размер: 44.4 Кб
Где примеры простейшего окраса кривых Безье? Простейшей постобработки со свечением? Да хоть бы тот же куб уже засветить ему грани…
Название: ScreenShot01481.png
Просмотров: 182

Размер: 38.5 Кб

Нет…50 уроков нарисуем 3 точки…квадратных
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
17.10.2021, 13:53
Igor3D,
1
1980 / 836 / 115
Регистрация: 01.10.2012
Сообщений: 5,214
Записей в блоге: 2
17.10.2021, 15:38
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Где примеры простейшего окраса кривых Безье? Простейшей постобработки со свечением? Да хоть бы тот же куб уже засветить ему грани…
А почему Вы решили что это вещи "простейшие"? Наверно Вы видели приложение где это делается 1-2 кликами, верно? Отсюда вывод что это, мол, "элементарно", и все приложения должны это делать. А уж WebGL просто обязан это иметь Думаю Вы сами хорошо понимаете наивность (мягкр говоря) такого подхода.

Цитата Сообщение от Excalibur921 Посмотреть сообщение
Нет…50 уроков нарисуем 3 точки…квадратных
Здесь согласен, но перегибать палку не стоит. Ни ТС ни WebGL не будут подавать Вам кофе или жарить цыплят
1
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
17.10.2021, 18:50
Скучный пример если линия одним цветом и ломанная…разве нет?
Цитата Сообщение от Igor3D Посмотреть сообщение
примеры простейшего окраса кривых Безье?
Можно аппроксимировать кривую ломанной а потом анализировать угол между соседними отрезками, нормализовать углы всех отрезков в диапазон 0…1 и перевести число в цвет RGB и весь матан. Будут плавные кривые с окрасом от кривизны.

В книге cpu gems был алгоритм растеризации кривых Безье как неявных поверхностей что-то такое, хорошо паралелиться какраз для шейдеров и не нужно искать адаптивное разбиение кривой на поворотах или рисовать отрезками. Был бы полезен такой пример.

Цитата Сообщение от Igor3D Посмотреть сообщение
Простейшей постобработки со свечением?
Свечение грани это всего лишь несколько размытий растра ядром свертки гаусса и сложение растров. Окрас это перевести число оттенки серого в цвет RGB, в фотошопе называют карта градиента. Никакой заумной математики тут нет…
Зато можно будет рисовать симпатичные неоновые линии. Все примеры что попадались рисуют то треугольники то точки…скучнота.
0
17.10.2021, 21:32  [ТС]

Не по теме:

Igor3D, прекратите, пожалуйста, меня защищать. Я всё-равно больше не вижу сообщения, кому вы отвечаете, потому что плагин браузера удаляет HTML-элементы с его ником:

0
9991 / 2963 / 497
Регистрация: 05.10.2013
Сообщений: 8,135
Записей в блоге: 243
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
1980 / 836 / 115
Регистрация: 01.10.2012
Сообщений: 5,214
Записей в блоге: 2
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
Цитата Сообщение от Igor3D Посмотреть сообщение
и если с нуля - то не один день работы.
Ого я думал свертку реализуют просто 4 цикла for, два обходят растр, два считают ядро =).

Другое дело что хз как это сделать на шейдерах.
Ну вот это и будет хоть немного полезный пример а не “нарисуй точку”.
Если еще двигать источник света с шагом вдоль отрезка и собирать N изображений будет имитация свечения отрезка. Позволит рисовать красивые абстракции из неоновых линий на белом фоне. Досыпать немного простенькой тригонометрии типа N сфер двигаются одна по другой будет 3д спирограф с кучей вариантов кривых от десятка параметров.

Я считаю чтобы мотивировать изучать должны быть мелкие примеры кода рисующие симпатичные штуки а не 50 примеров рисования квадратных трех точек…это не графика это инструкции сдать лабу в универе.
0
1980 / 836 / 115
Регистрация: 01.10.2012
Сообщений: 5,214
Записей в блоге: 2
18.10.2021, 09:49
Если еще двигать источник света с шагом вдоль отрезка и собирать N изображений будет имитация свечения отрезка. Позволит рисовать красивые абстракции из неоновых линий на белом фоне. Досыпать немного простенькой тригонометрии типа N сфер двигаются одна по другой будет 3д спирограф с кучей вариантов кривых от десятка параметров.
Да, с фантазией/воображением у Вас все нормуль Но не все в этой жизни так просто как хотелось бы. Придумать эффектный, но простой пример очень непросто.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
18.10.2021, 10:00
Цитата Сообщение от Igor3D Посмотреть сообщение
Да, с фантазией/воображением у Вас все нормуль

https://ru.wikipedia.org/wiki/... _затенение
0
1980 / 836 / 115
Регистрация: 01.10.2012
Сообщений: 5,214
Записей в блоге: 2
18.10.2021, 10:15
Цитата Сообщение от 8Observer8 Посмотреть сообщение
У меня в недавнем примере со скелетной анимацией реализован выбор 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 это случается особенно часто Вас должно как минимум насторожить что из 3D сцены делается 2D имедж и он уже анализируется. И это полезет изо всех щелей. Ну хотя бы: мне нужно выбирать вертексы, а их в одной точке может быть туча, рассчитывать что каждый "хоть чуть-чуть" нарисуется я не могу. А иногда нужно выбирать даже если примитив полностью перекрыт.

Не стоит уповать на "коллективный разум", подавляющее большинство просто хотят воспользоваться готовым - и не париться. Никто там ничего не проверял, не копал, не искал (о чем инет честно предупреждает). Кто половчее - клепает тьюториалы
0
9991 / 2963 / 497
Регистрация: 05.10.2013
Сообщений: 8,135
Записей в блоге: 243
18.10.2021, 10:30  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
- выполнить "glow pass", светящиеся объекты имеют цвет свечения, все остальное черное. Отрендерить это в текстуру
- размыть полученную текстуру блюром Гаусса
- отрендерить кадр нормально, тоже в текстуру
- наложить размытую
У меня концепция темы другая. У меня тема для начинающих. Её концепция - показать, что нужно простейшие и самые необходимые вещи доводить до автоматизма, комбинируя разные нужные темы. Ваши задания не подходят. Например, скелетная анимация и физический движок - это максимум из сложного для начинающего, но это необходимо для него. Анимация отображает текущее состояние объекта. Так же необходим физический движок. Без физического движка невозможно перемещать анимированные объекты, перепрыгивать, через препятствия, запретить прохождение через препятствия. Вокруг этих тем - скелетная анимация и физический движок нужно плясать, создавая различные комбинации. Эти комбинации должны иметь игровую направленность, потому что писать игры это невероятно интересно. Начинающих нужно учить писать простые игры в 3D через собственный пример, вдохновляя их - это чуть позже, я к этому подошёл, осталось сделать синхронизацию физику через вебсокеты. Комбинировать примеры нужно с такими темами, как: базы данных и сетевое взаимодействие, написание unit-тестов, github/trello и т.д. - мягко комбинируя всё это с WebGL/OpenGL, особенно с демками игровой направленности, потому что написание простых (особенно сетевых с физическим движком и скелетной анимациями) - это невероятно сильная мотивация. Тактически нужно комбинировать изучаемые необходимые темы, а стратегические нужно формировать целостную картину разработчика сетевых игр с физическим движком, базой данных, умением создавать 3D модели и скелетные анимации в Blender и импортировать их в сетевую игру т.д.

Всё это не запрещено добавлять в "небольшие примеры", а флудить запрещено. Флуд - это сообщения которые не содержат ни одной строчки кода на WebGL, но я вынужден пояснить. А ещё более запретный флуд - это флуд с провокацией и хейтерством - это уже относится к троллингу, но таких людей просто жаль, они сами себя уничтожают, превращая творческую энергию в желчь, на практике ничего не делают, даже самых необходимых вещей, а ядовитая желчь их уничтожает. Но польза от них от них всё равно бывает, что они своей желчью могут провоцировать большую генерацию энергии у творческих людей, а ещё можно посмотреть на них и сказать себе - вот таким я не хочу быть, туда не надо идти.

Но есть свихнувшиеся люди, которые не изучили самых главных основ, не довели их до автоматизма, перестали писать (или не писали) простые игры, а стали хватать по верхам куски из теории, тратить всё время на бестолковые споры на форумах, а ведь у многих этих людей были даже 3-5 лет назад зачатки разума и кто-то хотел тренироваться на старых играх, но даже не умеет выделять объекты, выводить текст, кнопки, реализовывать скелетные анимации, использовать физический движок, чтобы модель не проходила через препятствия и делать сенсеры/тригеры - они думаю, что это всё легко и они быстро освоят, но чтобы освоить надо с этим регулярно сталкиваться, много на практике с этим работать. Доказывать всё это им нет смысла, это как метать бисер, а они только бесятся, потому что ничего не могут на практике, только делать вид, что они мегаумные. А некоторые из них чуть коснутся практики, то такие выяснятся подробности отсутствия элементарных навыков - они десятками лет создают симуляцию, что они развиваются, а на самом деле деградируют, по крайней мере в создании интерактивных 3D приложений с анимациями и самой необходимой физикой для воплощения их мечты, в плане 3D игр.
2
1980 / 836 / 115
Регистрация: 01.10.2012
Сообщений: 5,214
Записей в блоге: 2
18.10.2021, 11:18

Не по теме:

Цитата Сообщение от 8Observer8 Посмотреть сообщение
Но есть свихнувшиеся люди,
Если Вы будете принимать все "так близко к сердцу" - Вы станете легкой добычей тролля.



Цитата Сообщение от 8Observer8 Посмотреть сообщение
Начинающих нужно учить писать простые игры в 3D через собственный пример, вдохновляя их..
Мое личное мнение (которое я никому не навязываю) - Вы напрасно берете на себя неблагодарную роль учителя. И концепция Ваша по меньшей мере спорна. Чтобы писать игры - надо брать игровой движок, хоть тот же Unity. И главное - надо иметь фонтан свежих идей чтобы игра не получилась очередной бездарной поделкой. Это не имеет никакого отношения к программированию, но без этого нет смысла начинать. Еще в 2006 я узнал что через парк от моего дома есть компания клепающая игры, уже тогда это было индустрией/технологией. Чего лезть "с грыжей на танк" и доказывать что и без движка это "тоже можно"? Тем более что дни OpenGL сочтены. "Доводить до автоматизма" - понимаю о чем Вы, но это никогда не вкладывалось "извне" никаким обучением.

Ах, ему же необходим движок физики, ведь без него не написать игру! Я должен ему показать как цеплять движок.
Ваня, это благородно, но глупо. Разговаривать нужно с теми кто этот движок уже юзает (хоть как-то). Не тратьте массу своего времени на "подтирание соплей"
0
1980 / 836 / 115
Регистрация: 01.10.2012
Сообщений: 5,214
Записей в блоге: 2
18.10.2021, 11:26
Пример skeletal animation (аттач). Забыл включить один материал, поэтому одна баба лысая
Миниатюры
Небольшие примеры на WebGL  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.10.2021, 11:26

WebGL - глубина отрисовки объектов
Прошу помочь тех кто сталкивался или знает как решить проблему: Суть: есть вращающийся куб с...

Не правильное вращение пирамиды WebGL
Привет. Не могу понять из-за чего пирамида так странно поварачивается. Если долго удержать стрелки...

WebGL, детализация текстуры при приближении
WebGL не совсем OpenGL, но мне бы просто идею узнать. А может кто и с threejs знаком) Натянул...

Технология освещения и нормали. Не могу разобраться (WebGL)
Изучаю WebGL по книге &quot;WebGL программирование трехмерной графики&quot;, вот ссылка на её...

Нужно сделать ёлку на Webgl
Помогите сделать елочку на webgl, может кто делал.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
140
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
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 и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru