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

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

Issue 1092003: Fixed a lot of bugs with render surfaces and bitmaps. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/o3d/
Patch Set: '' Created 10 years, 9 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 | « samples/o3d-webgl/pack.js ('k') | samples/o3d-webgl/primitive.js » ('j') | 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 731 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 /** 742 /**
743 * Called to specify the value of a uniform variable. 743 * Called to specify the value of a uniform variable.
744 */ 744 */
745 o3d.ParamMatrix4.prototype.applyToLocation = function(gl, location) { 745 o3d.ParamMatrix4.prototype.applyToLocation = function(gl, location) {
746 gl.uniformMatrix4fv(location, 746 gl.uniformMatrix4fv(location,
747 false, 747 false,
748 o3d.Transform.flattenMatrix4(this.value)); 748 o3d.Transform.flattenMatrix4(this.value));
749 }; 749 };
750 750
751 /** 751 /**
752 * A counter to ensure each texture sampler gets a unqiue id.
753 * @private
754 */
755 o3d.Param.texture_index_ = 0;
756
757 /**
752 * Called to specify the value of a uniform variable. 758 * Called to specify the value of a uniform variable.
753 */ 759 */
754 o3d.ParamSampler.prototype.applyToLocation = function(gl, location) { 760 o3d.ParamSampler.prototype.applyToLocation = function(gl, location) {
755 var i = 0; 761 // When before the effect object assigns values to parameters,
762 // it sets this variable to 0.
763 var i = o3d.Param.texture_index_;
756 gl.activeTexture(gl.TEXTURE0 + i); 764 gl.activeTexture(gl.TEXTURE0 + i);
757 if (!this.value || !this.value.texture || !this.value.texture.texture_) { 765
758 throw ('Attempt to use texture parameter before texture value set.'); 766 var value = null;
767
768 if (this.value && this.value.texture && this.value.texture.texture_) {
769 value = this.value.texture.texture_;
759 } 770 }
760 gl.bindTexture(gl.TEXTURE_2D, this.value.texture.texture_); 771
772 gl.bindTexture(gl.TEXTURE_2D, value);
761 gl.uniform1i(location, i); 773 gl.uniform1i(location, i);
774 o3d.Param.texture_index_++;
762 }; 775 };
763 776
764 777
765 /** 778 /**
766 * Object to compute all combinations of world/view/projection 779 * Object to compute all combinations of world/view/projection
767 * inverse/transpose matrices and provide them as parameters. 780 * inverse/transpose matrices and provide them as parameters.
768 * 781 *
769 * @type {o3d.ParamObject} 782 * @type {o3d.ParamObject}
770 */ 783 */
771 o3d.Param.SAS = new o3d.ParamObject; 784 o3d.Param.SAS = new o3d.ParamObject;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
844 */ 857 */
845 o3d.Param.SAS.setProjection = function(projection) { 858 o3d.Param.SAS.setProjection = function(projection) {
846 var adjustedProjection = 859 var adjustedProjection =
847 [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 2, 0], [0, 0, -1, 1]]; 860 [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 2, 0], [0, 0, -1, 1]];
848 o3d.Transform.compose( 861 o3d.Transform.compose(
849 adjustedProjection, projection, adjustedProjection); 862 adjustedProjection, projection, adjustedProjection);
850 this['projection'] = projection; 863 this['projection'] = projection;
851 }; 864 };
852 865
853 866
OLDNEW
« no previous file with comments | « samples/o3d-webgl/pack.js ('k') | samples/o3d-webgl/primitive.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698