Add infrastructure for glsl-unit

This commit is contained in:
Tom Payne
2013-03-23 17:45:44 +01:00
parent 3fbf7b8c20
commit c48df12a33
2 changed files with 143 additions and 13 deletions

View File

@@ -0,0 +1,106 @@
goog.provide('{{namespace}}.shader');
goog.require('ol.renderer.webgl.FragmentShader');
goog.require('ol.renderer.webgl.VertexShader');
/**
* @constructor
* @extends {ol.renderer.webgl.FragmentShader}
*/
{{namespace}}.shader.Fragment = function() {
goog.base(this, {{namespace}}.shader.Fragment.SOURCE);
};
goog.inherits({{namespace}}.shader.Fragment, ol.renderer.webgl.FragmentShader);
goog.addSingletonGetter({{namespace}}.shader.Fragment);
/**
* @const
* @type {string}
*/
{{namespace}}.shader.Fragment.DEBUG_SOURCE = 'precision mediump float;\n{{getOriginalFragmentSource}}';
/**
* @const
* @type {string}
*/
{{namespace}}.shader.Fragment.OPTIMIZED_SOURCE = 'precision mediump float;{{getFragmentSource}}';
/**
* @const
* @type {string}
*/
{{namespace}}.shader.Fragment.SOURCE = goog.DEBUG ?
{{namespace}}.shader.Fragment.DEBUG_SOURCE :
{{namespace}}.shader.Fragment.OPTIMIZED_SOURCE;
/**
* @constructor
* @extends {ol.renderer.webgl.VertexShader}
*/
{{namespace}}.shader.Vertex = function() {
goog.base(this, {{namespace}}.shader.Vertex.SOURCE);
};
goog.inherits({{namespace}}.shader.Vertex, ol.renderer.webgl.VertexShader);
goog.addSingletonGetter({{namespace}}.shader.Vertex);
/**
* @const
* @type {string}
*/
{{namespace}}.shader.Vertex.DEBUG_SOURCE = '{{getOriginalVertexSource}}';
/**
* @const
* @type {string}
*/
{{namespace}}.shader.Vertex.OPTIMIZED_SOURCE = '{{getVertexSource}}';
/**
* @const
* @type {string}
*/
{{namespace}}.shader.Vertex.SOURCE = goog.DEBUG ?
{{namespace}}.shader.Vertex.DEBUG_SOURCE :
{{namespace}}.shader.Vertex.OPTIMIZED_SOURCE;
/**
* @constructor
*/
{{namespace}}.shader.uniform = function() {};
{{#getUniforms}}
/**
* @const
* @type {string}
*/
{{namespace}}.shader.uniform.{{originalName}} =
goog.DEBUG ? '{{originalName}}' : '{{shortName}}';
{{/getUniforms}}
/**
* @constructor
*/
{{namespace}}.shader.attribute = function() {};
{{#getAttributes}}
/**
* @const
* @type {string}
*/
{{namespace}}.shader.attribute.{{originalName}} =
goog.DEBUG ? '{{originalName}}' : '{{shortName}}';
{{/getAttributes}}