Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(638)

Side by Side Diff: samples/o3d-webgl/client.js

Issue 3047021: o3d-webgl: Allows non-opaque alpha channel for canvas clearColor (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/o3d/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2010, Google Inc. 2 * Copyright 2010, Google Inc.
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 * @type {!Array.<!o3d.Pack>} 292 * @type {!Array.<!o3d.Pack>}
293 */ 293 */
294 o3d.Client.prototype.packs_ = []; 294 o3d.Client.prototype.packs_ = [];
295 295
296 /** 296 /**
297 * Keeps track of all counters associated with this client. 297 * Keeps track of all counters associated with this client.
298 * @type {o3d.CounterManager} 298 * @type {o3d.CounterManager}
299 */ 299 */
300 o3d.Client.prototype.counter_manager_ = null; 300 o3d.Client.prototype.counter_manager_ = null;
301 301
302 /**
303 * Whether or not the client sets the alpha channel of all pixels to 1 in the
304 * final stage of rendering.
305 *
306 * By default, this is set to true to mimic the plugin's behavior. If
307 * a transparent canvas background is desirable, this should be set to false.
308 *
309 * @type {boolean}
310 */
311 o3d.Client.prototype.normalizeClearColorAlpha = true;
302 312
303 /** 313 /**
304 * Function that gets called when the client encounters an error. 314 * Function that gets called when the client encounters an error.
305 */ 315 */
306 o3d.Client.prototype.error_callback = function(error_message) { 316 o3d.Client.prototype.error_callback = function(error_message) {
307 alert(error_message); 317 alert(error_message);
308 }; 318 };
309 319
310 320
311 /** 321 /**
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 } 475 }
466 this.then_ = now; 476 this.then_ = now;
467 477
468 this.gl.colorMask(true, true, true, true); 478 this.gl.colorMask(true, true, true, true);
469 479
470 this.renderTree(this.renderGraphRoot); 480 this.renderTree(this.renderGraphRoot);
471 481
472 // When o3d finally draws to the webpage, the alpha channel should be all 1's 482 // When o3d finally draws to the webpage, the alpha channel should be all 1's
473 // So we clear with a color mask to set all alpha bytes to 1 before drawing. 483 // So we clear with a color mask to set all alpha bytes to 1 before drawing.
474 // Before we draw again, the color mask gets set back to all true (above). 484 // Before we draw again, the color mask gets set back to all true (above).
475 this.gl.colorMask(false, false, false, true); 485 if (this.normalizeClearColorAlpha) {
476 this.gl.clearColor(0.0, 0.0, 0.0, 1.0); 486 this.gl.colorMask(false, false, false, true);
477 this.gl.clear(this.gl.COLOR_BUFFER_BIT); 487 this.gl.clearColor(0.0, 0.0, 0.0, 1.0);
488 this.gl.clear(this.gl.COLOR_BUFFER_BIT);
489 }
478 }; 490 };
479 491
480 492
481 /** 493 /**
482 * An object for various statistics that are gather during the render tree 494 * An object for various statistics that are gather during the render tree
483 * tranversal. 495 * tranversal.
484 * 496 *
485 * @type {Object} 497 * @type {Object}
486 */ 498 */
487 o3d.Client.prototype.render_stats = {} 499 o3d.Client.prototype.render_stats = {}
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after
1271 * Gets info about the client. 1283 * Gets info about the client.
1272 */ 1284 */
1273 o3d.Client.prototype.clientInfo = null; 1285 o3d.Client.prototype.clientInfo = null;
1274 1286
1275 1287
1276 /** 1288 /**
1277 * The canvas associated with this client. 1289 * The canvas associated with this client.
1278 * @type {Element} 1290 * @type {Element}
1279 */ 1291 */
1280 o3d.Client.prototype.canvas = null; 1292 o3d.Client.prototype.canvas = null;
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698