提交 8eb289c2 编写于 作者: L Luigi De Rosa

Add `powerPreference` preference #12533

上级 0df6403e
......@@ -51,7 +51,10 @@
Default is *true*.<br />
[page:Boolean preserveDrawingBuffer] - whether to preserve the buffers until manually cleared
or overwritten. Default is *false*.<br />
or overwritten. Default is *false*.<br />
[page:String powerPreference] - Provides a hint to the user agent indicating what configuration
of GPU is suitable for this WebGL context. Can be *"high-performance"*, *"low-power"* or *"default"*. Default is *"default"*.<br />
[page:Boolean depth] - whether the drawing buffer has a
[link:https://en.wikipedia.org/wiki/Z-buffering depth buffer] of at least 16 bits.
......
......@@ -22,7 +22,8 @@ function WebGL2Renderer( parameters ) {
_stencil = parameters.stencil !== undefined ? parameters.stencil : true,
_antialias = parameters.antialias !== undefined ? parameters.antialias : false,
_premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true,
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false;
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,
_powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default';
// initialize
......@@ -36,9 +37,13 @@ function WebGL2Renderer( parameters ) {
stencil: _stencil,
antialias: _antialias,
premultipliedAlpha: _premultipliedAlpha,
preserveDrawingBuffer: _preserveDrawingBuffer
preserveDrawingBuffer: _preserveDrawingBuffer,
powerPreference: _powerPreference,
};
_canvas.addEventListener( 'webglcontextlost', onContextLost, false );
_canvas.addEventListener( 'webglcontextrestored', function () { } );
gl = _context || _canvas.getContext( 'webgl2', attributes );
if ( gl === null ) {
......@@ -55,8 +60,6 @@ function WebGL2Renderer( parameters ) {
}
_canvas.addEventListener( 'webglcontextlost', onContextLost, false );
} catch ( error ) {
console.error( 'THREE.WebGL2Renderer: ' + error );
......
......@@ -59,7 +59,8 @@ function WebGLRenderer( parameters ) {
_stencil = parameters.stencil !== undefined ? parameters.stencil : true,
_antialias = parameters.antialias !== undefined ? parameters.antialias : false,
_premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true,
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false;
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,
_powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default';
var lights = [];
......@@ -228,9 +229,13 @@ function WebGLRenderer( parameters ) {
stencil: _stencil,
antialias: _antialias,
premultipliedAlpha: _premultipliedAlpha,
preserveDrawingBuffer: _preserveDrawingBuffer
preserveDrawingBuffer: _preserveDrawingBuffer,
powerPreference: _powerPreference,
};
_canvas.addEventListener( 'webglcontextlost', onContextLost, false );
_canvas.addEventListener( 'webglcontextrestored', function () {} );
_gl = _context || _canvas.getContext( 'webgl', contextAttributes ) || _canvas.getContext( 'experimental-webgl', contextAttributes );
if ( _gl === null ) {
......@@ -259,8 +264,6 @@ function WebGLRenderer( parameters ) {
}
_canvas.addEventListener( 'webglcontextlost', onContextLost, false );
} catch ( error ) {
console.error( 'THREE.WebGLRenderer: ' + error );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册