Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
ComputeShader.h
Go to the documentation of this file.
1// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
2// SPDX-FileCopyrightText: 2025 Jorrit Rouwe
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
9#include <Jolt/Core/Result.h>
10
12
14class JPH_EXPORT ComputeShader : public RefTarget<ComputeShader>, public NonCopyable
15{
16public:
18
20 ComputeShader(uint32 inGroupSizeX, uint32 inGroupSizeY, uint32 inGroupSizeZ) :
21 mGroupSizeX(inGroupSizeX),
22 mGroupSizeY(inGroupSizeY),
23 mGroupSizeZ(inGroupSizeZ)
24 {
25 }
26 virtual ~ComputeShader() = default;
27
29 uint32 GetGroupSizeX() const { return mGroupSizeX; }
30 uint32 GetGroupSizeY() const { return mGroupSizeY; }
31 uint32 GetGroupSizeZ() const { return mGroupSizeZ; }
32
33private:
34 uint32 mGroupSizeX;
35 uint32 mGroupSizeY;
36 uint32 mGroupSizeZ;
37};
38
40
#define JPH_EXPORT
Definition Core.h:275
#define JPH_NAMESPACE_END
Definition Core.h:425
std::uint32_t uint32
Definition Core.h:503
#define JPH_NAMESPACE_BEGIN
Definition Core.h:419
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition Memory.h:50
Compute shader handle.
Definition ComputeShader.h:15
uint32 GetGroupSizeX() const
Get group sizes.
Definition ComputeShader.h:29
virtual ~ComputeShader()=default
uint32 GetGroupSizeZ() const
Definition ComputeShader.h:31
uint32 GetGroupSizeY() const
Definition ComputeShader.h:30
JPH_OVERRIDE_NEW_DELETE ComputeShader(uint32 inGroupSizeX, uint32 inGroupSizeY, uint32 inGroupSizeZ)
Constructor / destructor.
Definition ComputeShader.h:20
Class that makes another class non-copyable. Usage: Inherit from NonCopyable.
Definition NonCopyable.h:11
Definition Reference.h:35
Helper class that either contains a valid result or an error.
Definition Result.h:12