[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Public WebGL] OpenGL ES 3.0 announced
Here's my 10 minute scan of new features in 3.0 vs 2.0
TransformFeedback (output from vertex shader to buffer)
Mapping Buffers to memory
Pixel Buffers, Copying Buffers.
Uniform Blocks (mapping uniforms to buffers)
Vertex Array Objects
Lots more texture formats (floating point, integer, etc..)
Textures: NPOT, Min LOD, Max LOD, Compare Mode
Samplers (samplers are separate from textures, not sure of the implications since the same settings are available on both)
Multiple Render Targets
ETC2 texture compression
min MAX_TEXTURE_IMAGE_UNITS = 16 (was 8)
min MAX_VERTEX_UNIFORM_VECTORS = 256 (was 128)
min MAX_FRAGMENT_UNIFORM_VECTORS = 224 (was 16)
min MAX_VERTEX_TEXTURE_IMAGE_UNITS = 16 (was 0)
min MAX_VARYING_VECTORS = 15 (was 8)
min MAX_DRAW_BUFFERS = 4 (was 0)
The ETC2 thing is both great and sad. Great that someday ETC2 will be everywhere. Sad that there is no ETC2 on desktop so I'm not sure what's supposed to happen there. Expand to uncompressed?
And this gotcha from the ES 3.0 spec:
"When using array or matrix variables in a shader, it is possible to access a variable with an index computed at run time that is outside the declared extent of the
variable. Such out-of-bounds accesses have undeﬁned behavior, and system errors (possibly including program termination) may occur. The level of protection
provided against such errors in the shader is implementation-dependent"