summaryrefslogtreecommitdiffstats
path: root/o3d/samples/o3d-webgl/bitmap.js
diff options
context:
space:
mode:
Diffstat (limited to 'o3d/samples/o3d-webgl/bitmap.js')
-rw-r--r--o3d/samples/o3d-webgl/bitmap.js25
1 files changed, 21 insertions, 4 deletions
diff --git a/o3d/samples/o3d-webgl/bitmap.js b/o3d/samples/o3d-webgl/bitmap.js
index 9551051..94e90f8 100644
--- a/o3d/samples/o3d-webgl/bitmap.js
+++ b/o3d/samples/o3d-webgl/bitmap.js
@@ -53,7 +53,7 @@ o3d.Bitmap.Semantic = goog.typedef;
* you can inspect their semantic to see what they were intended for. This is
* mostly to distinguish between 6 bitmaps that are faces of a cubemap and 6
* bitmaps that are slices of a 3d texture.
- *
+ *
* FACE_POSITIVE_X, 1 face of a cubemap
* FACE_NEGATIVE_X, 1 face of a cubemap
* FACE_POSITIVE_Y, 1 face of a cubemap
@@ -103,17 +103,34 @@ o3d.Bitmap.prototype.canvas_ = null;
* Flips a bitmap vertically in place.
*/
o3d.Bitmap.prototype.flipVertically = function() {
- this.defer_flip_vertically_to_texture_ = true;
+ var temp_canvas = document.createElement('CANVAS');
+ temp_canvas.width = this.width;
+ temp_canvas.height = this.height;
+ var context = temp_canvas.getContext('2d');
+ // Flip it.
+ context.translate(0, this.height);
+ context.scale(1, -1);
+ context.drawImage(this.canvas_,
+ 0, 0, this.width, this.height);
+ this.canvas_ = temp_canvas;
};
+/**
+ * Flips a bitmap vertically in place lazily.
+ * @private
+ */
+o3d.Bitmap.prototype.flipVerticallyLazily_ = function() {
+ this.defer_flip_vertically_to_texture_ = true;
+};
+
/**
* Generates mip maps from the source level to lower levels.
- *
+ *
* You can not currently generate mips for DXT textures although you can load
* them from dds files.
- *
+ *
* @param {number} source_level The level to use as the source of the mips.
* @param {number} num_levels The number of levels to generate below the
* source level.