Files
imgui/examples/example_sdl3_surface
moonpower 5ae4be2b5f Refactor SDL surface backend for improved quad rendering and performance
- Introduced a new structure ImGui_ImplSDLSurface3_Quad to represent quads.
- Added functions to detect quads and check for constant colors and linear UVs.
- Enhanced rendering functions to utilize quad detection for faster rendering paths.
- Updated the rendering logic in ImGui_ImplSDLSurface3_RenderDrawData to leverage the new quad rendering capabilities.
- Optimized Makefiles and build scripts to include optimization flags for better performance.
2026-03-13 14:19:04 +01:00
..

How to Build

Windows with Visual Studio's IDE

Use the provided project file (example_sdl3_surface.vcxproj) or open imgui_examples.sln.

Windows with Visual Studio's CLI

Use build_win32.bat or directly:

set SDL3_DIR=path_to_your_sdl3_folder
cl /Zi /MD /utf-8 /I.. /I..\.. /I%SDL3_DIR%\include main.cpp ..\..\backends\imgui_impl_sdl3.cpp ..\..\backends\imgui_impl_sdlsurface3.cpp ..\..\imgui*.cpp /FeDebug/example_sdl3_surface.exe /FoDebug/ /link /libpath:%SDL3_DIR%\lib\x86 SDL3.lib /subsystem:console
cl /Zi /MD /utf-8 /I.. /I..\.. /I%SDL3_DIR%\include main.cpp ..\..\backends\imgui_impl_sdl3.cpp ..\..\backends\imgui_impl_sdlsurface3.cpp ..\..\imgui*.cpp /FeDebug/example_sdl3_surface.exe /FoDebug/ /link /libpath:%SDL3_DIR%\lib\x64 SDL3.lib /subsystem:console

Linux and similar Unixes

Use the provided Makefile or directly:

c++ `pkg-config --cflags sdl3` -I .. -I ../.. -I ../../backends \
  main.cpp ../../backends/imgui_impl_sdl3.cpp ../../backends/imgui_impl_sdlsurface3.cpp ../../imgui*.cpp \
  -ldl `pkg-config --libs sdl3`

macOS

Use the provided Makefile or directly:

brew install sdl3
c++ `pkg-config --cflags sdl3` -I .. -I ../.. -I ../../backends \
  main.cpp ../../backends/imgui_impl_sdl3.cpp ../../backends/imgui_impl_sdlsurface3.cpp ../../imgui*.cpp \
  -framework Cocoa -framework IOKit -framework CoreVideo `pkg-config --libs sdl3`