I have been developing a WebGL application using ThreeJs to showcase 3D models with various effects (shaders). In order to test if the user's browser can run the app, I need to retrieve a list of supported plugins.
The Query:
My main dilemma is determining the required plugins for my application. Is there a way to automatically detect them?
Further Insights:
Let me provide an example to clarify the issue:
- On my MacBook Pro running Mac OSX Maverix, the application runs smoothly.
- However, when testing the app on my Lenovo Laptop equipped with Windows 7 and Windows 8, it fails due to the Bokeh2 Shader.
Upon examining the list of supported WebGL extensions, I noticed that some extensions were missing on the Lenovo compared to the Mac. How can I identify the necessary extensions that, if absent, would cause the WebGL app to malfunction?
Below is a comparison of the extensions available on both the Mac and Lenovo.
Extensions on my Mac:
ANGLE_instanced_arrays
WEBKIT_EXT_texture_filter_anisotropic
OES_element_index_uint
OES_standard_derivatives
OES_texture_float
OES_texture_float_linear
OES_texture_half_float
OES_texture_half_float_linear
OES_vertex_array_object
WEBKIT_WEBGL_compressed_texture_s3tc
WEBKIT_WEBGL_depth_texture
WEBGL_draw_buffers
WEBGL_lose_context
WEBGL_debug_renderer_info
Extensions on my Lenovo:
ANGLE_instanced_arrays
WEBKIT_EXT_texture_filter_anisotropic
OES_element_index_uint
OES_standard_derivatives
OES_texture_float
OES_texture_half_float
OES_texture_half_float_linear
OES_vertex_array_object
WEBKIT_WEBGL_compressed_texture_s3tc
WEBGL_lose_context
WEBGL_debug_renderer_info
Notable Absences in Lenovo:
OES_texture_float_linear
WEBKIT_WEBGL_depth_texture
WEBGL_draw_buffers