Skip to content
fineless71 edited this page Mar 4, 2023 · 17 revisions

The wiki is a work in progress

Welcome to the Nuklear wiki. Here you will find links to all documentation. If you want to learn more about the available components see the sidebar, which has them all listed out.

If you are starting out and unsure what to do we recommend the following:

  1. Follow one of the getting started guides. If your platform is not there yet, try looking at another guide. Most of the setup is pretty generic.
  2. Once you have a window up and running, go through the features and try adding components to get a feel for how Nuklear works.

In general, the demo folder should contain enough example code to get you started if you are familiar with C/C++.

Contents

General

Getting started

Backends

Nuklear is a backend agnostic library, which means you need to provide a backend (opengl, vulkan, sdl, glfw, etc) and some plumbing for Nuklear before you can actually display things on the screen.

  • In the demo folder you will find examples for some of the most popular backends. You can use these files to easily integrate Nuklear in your existing project, or copy/learn whats needed.
  • In the Getting started section you will find guides on how to setup Nuklear with a backend from scratch (note: these guides are still in the making).

What does a backend need to provide

in progress

A backend needs to do a couple of things:

  • provide input, which you need to feed Nuklear
  • provide rendering capabilities.

Community

Features

Basics

Creating a window

Display elements:

Layout

You can position your components using different layout techniques:

Input

Images

Various components support images (buttons, labels, comboboxes). There is also the more generic nk_draw_image:

Font management

Skinning

You can change the look and feel of Nuklear to whatever you like. Take a look at the skinning example to see how. In short, you can access the nk_context.style variable to change the look and feel of various components.

Gallery

See https://github.com/Immediate-Mode-UI/Nuklear/issues/251 for some user submitted content.

screenshot screen screen2 node skinning gamepad