92 [[nodiscard]] uint32_t
maxParticles()
const {
return maxParticles_; }
98 void ensureResources();
102 MTL::ComputePipelineState* computePipeline_ =
nullptr;
103 MTL::Buffer* particleBufferA_ =
nullptr;
104 MTL::Buffer* particleBufferB_ =
nullptr;
105 MTL::Buffer* uniformBuffer_ =
nullptr;
106 MTL::SamplerState* fieldSampler_ =
nullptr;
108 uint32_t maxParticles_ = 0;
109 uint32_t currentBuffer_ = 0;
110 bool initialized_ =
false;
111 bool resourcesReady_ =
false;
GPU texture resource supporting 2D, cubemap, volume, and array formats with mipmap management.