WebGL Cookbook



WebGL Cookbook


Александр Коротаев

Что такое WebGL?

Это рендер треугольников



15 лет развития

WebGL

  • version 1.0
  • version 2.0
  • WebGPU

API не из веба

            gl.activeTexture(gl.TEXTURE0)
            gl.bindTexture(gl.TEXTURE_2D, texture)
            gl.texImage2D(this.gl.TEXTURE_2D, ..., image)
            gl.uniform1i(gl.getUniformLocation('u_image'), 0);
        
https://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences

Это глобальная стейт машина

            setState(arg1)
            setState(arg1, arg2)
            setState(arg1, ..., arg9)
            // но нельзя
            let state = getState()
        


Когда стоит использовать

часть 1 / 4

Типичные случаи

Где можно выучить?



Regl

часть 2 / 4

Regl

github.com/regl-project/regl

Regl



PixiJS

часть 3 / 4

PixiJS

pixijs.com

PixiJS

PixiJS + React

github.com/pixijs/pixi-react

Ссылка на Демо



Three.js

часть 3 / 4

Three.js

threejs.org

Three.js + React

github.com/pmndrs/drei

Когда не стоит использовать WebGL?



Выводы

часть 4 / 4



WebGL непростой


Нужно выбрать библиотеку


Three.js
Если нужно много 3D


PixiJS
Если нужно 2D

Regl
Если нужно что-то небольшое

А еще
Больше насмотренности

https://threejs.org/examples/
https://codepen.io/prisoner849
t.me/webgl_ru
r3f examples

ИИиииии?
🤖 🤖 🤖