Files
Juliet/Romeo/docs/Juliet_include_Graphics_SkyboxRenderer.md
T

2.1 KiB

Juliet\include\Graphics\SkyboxRenderer

Source Files

  • Header: Juliet\include\Graphics\SkyboxRenderer.h
  • Source: Juliet\src\Graphics\SkyboxRenderer.cpp

AI Description

The SkyboxRenderer class in the given C++ code is designed to manage the rendering of a skybox using DirectX 12. It encapsulates the necessary components such as the graphics device, pipeline, and shader resources. The main purpose of this component is to initialize, shutdown, and render a skybox in a game or application.

The class provides methods for initializing the renderer with a graphics device and window, shutting it down, and rendering the skybox using a specified render pass and command list. It also includes functionality to reload shaders if needed, although this feature is commented out in the source file.

The InitializeSkyboxRenderer method sets up the pipeline by creating vertex and fragment shaders from DXIL files, configuring the graphics pipeline with the appropriate settings, and binding it to the render pass. The ShutdownSkyboxRenderer method cleans up the resources associated with the renderer, including destroying the graphics pipeline and resetting the state.

The RenderSkybox method sets up push constants for the shader and uses them to draw a triangle list representing the skybox. It binds the graphics pipeline and executes the draw call using the provided render pass and command list.

This class is part of a larger system that handles rendering in a game or application, providing a reusable component for managing the skybox rendering process.

Symbols

Namespace Juliet

Classes, Structs & Unions

  • struct SkyboxRenderer

Functions & Methods

  • [[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()