32 lines
787 B
C++
32 lines
787 B
C++
#pragma once
|
|
|
|
#include <Juliet.h>
|
|
|
|
#include <Core/Common/NonNullPtr.h>
|
|
#include <Core/Math/Matrix.h>
|
|
#include <Graphics/GraphicsConfig.h>
|
|
|
|
namespace Juliet
|
|
{
|
|
struct RenderPass;
|
|
struct CommandList;
|
|
struct Window;
|
|
struct GraphicsPipeline;
|
|
struct GraphicsDevice;
|
|
|
|
struct SkyboxRenderer
|
|
{
|
|
GraphicsDevice* Device;
|
|
GraphicsPipeline* Pipeline;
|
|
};
|
|
|
|
[[nodiscard]] JULIET_API bool InitializeSkyboxRenderer(NonNullPtr<GraphicsDevice> device, NonNullPtr<Window> window);
|
|
JULIET_API void ShutdownSkyboxRenderer();
|
|
JULIET_API void RenderSkybox(NonNullPtr<RenderPass> pass, NonNullPtr<CommandList> cmdList, const Matrix& viewProjection);
|
|
|
|
#if ALLOW_SHADER_HOT_RELOAD
|
|
JULIET_API void ReloadSkyboxShaders();
|
|
#endif
|
|
|
|
} // namespace Juliet
|