godlikepanos / anki-3d-engine

AnKi 3D Engine - Vulkan backend, modern renderer, scripting, physics and more

Home Page:http://www.anki3d.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UI Integration

fire opened this issue · comments

What is the current status of ui?

What do you think of integrating https://github.com/vurtun/nuklear? Do you need help?

The UI in AnKi is only a skeleton at the moment. Haven't done much work on it because of other priorities.

I've done excessive research on UI libraries but most of them are flawed. The requirements for a UI library are:

  • Shouldn't rely on global state. That won't play well with multi-threading.
  • The renderer and the filesystem should be abstracted. The library shouldn't call GL/DX directly or load files.
  • Preferably have custom memory allocators.

I haven't seen nuklear before to be honest. By quickly looking at it it mostly covers the requirements. Not sure if it is the best solution though. That needs some investigation.

I could definitely use some help. Is it nuklear what interests you or other solutions as well?

FYI I've looked in depth into nuklear and I started integrating it. I like its design philosophy and that it's in active development. Let's see how it goes. If you are still interesting in writing some UI with nuklear for AnKi now it's a good time.

Hi, what are your plans for the engine? I haven't touched it for nearly 6 months.

The plan is to continue developing it. There are lots of things that I haven't touched yet (or that they are incomplete). A list with some near future milestones:

  • Complete the UI integration. First I'll use it to print some statistics on screen. Then go deeper and design how a menu system will work for example.
  • Fully integrate to the engine a game level that I have.
  • Create a benchmark/techdemo using the level above.
  • Work on the renderer (that practically never stops)

Far future:

  • Write an editor or improve the asset pipeline
  • More work on physics
  • Pathfinding
  • AI
  • Sound

Does this answer your question?

Found some free time, so I'll compile the engine and see what's current.