function ShaderCode( code )
{
	this._code = null;

	this._functions = {};
	this._global_uniforms = {};
	this._code_parts = {};
	this._subfiles = {};
	this._compiled_shaders = {}; //all shaders compiled using this ShaderCode

	this._shaderblock_flags_num = 0; //used to assign flags to dependencies
	this._shaderblock_flags = {}; //used to store which shaderblock represent to every flag bit

	this._version = 0;

	if(code)
		this.code = code;
}
ShaderCode is a resource containing all the code associated to a shader
It is used to define special ways to render scene objects, having full control of the rendering algorithm
Having a special class helps to parse the data in advance and share it between different materials

@class ShaderCode
@constructor