4 "Auto-selects the best available graphics backend.",
5 "Vulkan graphics backend.",
6 "Direct3D 12 graphics backend.",
7 "OpenGL graphics backend.",
11 "Preserves aspect ratio and adds bars as needed.",
12 "Fills the whole window even if the image is distorted.",
13 "Whole-number scaling with aspect ratio preserved.",
17 "Preserves the game's native resolution and scales finished frames.",
18 "Scales inputs in render calls to render at a higher resolution.",
22 "Nearest-neighbor sampling for presented frames.",
23 "Linear filtering for presented frames.",
27 "Game's original vertex coordinate precision.",
28 "Subpixel vertex coordinates for smoother 3D movement.\n\nNOTE: Subpixel mode "
29 "may make certain seams between polygons on the puppy models visible at higher "
41 "the game resolution. Default: logical.";
45 "rendering. Default: native.";
47 "nearest-neighbor. Default: true.";
49 "to disable. Default: 2.";
51 "continuing. Default: false.";
53 =
"Generate mipmaps for textures to reduce aliasing at smaller sizes. Default: true.";
60 "##graphics_settings_table",
70 (
int *)&
state->config.graphics_api,
80 &
state->config.window_width,
90 &
state->config.window_height,
100 (
int *)&
state->config.scaling_fit,
110 (
int *)&
state->config.scaling_method,
118 "Present Scaling Algorithm",
120 (
int *)&
state->config.present_filter,
129 "##vertex_precision",
130 (
int *)&
state->config.vertex_precision,
140 &
state->config.sprite_smooth,
148 &
state->config.msaa_samples,
156 "Texture Upload Sync",
157 "##texture_upload_sync",
158 &
state->config.texture_upload_sync,
164 "Generate Texture Mipmaps",
165 "##generate_texture_mipmaps",
166 &
state->config.generate_texture_mipmaps,
174 &
state->config.fullscreen,
const DTTR_BackendState * state
@ DTTR_CONFIG_CHOICES_GRAPHICS_API
@ DTTR_CONFIG_CHOICES_SCALING_FIT
@ DTTR_CONFIG_CHOICES_SCALING_METHOD
@ DTTR_CONFIG_CHOICES_PRESENT_FILTER
@ DTTR_CONFIG_CHOICES_VERTEX_PRECISION
bool labeled_input_int(const DTTR_ImGuiDialogContext *ctx, const char *label, const char *id, int *value, int step, int step_fast, const char *tooltip, config_label_state label_state)
bool labeled_checkbox(const DTTR_ImGuiDialogContext *ctx, const char *label, const char *id, bool *value, const char *tooltip, config_label_state label_state)
void end_settings_table()
#define FIELD_LABEL_STATE(state, field)
#define DTTR_CONFIG_UI_INPUT_W
bool begin_tab_settings_table(const DTTR_ImGuiDialogContext *ctx, const char *id, float input_width)
bool labeled_choice_combo(const DTTR_ImGuiDialogContext *ctx, const char *label, const char *id, int *value, DTTR_ConfigChoiceList choices, const char *const *tooltips, const char *tooltip, config_label_state label_state)
static const char *const VERTEX_PRECISION_TOOLTIPS[]
static const char * TOOLTIP_SPRITE_SMOOTH
static const char * TOOLTIP_WINDOW_HEIGHT
static const char * TOOLTIP_WINDOW_WIDTH
static const char *const SCALING_METHOD_TOOLTIPS[]
static const char * TOOLTIP_PRESENT_FILTER
static const char * TOOLTIP_MSAA_SAMPLES
static const char * TOOLTIP_SCALING_METHOD
static const char * TOOLTIP_GENERATE_TEXTURE_MIPMAPS
static const char * TOOLTIP_SCALING_FIT
static const char *const PRESENT_FILTER_TOOLTIPS[]
static const char * TOOLTIP_FULLSCREEN
static const char *const GRAPHICS_API_TOOLTIPS[]
static const char * TOOLTIP_TEXTURE_UPLOAD_SYNC
static const char * TOOLTIP_VERTEX_PRECISION
static const char * TOOLTIP_GRAPHICS_API
static const char *const SCALING_FIT_TOOLTIPS[]
void draw_graphics_tab(const DTTR_ImGuiDialogContext *ctx, config_ui_state *state)