that we can then cast to TextureBindable, as it doesn't force all mg::Buffer implementations to inherit from some sort of binding interface, and lets us separate the implementation of the buffers in the platform.
Hmm, what sort of review is that... I guess the above part was just rambling, then a 'needs fixing' just on the return type, which is a smaller change, and would give more flexibility in the structure of the platform Buffer objects.
There's also a bit of a 'needs info' about the plan for mg::Buffer::write, read, gl_bind_to_texture, as those seem redundant on mg::Buffer after the new plan now.
And, having said all that :) The approaches aren't all that different... and although I guess I'd prefer the bikeshed in the other color... ^_^
With the casting approach, I'd still prefer:
mg::NativeBuffe rBase* mg::Buffer: :native_ buffer_ base()
that we can then cast to TextureBindable, as it doesn't force all mg::Buffer implementations to inherit from some sort of binding interface, and lets us separate the implementation of the buffers in the platform.
Hmm, what sort of review is that... I guess the above part was just rambling, then a 'needs fixing' just on the return type, which is a smaller change, and would give more flexibility in the structure of the platform Buffer objects.
There's also a bit of a 'needs info' about the plan for mg::Buffer::write, read, gl_bind_to_texture, as those seem redundant on mg::Buffer after the new plan now.