#include "../Research/OwnerShapeWorld/gpu_field_port/GpuFarViewer.h" // The isolated CPU viewer does not compile the GPU Far implementation. These link stubs keep // that optional path unavailable while preserving the Core and CPU mesh/capture paths. namespace VoxelForgeGpuFarViewer { std::filesystem::path ExecutablePrecompiledShaderDirectory(const std::filesystem::path& path) { return path.parent_path(); } bool InitializeFarPipeline(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,std::string& error) { error="GPU far rendering is excluded from the isolated CPU viewer";return false; } bool QueueFarShaderWarmup(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&, bool,const std::string&,bool,std::string& error) { error="GPU far rendering is excluded from the isolated CPU viewer";return false; } bool CompleteFarShaderWarmup(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,std::string& error) { error="GPU far rendering is excluded from the isolated CPU viewer";return false; } bool ReserveFarOutputPool(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&, std::uint32_t,std::uint32_t,std::string& error,std::uint32_t) { error="GPU far rendering is excluded from the isolated CPU viewer";return false; } bool ReadFarTileRequiredVertexCounts(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&, const std::vector&,std::vector&,std::string& error) { error="GPU far rendering is excluded from the isolated CPU viewer";return false; } bool ReadFarTileOutputStatuses(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&, const std::vector&,std::vector&,std::vector&, std::string& error) { error="GPU far rendering is excluded from the isolated CPU viewer";return false; } bool QueryFarGpuMemory(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&, std::uint64_t& usage,std::uint64_t& budget,std::string& error) { usage=budget=0;error="GPU far rendering is excluded from the isolated CPU viewer";return false; } bool BeginFarTileBatch(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,std::string& error) { error="GPU far rendering is excluded from the isolated CPU viewer";return false; } bool BuildFarTile(ID3D11Device*,ID3D11DeviceContext*,VoxelForgeCore::World&, const VoxelForgeCore::TileKey&,const VoxelForgeCore::FarFieldTileInput*, const std::filesystem::path&,ID3D11Buffer** vertices,ID3D11Buffer** indices, ID3D11Buffer** args,ID3D11Buffer** connectorVertices,ID3D11Buffer** connectorIndices, std::uint32_t,std::uint32_t,std::uint32_t* argsOffset,ID3D11Query** completion, GpuTimingQueries*,CpuMesh*,double* enqueueMs,double* dispatchMs,std::string& error, bool,std::uint32_t,std::uint32_t) { if(vertices)*vertices=nullptr; if(indices)*indices=nullptr; if(args)*args=nullptr; if(connectorVertices)*connectorVertices=nullptr; if(connectorIndices)*connectorIndices=nullptr; if(argsOffset)*argsOffset=0; if(completion)*completion=nullptr; if(enqueueMs)*enqueueMs=0.0; if(dispatchMs)*dispatchMs=0.0; error="GPU far rendering is excluded from the isolated CPU viewer"; return false; } bool SubmitFarTileBatch(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&, ID3D11Query**,GpuTimingQueries*,std::string& error) { error="GPU far rendering is excluded from the isolated CPU viewer";return false; } bool ResolveGpuTiming(ID3D11DeviceContext*,GpuTimingQueries&,double& dispatchMs, std::uint64_t*,std::uint64_t*,std::uint64_t*) { dispatchMs=0.0;return false; } bool ResolveGpuTimestampPair(ID3D11DeviceContext*,GpuTimingQueries&,std::uint64_t,double& dispatchMs) { dispatchMs=0.0;return false; } }