def create_buffer_view(op, idx):
    """Create a pair for bufferViews[idx].

    The pair contains a memoryview for the view and also its stride, which is
    specified in the bufferView as well.
    """
    buffer_view = op.gltf['bufferViews'][idx]
    buffer = op.get('buffer', buffer_view['buffer'])
    byte_offset = buffer_view.get('byteOffset', 0)
    byte_length = buffer_view['byteLength']
    stride = buffer_view.get('byteStride', None)

    view = buffer[byte_offset:byte_offset + byte_length]
    return (view, stride)