private void BuildDoRender(CodeTypeDeclaration rendererType, DataStructure dataStructure)
{
//throw new NotImplementedException();
var method = new CodeMemberMethod();
method.Attributes = MemberAttributes.Family | MemberAttributes.Override;
method.Name = "DoRender";
const string arg = "arg";
method.Parameters.Add(new CodeParameterDeclarationExpression(typeof(RenderEventArgs), arg));
method.Statements.Add(new CodeCommentStatement("mat4 projection = arg.Camera.GetProjectionMatrix();"));
method.Statements.Add(new CodeCommentStatement("mat4 view = arg.Camera.GetViewMatrix();"));
method.Statements.Add(new CodeCommentStatement("mat4 model = this.GetModelMatrix();"));
method.Statements.Add(new CodeCommentStatement("this.SetUniform(\"projectionMatrix\", projection);"));
method.Statements.Add(new CodeCommentStatement("this.SetUniform(\"viewMatrix\", view);"));
method.Statements.Add(new CodeCommentStatement("this.SetUniform(\"modelMatrix\", model);"));
method.Statements.Add(new CodeSnippetStatement(string.Format(" base.DoRender(arg);")));
rendererType.Members.Add(method);
}