#ifndef VOXEL_PROVIDER_H #define VOXEL_PROVIDER_H #include "../voxel_buffer.h" #include // Provides access to a source of paged voxel data. // Must be implemented in a multi-thread-safe way. class VoxelProvider : public Resource { GDCLASS(VoxelProvider, Resource) public: virtual void emerge_block(Ref out_buffer, Vector3i origin_in_voxels, int lod); virtual void immerge_block(Ref buffer, Vector3i origin_in_voxels, int lod); protected: static void _bind_methods(); void _emerge_block(Ref out_buffer, Vector3 origin_in_voxels, int lod); void _immerge_block(Ref buffer, Vector3 origin_in_voxels, int lod); }; #endif // VOXEL_PROVIDER_H