
- Font loading - Measuring for formatting & justification - Utf8 Glyph walking - Commented example in oogabooga/examples/text_rendering.c - Small 2D renderer refactor - Pass 8-bit integers "type" and "sampler_index" to shader - Sample texture differently depending on "type" (text or regular quad) - Sample with nearest/linear min/mag depending on sampler_index - Set min/mag filtering in Draw_Quad - Images are now created and deleted directly with gfx calls rather than deferring it for gfx_update. - We can now set image sub data with gfx_set_image_data() - Images are no longer hard coded to 4 channels - Utf8 utility: - utf8_to_utf32(): convert utf8 bytes to a single u32 codepoint - next_utf8(): Convert first utf8 character in a string to a u32 codepoint and advance the passed string to the next unicode - Renamed m4_multiply -> m4_mul for consistency - Refactored os window to be DPI aware (scaled_width vs pixel_width) - in minimal example, renamed hammer_xform -> rect_xform
26 lines
No EOL
691 B
C
26 lines
No EOL
691 B
C
|
|
int entry(int argc, char **argv) {
|
|
|
|
window.title = STR("Minimal Game Example");
|
|
window.scaled_width = 1280; // We need to set the scaled size if we want to handle system scaling (DPI)
|
|
window.scaled_height = 720;
|
|
window.x = 200;
|
|
window.y = 200;
|
|
window.clear_color = hex_to_rgba(0x6495EDff);
|
|
|
|
while (!window.should_close) {
|
|
reset_temporary_storage();
|
|
|
|
os_update();
|
|
|
|
float64 now = os_get_current_time_in_seconds();
|
|
Matrix4 rect_xform = m4_scalar(1.0);
|
|
rect_xform = m4_rotate_z(rect_xform, (f32)now);
|
|
rect_xform = m4_translate(rect_xform, v3(-.25f, -.25f, 0));
|
|
draw_rect_xform(rect_xform, v2(.5f, .5f), COLOR_RED);
|
|
|
|
gfx_update();
|
|
}
|
|
|
|
return 0;
|
|
} |