private void BuildConstructor(CodeTypeDeclaration rendererType, DataStructure dataStructure)
{
//throw new NotImplementedException();
var method = new CodeConstructor();
method.Attributes = MemberAttributes.Private;
method.Name = dataStructure.RendererName;
var model = new CodeParameterDeclarationExpression(typeof(IBufferable), "model");
method.Parameters.Add(model);
var shaderCode = new CodeParameterDeclarationExpression(typeof(ShaderCode[]), shaderCodes);
method.Parameters.Add(shaderCode);
var map = new CodeParameterDeclarationExpression(typeof(AttributeMap), "attributeMap");
method.Parameters.Add(map);
var last = new CodeParameterDeclarationExpression(new CodeTypeReference(string.Format("params {0}[]", typeof(GLState).Name)), "switches");
method.Parameters.Add(last);
method.BaseConstructorArgs.Add(new CodeVariableReferenceExpression("model"));
method.BaseConstructorArgs.Add(new CodeVariableReferenceExpression(shaderCodes));
method.BaseConstructorArgs.Add(new CodeVariableReferenceExpression("attributeMap"));
method.BaseConstructorArgs.Add(new CodeVariableReferenceExpression("switches"));
rendererType.Members.Add(method);
}