BrunoLevy / geogram

a programming library with geometric algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cleaner and more complete Android support

BrunoLevy opened this issue · comments

Current Android port is a bit hacky, and does not use ImGui Android backend.
TODO:

  • fixed all warnings
  • renamed functions of my android backend to avoid name collision with official one in imgui
  • port to new ImGui backend
  • find a nice way of interfacing mouse callback
  • show/hide soft keyboard whenever text input is required
  • translate keys
  • fix stylus input
  • test with BT keyboard and BT mouse
  • app crashes when switching to other app and switching back (see #94)
  • show soft keyboard only when events where finger and stylus (do not show on mouse hover)
  • final cleanup of user_callback_android.cpp (HandleEventUserCallback_mouse() still a bit hacky)
  • in GeoBox atlas maker seems to create many small charts
  • query max VBO size and fallback to default impl if exceeded. See this reference, glGet() with GL_MAX_ELEMENT_INDEX, GL_MAX_ELEMENTS_INDICES, GL_MAX_ELEMENTS_VERTICES
    seems to report smaller value than what's supported, to be investigated later
  • add two-fingers rotation control (if I have time ...)
    well, this one will be for later...

Note:
This repo (in particular, the end of this file) seems to have functions similar to my AndroidUtils JNI functions, to be checked.

Tested GLSL profile (GLUP140) with Android, seems to work for small surfaces, but becomes super slow / crashes for larger surfaces. It seems that geometry shaders are implemented in sw on my phone. It seems also that reported maximum VBO size is larger than actual maximum VBO size (for instance, load "groot hires" model and hide mesh, everything disappears...)