Foundation
Loading...
Searching...
No Matches
Macros | Functions
Examples.cpp File Reference
#include "Examples.hpp"
#include <RenderCore/Presenter.hpp>
#include <algorithm>
#include <argh.h>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <exception>
#include <optional>
#include <stb_image_write.h>

Macros

#define SDL_MAIN_HANDLED
 
#define FOUNDATION_EXAMPLES_IMPLEMENTATION
 

Functions

bool Examples_CreateSwapchain (SDL_Window *window, RHIDevice *device, RHIDeviceScopedHandle< RHISurface > &outSurface, RHIDeviceScopedHandle< RHISwapchain > &outSwap)
 
void Examples_ReportFatalException ()
 
void Examples_UpdateCameraUBO (RendererUBO &ubo, Renderer *renderer, FExampleOrbitCamera &camera, RendererConfig const &config)
 
ExampleVulkanContext Examples_InitVulkan (SDL_Window *window, int argc, char **argv, RendererDesc desc)
 
bool Examples_PollEvents (SDL_Window *window, ExampleVulkanContext &ctx, ExampleInputState &input, SDL_Event *outLastEvent, void(*processEvent)(SDL_Event *))
 
bool Examples_ShouldClose (SDL_Window *window, ExampleVulkanContext &ctx, SDL_Event *outEvent)
 
void Examples_BeginFrameInput (ExampleInputState &input)
 
void Examples_BeginControls (ExampleInputState &input, int x, int y)
 
void Examples_SameLine (ExampleInputState &input, int spacing)
 
void Examples_PushScale (ExampleInputState &input, int scale)
 
void Examples_PopScale (ExampleInputState &input)
 
void Examples_PushColor (ExampleInputState &input, int col32)
 
void Examples_PushColor (ExampleInputState &input, int r, int g, int b, int a)
 
void Examples_PopColor (ExampleInputState &input)
 
void Examples_Text (ExampleInputState &input, StringView text)
 
bool Examples_Button (ExampleInputState &input, StringView text)
 
bool Examples_Slider (ExampleInputState &input, StringView label, float &value, float minValue, float maxValue, float step, const char *unit, bool drag)
 
Span< const RenderUtils::CSDebugTextData > Examples_HudLines (ExampleInputState const &input)
 
void Examples_ResetRenderer (ExampleVulkanContext &ctx, RendererDesc desc)
 
void Examples_NewFrame (Renderer *renderer)
 
void Examples_NewFrame (SDL_Window *window, ExampleVulkanContext &ctx)
 
void Examples_DestroyVulkan (SDL_Window *window, ExampleVulkanContext &ctx)
 
void Examples_DumpAndOpenImage (RHIApplication const &app, StringView path, RHIExtent2D extent, void const *data, int channels, int strideBytes)
 
float Examples_GetTime ()
 

Macro Definition Documentation

◆ FOUNDATION_EXAMPLES_IMPLEMENTATION

#define FOUNDATION_EXAMPLES_IMPLEMENTATION

◆ SDL_MAIN_HANDLED

#define SDL_MAIN_HANDLED

Function Documentation

◆ Examples_BeginControls()

void Examples_BeginControls ( ExampleInputState input,
int  x,
int  y 
)

◆ Examples_BeginFrameInput()

void Examples_BeginFrameInput ( ExampleInputState input)

◆ Examples_Button()

bool Examples_Button ( ExampleInputState input,
StringView  text 
)

◆ Examples_CreateSwapchain()

bool Examples_CreateSwapchain ( SDL_Window *  window,
RHIDevice device,
RHIDeviceScopedHandle< RHISurface > &  outSurface,
RHIDeviceScopedHandle< RHISwapchain > &  outSwap 
)

◆ Examples_DestroyVulkan()

void Examples_DestroyVulkan ( SDL_Window *  window,
ExampleVulkanContext ctx 
)

◆ Examples_DumpAndOpenImage()

void Examples_DumpAndOpenImage ( RHIApplication const &  app,
StringView  path,
RHIExtent2D  extent,
void const *  data,
int  channels,
int  strideBytes 
)

◆ Examples_GetTime()

float Examples_GetTime ( )

◆ Examples_HudLines()

Span< const RenderUtils::CSDebugTextData > Examples_HudLines ( ExampleInputState const &  input)

◆ Examples_InitVulkan()

ExampleVulkanContext Examples_InitVulkan ( SDL_Window *  window,
int  argc,
char **  argv,
RendererDesc  desc 
)

◆ Examples_NewFrame() [1/2]

void Examples_NewFrame ( Renderer renderer)

◆ Examples_NewFrame() [2/2]

void Examples_NewFrame ( SDL_Window *  window,
ExampleVulkanContext ctx 
)

◆ Examples_PollEvents()

bool Examples_PollEvents ( SDL_Window *  window,
ExampleVulkanContext ctx,
ExampleInputState input,
SDL_Event *  outLastEvent,
void(*)(SDL_Event *)  processEvent 
)

◆ Examples_PopColor()

void Examples_PopColor ( ExampleInputState input)

◆ Examples_PopScale()

void Examples_PopScale ( ExampleInputState input)

◆ Examples_PushColor() [1/2]

void Examples_PushColor ( ExampleInputState input,
int  col32 
)

◆ Examples_PushColor() [2/2]

void Examples_PushColor ( ExampleInputState input,
int  r,
int  g,
int  b,
int  a 
)

◆ Examples_PushScale()

void Examples_PushScale ( ExampleInputState input,
int  scale 
)

◆ Examples_ReportFatalException()

void Examples_ReportFatalException ( )

◆ Examples_ResetRenderer()

void Examples_ResetRenderer ( ExampleVulkanContext ctx,
RendererDesc  desc 
)

◆ Examples_SameLine()

void Examples_SameLine ( ExampleInputState input,
int  spacing 
)

◆ Examples_ShouldClose()

bool Examples_ShouldClose ( SDL_Window *  window,
ExampleVulkanContext ctx,
SDL_Event *  outEvent 
)

◆ Examples_Slider()

bool Examples_Slider ( ExampleInputState input,
StringView  label,
float &  value,
float  minValue,
float  maxValue,
float  step,
const char *  unit,
bool  drag 
)

◆ Examples_Text()

void Examples_Text ( ExampleInputState input,
StringView  text 
)

◆ Examples_UpdateCameraUBO()

void Examples_UpdateCameraUBO ( RendererUBO ubo,
Renderer renderer,
FExampleOrbitCamera camera,
RendererConfig const &  config 
)