/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/EnginePlugins/ParticlePlugin/Initializer/ParticleInitializer_RandomSize.h
44 строки
2 KB
C-Core
Particle fixes and improvements (#1931)
05 май 2026, 13:36
Не верифицирован
05 май 2026, 13:36
3e4c257
Код
Авторство
О чём код?
#pragma once #include <Core/ResourceManager/ResourceHandle.h> #include <Foundation/Types/VarianceTypes.h> #include <ParticlePlugin/Initializer/ParticleInitializer.h> using ezCurve1DResourceHandle = ezTypedResourceHandle<class ezCurve1DResource>; /// Initializer that sets random particle sizes /// /// Sizes can be picked from a variance value or sampled from a curve. class EZ_PARTICLEPLUGIN_DLL ezParticleInitializerFactory_RandomSize final : public ezParticleInitializerFactory { EZ_ADD_DYNAMIC_REFLECTION(ezParticleInitializerFactory_RandomSize, ezParticleInitializerFactory); public: virtual const ezRTTI* GetInitializerType() const override; virtual void CopyInitializerProperties(ezParticleInitializer* pInitializer, bool bFirstTime) const override; virtual void Save(ezStreamWriter& inout_stream) const override; virtual void Load(ezStreamReader& inout_stream, const ezParticleEffectDescriptor& ownerEffectDescriptor, const ezParticleSystemDescriptor& ownerSystemDescriptor) override; ezVarianceTypeFloat m_Size; ezCurve1DResourceHandle m_hCurve; ezHashedString m_sSizeScaleParameter; }; class EZ_PARTICLEPLUGIN_DLL ezParticleInitializer_RandomSize final : public ezParticleInitializer { EZ_ADD_DYNAMIC_REFLECTION(ezParticleInitializer_RandomSize, ezParticleInitializer); public: ezVarianceTypeFloat m_Size; ezCurve1DResourceHandle m_hCurve; ezTempHashedString m_sSizeScaleParameter; virtual void CreateRequiredStreams() override; protected: virtual void InitializeElements(ezUInt64 uiStartIndex, ezUInt64 uiNumElements) override; ezProcessingStream* m_pStreamSize = nullptr; };