/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/Engine/RendererCore/Components/LensFlareRenderer.h
39 строк
2 KB
C-Core
Custom Render Hooks (#1801)
30 янв 2026, 19:53
Не верифицирован
30 янв 2026, 19:53
705e880
Код
Авторство
О чём код?
#pragma once #include <Core/ResourceManager/ResourceHandle.h> #include <RendererCore/Pipeline/Renderer.h> struct ezPerLensFlareData; class ezRenderDataBatch; using ezShaderResourceHandle = ezTypedResourceHandle<class ezShaderResource>; /// Implements rendering of lens flares generated by ezLensFlareComponent. /// /// Renders lens flare effects that simulate camera lens artifacts when looking at bright lights. /// Uses instanced rendering to draw multiple flare elements in one batch. class EZ_RENDERERCORE_DLL ezLensFlareRenderer : public ezRenderer { EZ_ADD_DYNAMIC_REFLECTION(ezLensFlareRenderer, ezRenderer); EZ_DISALLOW_COPY_AND_ASSIGN(ezLensFlareRenderer); public: ezLensFlareRenderer(); ~ezLensFlareRenderer(); // ezRenderer implementation virtual void GetSupportedRenderDataTypes(ezDynamicArray<const ezRTTI*>& out_types) const override; virtual void RenderBatch(const ezRenderViewContext& renderContext, const ezRenderPipelinePass* pPass, const ezRenderDataBatch& batch) const override; protected: /// Creates a GPU buffer for per-flare-element instance data. ezGALBufferHandle CreateLensFlareDataBuffer(ezUInt32 uiBufferSize) const; /// Destroys a previously created lens flare data buffer. void DeleteLensFlareDataBuffer(ezGALBufferHandle hBuffer) const; /// Fills the lens flare data array with per-instance information from the batch. void FillLensFlareData(const ezRenderDataBatch& batch) const; ezShaderResourceHandle m_hShader; mutable ezDynamicArray<ezPerLensFlareData, ezAlignedAllocatorWrapper> m_LensFlareData; };