Platform/GFX/OpenGL Surprises: Difference between revisions

From MozillaWiki
< Platform‎ | GFX
Jump to navigation Jump to search
(Created page with "===Floating-point Renderability=== This is a mess. ====OES_texture_float and OES_texture_half_float==== [https://www.khronos.org/registry/gles/extensions/OES/OES_texture_floa...")
 
m (Fix header depth)
Line 1: Line 1:
===Floating-point Renderability===
==Floating-point Renderability==
This is a mess.
This stuff is a mess.


====OES_texture_float and OES_texture_half_float====
====OES_texture_float and OES_texture_half_float====
Line 21: Line 21:
Written against ES'''3'''. It's tempting to think of EXT_color_buffer_float as the float32 equivalent of EXT_color_buffer_half_float, but this is untrue! EXT_color_buffer_float is the ES3 extension that allows both float16 and float32 rendering.
Written against ES'''3'''. It's tempting to think of EXT_color_buffer_float as the float32 equivalent of EXT_color_buffer_half_float, but this is untrue! EXT_color_buffer_float is the ES3 extension that allows both float16 and float32 rendering.


===DrawBuffer===
==DrawBuffer==
WebGL1 with the drawbuffer extension allows access to gl_FragData in GLSLES1 shaders, but WebGL2 requires a GLSLES3 shader version in order to use gl_FragData.
WebGL1 with the drawbuffer extension allows access to gl_FragData in GLSLES1 shaders, but WebGL2 requires a GLSLES3 shader version in order to use gl_FragData.

Revision as of 23:54, 19 February 2015

Floating-point Renderability

This stuff is a mess.

OES_texture_float and OES_texture_half_float

(spec document) (both are defined in the same document)

Written against ES2.

Allows specification of textures with a format/type of {RGB,RGBA,LUMINANCE,ALPHA,LUMINANCE_ALPHA}/{FLOAT,HALF_FLOAT_OES}. Only NEAREST-based filter modes are supported. (OES_texture_[half_]float_linear allows LINEAR filtering)

EXT_color_buffer_half_float

(spec document)

Written against ES2.

EXT_color_buffer_float

(spec document)

Written against ES3. It's tempting to think of EXT_color_buffer_float as the float32 equivalent of EXT_color_buffer_half_float, but this is untrue! EXT_color_buffer_float is the ES3 extension that allows both float16 and float32 rendering.

DrawBuffer

WebGL1 with the drawbuffer extension allows access to gl_FragData in GLSLES1 shaders, but WebGL2 requires a GLSLES3 shader version in order to use gl_FragData.