Publishing edit branch
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
goog.provide('ol.webgl.shader');
|
||||
|
||||
goog.require('goog.functions');
|
||||
goog.require('goog.webgl');
|
||||
goog.require('ol.webgl');
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @param {string} source Source.
|
||||
*/
|
||||
ol.webgl.Shader = function(source) {
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {string}
|
||||
*/
|
||||
this.source_ = source;
|
||||
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @return {number} Type.
|
||||
*/
|
||||
ol.webgl.Shader.prototype.getType = goog.abstractMethod;
|
||||
|
||||
|
||||
/**
|
||||
* @return {string} Source.
|
||||
*/
|
||||
ol.webgl.Shader.prototype.getSource = function() {
|
||||
return this.source_;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @return {boolean} Is animated?
|
||||
*/
|
||||
ol.webgl.Shader.prototype.isAnimated = goog.functions.FALSE;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends {ol.webgl.Shader}
|
||||
* @param {string} source Source.
|
||||
*/
|
||||
ol.webgl.shader.Fragment = function(source) {
|
||||
goog.base(this, source);
|
||||
};
|
||||
goog.inherits(ol.webgl.shader.Fragment, ol.webgl.Shader);
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
ol.webgl.shader.Fragment.prototype.getType = function() {
|
||||
return goog.webgl.FRAGMENT_SHADER;
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends {ol.webgl.Shader}
|
||||
* @param {string} source Source.
|
||||
*/
|
||||
ol.webgl.shader.Vertex = function(source) {
|
||||
goog.base(this, source);
|
||||
};
|
||||
goog.inherits(ol.webgl.shader.Vertex, ol.webgl.Shader);
|
||||
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
ol.webgl.shader.Vertex.prototype.getType = function() {
|
||||
return goog.webgl.VERTEX_SHADER;
|
||||
};
|
||||
@@ -0,0 +1,100 @@
|
||||
// This file is automatically generated, do not edit
|
||||
goog.provide('{{namespace}}');
|
||||
|
||||
goog.require('ol.webgl.shader');
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends {ol.webgl.shader.Fragment}
|
||||
*/
|
||||
{{className}}Fragment = function() {
|
||||
goog.base(this, {{className}}Fragment.SOURCE);
|
||||
};
|
||||
goog.inherits({{className}}Fragment, ol.webgl.shader.Fragment);
|
||||
goog.addSingletonGetter({{className}}Fragment);
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
*/
|
||||
{{className}}Fragment.DEBUG_SOURCE = 'precision mediump float;\n{{{getOriginalFragmentSource}}}';
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
*/
|
||||
{{className}}Fragment.OPTIMIZED_SOURCE = 'precision mediump float;{{{getFragmentSource}}}';
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
*/
|
||||
{{className}}Fragment.SOURCE = goog.DEBUG ?
|
||||
{{className}}Fragment.DEBUG_SOURCE :
|
||||
{{className}}Fragment.OPTIMIZED_SOURCE;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @extends {ol.webgl.shader.Vertex}
|
||||
*/
|
||||
{{className}}Vertex = function() {
|
||||
goog.base(this, {{className}}Vertex.SOURCE);
|
||||
};
|
||||
goog.inherits({{className}}Vertex, ol.webgl.shader.Vertex);
|
||||
goog.addSingletonGetter({{className}}Vertex);
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
*/
|
||||
{{className}}Vertex.DEBUG_SOURCE = '{{{getOriginalVertexSource}}}';
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
*/
|
||||
{{className}}Vertex.OPTIMIZED_SOURCE = '{{{getVertexSource}}}';
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
*/
|
||||
{{className}}Vertex.SOURCE = goog.DEBUG ?
|
||||
{{className}}Vertex.DEBUG_SOURCE :
|
||||
{{className}}Vertex.OPTIMIZED_SOURCE;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @param {WebGLRenderingContext} gl GL.
|
||||
* @param {WebGLProgram} program Program.
|
||||
*/
|
||||
{{namespace}}.Locations = function(gl, program) {
|
||||
{{#getUniforms}}
|
||||
|
||||
/**
|
||||
* @type {WebGLUniformLocation}
|
||||
*/
|
||||
this.{{originalName}} = gl.getUniformLocation(
|
||||
program, goog.DEBUG ? '{{originalName}}' : '{{shortName}}');
|
||||
{{/getUniforms}}
|
||||
{{#getAttributes}}
|
||||
|
||||
/**
|
||||
* @type {number}
|
||||
*/
|
||||
this.{{originalName}} = gl.getAttribLocation(
|
||||
program, goog.DEBUG ? '{{originalName}}' : '{{shortName}}');
|
||||
{{/getAttributes}}
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
@exportSymbol ol.webgl.SUPPORTED
|
||||
@@ -0,0 +1,66 @@
|
||||
goog.provide('ol.webgl');
|
||||
goog.provide('ol.webgl.SUPPORTED');
|
||||
goog.provide('ol.webgl.WebGLContextEventType');
|
||||
|
||||
goog.require('goog.dom');
|
||||
goog.require('goog.dom.TagName');
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @private
|
||||
* @type {Array.<string>}
|
||||
*/
|
||||
ol.webgl.CONTEXT_IDS_ = [
|
||||
'webgl',
|
||||
'webgl-experimental',
|
||||
'webkit-3d',
|
||||
'moz-webgl'
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* @enum {string}
|
||||
*/
|
||||
ol.webgl.WebGLContextEventType = {
|
||||
LOST: 'webglcontextlost',
|
||||
RESTORED: 'webglcontextrestored'
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {Element} canvas Canvas.
|
||||
* @param {Object=} opt_attributes Attributes.
|
||||
* @return {WebGLRenderingContext} WebGL rendering context.
|
||||
*/
|
||||
ol.webgl.getContext = function(canvas, opt_attributes) {
|
||||
var context, i, ii = ol.webgl.CONTEXT_IDS_.length;
|
||||
for (i = 0; i < ii; ++i) {
|
||||
try {
|
||||
context = canvas.getContext(ol.webgl.CONTEXT_IDS_[i], opt_attributes);
|
||||
if (!goog.isNull(context)) {
|
||||
return context;
|
||||
}
|
||||
} catch (e) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Is supported.
|
||||
* @const
|
||||
* @type {boolean}
|
||||
*/
|
||||
ol.webgl.SUPPORTED = (function() {
|
||||
if (!('WebGLRenderingContext' in goog.global)) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
var canvas = goog.dom.createElement(goog.dom.TagName.CANVAS);
|
||||
return !goog.isNull(ol.webgl.getContext(canvas));
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user