Uma maneira de ver isso é o WebGL é o OpenGL ES 2.0 e o OpenGL ES 2.0 é o OpenGL, com todo o patrimônio herdado removido.
Desde shaders foram adicionados todo o legado gasoduto função fixa glPushMatrix
, glLight
, glVertex
etc, tudo fazia sentido manter ao redor.
Então, esses recursos "ausentes" ou os corretos e apropriadamente "obsoletos"?
Quais recursos específicos você está procurando?
O WebGL / OpenGL ES 2.0 é um vértice básico e sombreadores de fragmentos. Há suporte limitado para texturas sem potência de 2 e apenas alguns formatos de textura (um limite não muito grande é 99% de todas as texturas são RGB8 ou RGBA8). O suporte para texturas de ponto flutuante é opcional, mas a maioria dos dispositivos é compatível. O suporte para renderizar texturas de ponto flutuante é mais raro. Poucos ou nenhum dispositivo móvel oferece suporte à renderização para uma textura de ponto flutuante.
O WebGL2 (recém-enviado) e o OpenGL ES 3.0 adicionaram vários novos formatos de textura, incluindo textura com base em número inteiro e texturas 3D. Ele removeu os limites de textura sem potência de 2. Ele adicionou feedback de transformação (a capacidade de um sombreador de vértice gravar em um buffer). Ele também adicionou consultas de oclusão. Os objetos de matriz de vértice são padrão (eles eram opcionais no WebGL / ES 3.0). Há muitos outros recursos menores.
O ES 3.1 (e provavelmente a próxima versão do WebGL) adiciona sombreadores de computação (a capacidade de um sombreador de fragmento fazer gravações de acesso aleatório). Os shaders de fragmento só podiam gravar no fragmento / pixel solicitado no momento, enquanto os shaders de computação e gravavam em qualquer lugar que desejassem.
Quais outros recursos você deseja usar?