Avoid unnecessary allocation if shader compilation succeeds
Added NodeAttributeVector
implemented RenderingContext::swap_buffer