Files
LNXSDK/lib/haxejolt/JoltPhysics/Jolt/Compute/CPU/ShaderWrapper.h

30 lines
639 B
C
Raw Normal View History

2026-03-04 00:50:15 -08:00
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2026 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#pragma once
#ifdef JPH_USE_CPU_COMPUTE
JPH_NAMESPACE_BEGIN
namespace HLSLToCPP { struct uint3; }
/// Wraps a compute shader to allow calling it from C++
class ShaderWrapper
{
public:
/// Destructor
virtual ~ShaderWrapper() = default;
/// Bind buffer to shader
virtual void Bind(const char *inName, void *inData, uint64 inSize) = 0;
/// Execute a single shader thread
virtual void Main(const HLSLToCPP::uint3 &inThreadID) = 0;
};
JPH_NAMESPACE_END
#endif // JPH_USE_CPU_COMPUTE