Patch - Doc Update - V12.8.1

This commit is contained in:
2025-07-28 17:37:15 +02:00
parent 9431552316
commit ccd0d045f9
201 changed files with 9244 additions and 3316 deletions

View File

@@ -19,6 +19,11 @@
class application_class;
class stats;
/**
* Struct to hold widget entries for ImGui.
* This struct contains a pointer to a boolean that determines if the widget should be shown,
* and a function that will be called when the widget is rendered.
*/
struct widget_entry
{
bool* show;
@@ -28,35 +33,112 @@ struct widget_entry
class imguiManager
{
public:
/**
* Constructor for imguiManager class.
* Initializes the ImGui manager with default values.
*/
imguiManager();
~imguiManager();
/**
* Initializes the ImGui manager.
* @param hwnd Handle to the window where ImGui will be rendered.
* @param device Pointer to the Direct3D 11 device.
* @param deviceContext Pointer to the Direct3D 11 device context.
* @return True if initialization was successful, otherwise false.
*/
bool Initialize(HWND hwnd, ID3D11Device* device, ID3D11DeviceContext* deviceContext);
/**
* Shuts down the ImGui manager.
*/
void Shutdown();
/**
* Renders the ImGui interface.
*/
void Render();
/**
* Starts a new ImGui frame.
*/
void NewFrame();
/**
* Sets up the ImGui dockspace.
* This function creates a dockspace for the ImGui interface.
*/
void SetupDockspace();
// Widgets
/**
* Creates a slider widget to control the speed of the demo spinning cube.
* @param speed
*/
void WidgetSpeedSlider(float* speed);
/**
* Creates a button widget.
*/
void WidgetButton();
/**
* Shows the FPS in a widget.
*/
void WidgetFPS();
/**
* Create a widget to add a button wich will add an object to the scene.
*/
void WidgetAddObject();
/**
* create a window to display the object list and their properties.
*/
void WidgetObjectWindow();
/**
* Create a window to display the terrain generation options.
*/
void WidgetTerrainWindow();
/**
* Create a window to display the light settings.
*/
void WidgetLightWindow();
/**
* Create a window to display the Engine settings.
*/
void WidgetEngineSettingsWindow();
/**
* Create a window to display the scene.
* This window isn't used anymore.
*/
void WidgetRenderWindow(ImVec2 availableSize);
/**
* Create a window to display the log messages from the Logger.
*/
void WidgetLogWindow();
/**
* Create a window to display the stats of the engine.
* This includes FPS, draw calls, triangle count, etc.
* As well as the GPU, CPU information and RAM information.
*/
void WidgetRenderStats();
/**
* Function to render the ImGui widgets.
* This function use the struct widget_entry to render the widgets that are registered.
* @return True if the ImGui widgets were rendered successfully, otherwise false.
*/
bool ImGuiWidgetRenderer();
/**
* set the Old scene window size.
* @param size
*/
void SetWindowSize(ImVec2 size) { windowSize = size; }
/**
* Get the current window size.
* @return The current window size as an ImVec2.
*/
ImVec2 GetWindowSize() const { return windowSize; }
// Getters
/**
* Set the application class pointer for the ImGui manager.
* @param app
*/
void SetApp(std::shared_ptr<application_class> app) { app_ = app; }
// Shader toggles