WebGLPreferences
Assembly: ZennoLab.CommandCenter
Full name: ZennoLab.CommandCenter.WebGLPreferences
Represents an WebGLContext settings object.
Methods
Set
Method
Sets the webgl context settings.
Parameters
| Параметр | Описание |
|---|---|
preference | The setting of webgl context. |
value | The value of setting. |
Example
// set Chrome useragent
instance.SetHeader(ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.UserAgent, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36");
// set webgl context params
instance.WebGLPreferences.Set(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLPreference.Renderer, "WebKit WebGL");
instance.WebGLPreferences.Set(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLPreference.Vendor, "WebKit");
instance.WebGLPreferences.Set(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLPreference.Version, "WebGL 1.0 (OpenGL ES 2.0 Chromium)");
instance.WebGLPreferences.Set(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLPreference.ShadingLanguageVersion, "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)");
instance.WebGLPreferences.Set(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLPreference.UnmaskedRenderer, "Google Inc.");
instance.WebGLPreferences.Set(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLPreference.UnmaskedVendor, "ANGLE (NVIDIA GeForce GT 630 Direct3D11 vs_5_0 ps_5_0)");SetExtensions
Method
Sets the webgl context extensions.
Parameters
| Параметр | Описание |
|---|---|
extensions | The value of setting. |
Example
// set Chrome useragent
instance.SetHeader(ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.UserAgent, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36");
// set webgl context extensions
var extensions = new List<ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension>();
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.ANGLE_instanced_arrays);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.EXT_blend_minmax);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.EXT_color_buffer_float);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.EXT_color_buffer_half_float);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.EXT_frag_depth);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.EXT_sRGB);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.EXT_shader_texture_lod);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.EXT_texture_filter_anisotropic);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.EXT_disjoint_timer_query);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.OES_element_index_uint);
extensions.Add(ZennoLab.InterfacesLibrary.Enums.Browser.WebGLExtension.OES_standard_derivatives);
instance.WebGLPreferences.SetExtensions(extensions);SetShaderPrecisionFormat
Method
Sets the vertex shader precision format.
Parameters
| Параметр | Описание |
|---|---|
shaderType | The shader type. |
precisionType | The precision type. |
format | The object that represent format of the precision type. |
Example
// set mobile useragent
instance.SetHeader(ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.UserAgent, "Mozilla/5.0 (Android 8.0.0; Mobile; rv:57.0) Gecko/57.0 Firefox/57.0");
// set webgl shader settings
instance.WebGLPreferences.SetShaderPrecisionFormat(ZennoLab.InterfacesLibrary.Enums.Browser.ShaderType.Fragment, ZennoLab.InterfacesLibrary.Enums.Browser.ShaderPrecisionType.MediumFloat, new ShaderPrecisionFormat(15, 15, 10));
instance.WebGLPreferences.SetShaderPrecisionFormat(ZennoLab.InterfacesLibrary.Enums.Browser.ShaderType.Fragment, ZennoLab.InterfacesLibrary.Enums.Browser.ShaderPrecisionType.LowFloat, new ShaderPrecisionFormat(15, 15, 10));
instance.WebGLPreferences.SetShaderPrecisionFormat(ZennoLab.InterfacesLibrary.Enums.Browser.ShaderType.Fragment, ZennoLab.InterfacesLibrary.Enums.Browser.ShaderPrecisionType.HighInt, new ShaderPrecisionFormat(31, 31, 0));
instance.WebGLPreferences.SetShaderPrecisionFormat(ZennoLab.InterfacesLibrary.Enums.Browser.ShaderType.Fragment, ZennoLab.InterfacesLibrary.Enums.Browser.ShaderPrecisionType.MediumInt, new ShaderPrecisionFormat(15, 15, 0));
instance.WebGLPreferences.SetShaderPrecisionFormat(ZennoLab.InterfacesLibrary.Enums.Browser.ShaderType.Fragment, ZennoLab.InterfacesLibrary.Enums.Browser.ShaderPrecisionType.LowInt, new ShaderPrecisionFormat(15, 15, 0));
instance.WebGLPreferences.SetShaderPrecisionFormat(ZennoLab.InterfacesLibrary.Enums.Browser.ShaderType.Vertex, ZennoLab.InterfacesLibrary.Enums.Browser.ShaderPrecisionType.HighInt, new ShaderPrecisionFormat(31, 31, 0));
instance.WebGLPreferences.SetShaderPrecisionFormat(ZennoLab.InterfacesLibrary.Enums.Browser.ShaderType.Vertex, ZennoLab.InterfacesLibrary.Enums.Browser.ShaderPrecisionType.MediumInt, new ShaderPrecisionFormat(31, 31, 0));
instance.WebGLPreferences.SetShaderPrecisionFormat(ZennoLab.InterfacesLibrary.Enums.Browser.ShaderType.Vertex, ZennoLab.InterfacesLibrary.Enums.Browser.ShaderPrecisionType.LowInt, new ShaderPrecisionFormat(31, 31, 0));SetAvailiableContexts
Method
Sets the canvas availiable contexts.
Parameters
| Параметр | Описание |
|---|---|
contexts | The value of setting. |
Example
// set availiable contexts
var contexts = new List<ZennoLab.InterfacesLibrary.Enums.Browser.CanvasContext>();
contexts.Add(ZennoLab.InterfacesLibrary.Enums.Browser.CanvasContext.Canvas2D);
contexts.Add(ZennoLab.InterfacesLibrary.Enums.Browser.CanvasContext.WebGL1);
instance.WebGLPreferences.SetAvailiableContexts(contexts);Load
Method
Loads preferences.
Parameters
| Параметр | Описание |
|---|---|
value | The preferences in json format. |
Save
Method
Saves preferences.
Returns: The preferences in json format.