PageRenderTime 29ms CodeModel.GetById 20ms app.highlight 8ms RepoModel.GetById 0ms app.codeStats 0ms

/src/aerys/minko/render/shader/binding/ConstantBinder.as

https://bitbucket.org/HopeSky/mars_nd2d
ActionScript | 52 lines | 36 code | 5 blank | 11 comment | 0 complexity | 99f33be0abdd5448919b0c2a960a3a6d MD5 | raw file
 1package aerys.minko.render.shader.binding
 2{
 3	import aerys.minko.render.resource.texture.ITextureResource;
 4	import aerys.minko.render.shader.compiler.Serializer;
 5	
 6	import flash.utils.Dictionary;
 7	
 8	/**
 9	 * @private
10	 * @author Romain Gilliotte
11	 * 
12	 */
13	public class ConstantBinder implements IBinder
14	{
15		private var _bindingName	: String;
16		private var _offset			: uint;
17		private var _size			: uint;
18		private var _isVertexShader	: Boolean;
19		
20		/**
21		 * @inheritDoc
22		 */		
23		public function get bindingName() : String
24		{
25			return _bindingName;
26		}
27		
28		public function ConstantBinder(name				: String,
29									   offset			: uint,
30									   size				: uint,
31									   isVertexShader	: Boolean)
32		{
33			_bindingName	= name;
34			_offset			= offset;
35			_size			= size;
36			_isVertexShader	= isVertexShader;
37		}
38		
39		/**
40		 * @inheritDoc
41		 */		
42		public function set(cpuConstants	: Dictionary,
43							vsConstants 	: Vector.<Number>,
44							fsConstants 	: Vector.<Number>,
45							textures		: Vector.<ITextureResource>,
46							value			: Object) : void
47		{
48			var constants : Vector.<Number> = _isVertexShader ? vsConstants : fsConstants;
49			Serializer.serializeKnownLength(value, constants, _offset, _size);
50		}
51	}
52}