Examples: Allegro 5: Added support for 32-bit indices setup via defining ImDrawIdx, to avoid an unecessary conversion (Allegro 5 doesn't support 16-bit indices).
parent
6d6f4a85f6
commit
3913297384
4 changed files with 39 additions and 8 deletions
@ -1,15 +1,24 @@ |
|||||||
|
|
||||||
|
# Configuration |
||||||
|
|
||||||
|
Dear ImGui outputs 16-bit vertex indices by default. |
||||||
|
Allegro doesn't support them natively, so we have two solutions: convert the indices manually in imgui_impl_a5.cpp, or compile imgui with 32-bit indices. |
||||||
|
You can either modify imconfig.h that comes with Dear ImGui (easier), or set a C++ preprocessor option IMGUI_USER_CONFIG to find to a filename. |
||||||
|
We are providing `imconfig_allegro5.h` that enables 32-bit indices. |
||||||
|
Note that the back-end supports _BOTH_ 16-bit and 32-bit indices, but 32-bit indices will be slightly faster as they won't require a manual conversion. |
||||||
|
|
||||||
# How to Build |
# How to Build |
||||||
|
|
||||||
- On Ubuntu 14.04+ |
- On Ubuntu 14.04+ |
||||||
|
|
||||||
```bash |
```bash |
||||||
g++ -I ../.. main.cpp imgui_impl_a5.cpp ../../imgui*.cpp -lallegro -lallegro_primitives -o allegro5_example |
g++ -DIMGUI_USER_CONFIG=\"examples/allegro5_example/imconfig_allegro5.h\" -I ../.. main.cpp imgui_impl_a5.cpp ../../imgui*.cpp -lallegro -lallegro_primitives -o allegro5_example |
||||||
``` |
``` |
||||||
|
|
||||||
- On Windows with Visual Studio's CLI |
- On Windows with Visual Studio's CLI |
||||||
|
|
||||||
``` |
``` |
||||||
set ALLEGRODIR=path_to_your_allegro5_folder |
set ALLEGRODIR=path_to_your_allegro5_folder |
||||||
cl /Zi /MD /I %ALLEGRODIR%\include /I ..\.. main.cpp imgui_impl_a5.cpp ..\..\imgui*.cpp /link /LIBPATH:%ALLEGRODIR%\lib allegro-5.0.10-monolith-md.lib user32.lib |
set IMCONFIG_FILE=\"examples/allegro5_example/imconfig_allegro5.h\" |
||||||
|
cl /Zi /MD /I %ALLEGRODIR%\include /DIMGUI_USER_CONFIG=%IMCONFIG_FILE% /I ..\.. main.cpp imgui_impl_a5.cpp ..\..\imgui*.cpp /link /LIBPATH:%ALLEGRODIR%\lib allegro-5.0.10-monolith-md.lib user32.lib |
||||||
``` |
``` |
||||||
|
@ -0,0 +1,11 @@ |
|||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// COMPILE-TIME OPTIONS FOR DEAR IMGUI ALLEGRO 5 EXAMPLE
|
||||||
|
// See imconfig.h for the full template
|
||||||
|
// Because Allegro doesn't support 16-bit vertex indices, we enable the compile-time option of imgui to use 32-bit indices
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#pragma once |
||||||
|
|
||||||
|
// Use 32-bit vertex indices because Allegro doesn't support 16-bit ones
|
||||||
|
// This allows us to avoid converting vertices format at runtime
|
||||||
|
#define ImDrawIdx int |
Loading…
Reference in New Issue