123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- define([
- '../Core/defaultValue',
- '../Core/defined',
- '../Core/defineProperties',
- '../Core/VertexFormat',
- '../Shaders/Appearances/PolylineMaterialAppearanceVS',
- '../Shaders/PolylineCommon',
- '../Shaders/PolylineFS',
- './Appearance',
- './Material'
- ], function(
- defaultValue,
- defined,
- defineProperties,
- VertexFormat,
- PolylineMaterialAppearanceVS,
- PolylineCommon,
- PolylineFS,
- Appearance,
- Material) {
- "use strict";
- var defaultVertexShaderSource = PolylineCommon + '\n' + PolylineMaterialAppearanceVS;
- var defaultFragmentShaderSource = PolylineFS;
-
- var PolylineMaterialAppearance = function(options) {
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
- var translucent = defaultValue(options.translucent, true);
- var closed = false;
- var vertexFormat = PolylineMaterialAppearance.VERTEX_FORMAT;
-
- this.material = defined(options.material) ? options.material : Material.fromType(Material.ColorType);
-
- this.translucent = translucent;
- this._vertexShaderSource = defaultValue(options.vertexShaderSource, defaultVertexShaderSource);
- this._fragmentShaderSource = defaultValue(options.fragmentShaderSource, defaultFragmentShaderSource);
- this._renderState = Appearance.getDefaultRenderState(translucent, closed, options.renderState);
- this._closed = closed;
-
- this._vertexFormat = vertexFormat;
- };
- defineProperties(PolylineMaterialAppearance.prototype, {
-
- vertexShaderSource : {
- get : function() {
- return this._vertexShaderSource;
- }
- },
-
- fragmentShaderSource : {
- get : function() {
- return this._fragmentShaderSource;
- }
- },
-
- renderState : {
- get : function() {
- return this._renderState;
- }
- },
-
- closed : {
- get : function() {
- return this._closed;
- }
- },
-
- vertexFormat : {
- get : function() {
- return this._vertexFormat;
- }
- }
- });
-
- PolylineMaterialAppearance.VERTEX_FORMAT = VertexFormat.POSITION_AND_ST;
-
- PolylineMaterialAppearance.prototype.getFragmentShaderSource = Appearance.prototype.getFragmentShaderSource;
-
- PolylineMaterialAppearance.prototype.isTranslucent = Appearance.prototype.isTranslucent;
-
- PolylineMaterialAppearance.prototype.getRenderState = Appearance.prototype.getRenderState;
- return PolylineMaterialAppearance;
- });
|