Turska framework & UI library (Turs2)

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
tonic
Posts: 69
Joined: Mon Dec 10, 2007 6:18 pm
Contact:

Turska framework & UI library (Turs2)

Post by tonic »

Turska is a compact and simple framework & UI component library. It is especially aimed for games which typically have only modest requirements for UI. The library is implemented both for Irrlicht (using D3D8/D3D9/OpenGL) and SDL (using OpenGL).

The Irrlicht version is created using Irrlicht version 1.4. However on top of that it needs two patches which are submitted to the Irrlicht SourceForge patch tracker: 1926982, 1926983.

The first downloadable package (v1.9.0, leading to 2.0.0 after some additions) is available.

The new version (Turs2) has an IMGUI (immediate mode GUI) API. Current components: button, slider. (Labels can be rendered directly using font class since IMGUI code is part of normal rendering, textfield is coming soon). UI supports both mouse and keyboard control. The rendering is separated behind an interface, allowing custom renderers to be used. By default there's Image-based renderers available. All this means it doesn't get much easier than this to use simple skinnable UI components in a game!

The UI stuff is built on top of Image & Font class abstraction. The Image class is an easy way to draw hardware-accelerated 2D images. Supported blend modes: normal (alpha-blended), additive, multiplicative. Transformations: rotate, center, scale (with given pivot). Images (and the UI) support free scaling to ease support for different resolutions (bilinear filtering is enabled for this). Font interface has typical alignment flags and string metrics. "Vertical strip" bitmap font class is included, and alternative implementations are coming soon (e.g. support for angelcode font tool fonts).

The code is dual-licensed so that you're free to pick between BSD-style license or LGPL. This means that if you e.g. pick the BSD-style license, you're free to use it like you want also commercially (you just need to include the license text in program's documentation).

Home page of the project: http://iki.fi/jetro/turska

(Edit: the sentence finished like BlindSide asked!)
Last edited by tonic on Thu May 29, 2008 7:36 am, edited 1 time in total.
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

This means that if you e.g. pick the BSD-style license,
Care to finish that sentence? I'd love to see some screenshots btw, theres nothing on the website as far as I can see.
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
tonic
Posts: 69
Joined: Mon Dec 10, 2007 6:18 pm
Contact:

Post by tonic »

BlindSide wrote:
This means that if you e.g. pick the BSD-style license,
Care to finish that sentence? I'd love to see some screenshots btw, theres nothing on the website as far as I can see.
Yeah I finished it, don't know how I forgot that. :oops:

The library is meant to be used so that one would always give own images for components, so a screenshot is probably slightly misleading. Anyway, here is an image from the example framework (using its images).

Image

(edit: screenshot updated)
tonic
Posts: 69
Joined: Mon Dec 10, 2007 6:18 pm
Contact:

Post by tonic »

Version 2.0.0 has been released.
Visit Turska home page.
  • * Immediate Mode Graphical User Interface (IMGUI) API:
    • o Supports double-pumping the IMGUI
      o UI widgets: Button, Checkbox, TextField, Slider (horizontal or vertical, integer or real value type)
      o Style interface for IMGUI widgets to allow custom visual style
      o Drop region support (for implementing drag'n'drop)
      o Active (down) and hot (hover) states for pointer movement
      o Active key focus state
    * Simple 2D image drawing API:
    • o Draw modes: Normal, Additive, Multiplicative, Pre-multiplied alpha
      o Image and text alignment
      o Custom image pivot
      o Horizontal and vertical flip
      o Rotate and scale transform
      o Optional linear filtering or mipmaps
      o Load-time image pixel dilation (to fix boundary blending errors)
      o Support for image source rectangle
    * Support for bitmap fonts generated by AngelCode Bitmap Font Generator
    * Support for bitmap fonts loaded from a vertical strip image of glyphs
    * Word-wrapping printing with fonts
    * Rendering through Irrlicht engine (supports Direct3D8, Direct3D9, OpenGL and OpenGL ES)
    * Rendering through OpenGL with SDL
    * Portable C++
tonic
Posts: 69
Joined: Mon Dec 10, 2007 6:18 pm
Contact:

Post by tonic »

Little update about changes up to latest version in svn (2.0.4 - no new release packages yet).

- Image9Tile helper class to draw images consisting of 9 tiles with middle parts stretched
- New Image9TileButtonStyle (supports making buttons with the border tiles being "outside" or "inside" given area)
- Added GraphicsOpenGL which can be used without SDL, stb_image enclosed for image loading
- Irrlicht specific version has batched image drawing now (GraphicsIrr & ImageIrr)
Post Reply