Giter VIP home page Giter VIP logo

simonkrogmann / openll Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cginternals/openll

0.0 2.0 0.0 2.69 MB

Open Label Library - API specification and reference implementations for glyph rendering in 2D and 3D graphics environments.

Home Page: https://www.openll.org

License: MIT License

CMake 1.63% GLSL 0.18% C++ 85.04% HTML 0.15% CSS 0.01% JavaScript 0.01% Makefile 0.61% M4 0.60% C 0.33% Python 10.74% Shell 0.63% Objective-C 0.07%

openll's Introduction

OpenLL

Open Label Library is an opensource, MIT licensed API specification for high performance label (glyphs, text, etc) rendering in 2D and 3D graphics environments. In addition there will be reference implementations for WebGL, Vulkan, and OpenGL.

Project Health

Service System Compiler Status
Travis-CI Ubuntu 14.04 GCC 4.8, Clang 3.5 Build Status
Travis-CI OS X Clang ? upcoming
Coverity Ubuntu 14.04 GCC 5.4 Coverity Status
Jenkins



Ubuntu 14.04



GCC 4.8
GCC 4.9
GCC 5.4
Clang 3.8
Build Status
Build Status
Build Status
Build Status
Jenkins

Windows 10

MSVC 2013 Update 5
MSVC 2015 Update 1
Build Status
Build Status

Terminology

This section introduces and partially extends common terminology from computer graphics and typography within the context of texture-based glyph rendering, as it is the basis of OpenLL and required for comprehending its API. Please note that these are not intended as general definitions but instead used to clarify their use within OpenLL.

Basic Computer Graphics

Bitmask
A rectangular, high-resolution bitfield that approximates the shape of a grapheme by means of 'inside' and 'outside' bits.
Distance Map
A discrete, low-resolution scalar field that specifies the minimum distance to a shape's contour approximated by a bitmask. The distance may be signed to distinguish between the inside and outside of the shape.
Texture
A rectangular container storing data in a GPU friendly format for efficient processing.
Texture Atlas
A large, rectangular container comprising multiple textures that can be efficiently addressed as single texture.

For efficient label rendering OpenLL uses texture atlases of distance maps of graphemes. OpenLL further allows the computation of distance maps based on bitmasks at run-time.

Reference Systems and Units

Pixel
ToDo
Point
ToDo
Dots per Inch
ToDo
Screen Space
ToDo
World Space
ToDo also refer to Object Space here
Local Space
ToDo Typesetting Space

Typography

Grapheme
ToDo
Glyph
An elemental symbol intended to represent a readable character for the purposes of written communication. It is defined by a sub ... ToDo
Ligature
ToDo
Glyph Sequence
ToDo
Glyph Catalogue
ToDo
Font Face
A collection of glyph-based described by, e.g., font-size, line spacing, a glyph catalogue, as well as kerning information... ToDo

Typesetting

Kerning
ToDo
Base Line
ToDo
Advance
ToDo
Anchor
ToDo
Alignment
ToDo
...
ToDo
Typesetting
ToDo

Positioning and Layouting

Point
ToDo 2D and 3D
Line
ToDo 2D and 3D
Spline
ToDo 2D and 3D
Surface
ToDo 2D and 3D
Visibility
ToDo
Overlap
ToDo
Precedence
ToDo
Transformation
ToDo Additional glyph and glpyh sequence...

Stylization

ToDo
ToDo

Advanced Computer Graphics

Renderer
ToDo
Attributed Vertex Cloud
ToDo
Super Sampling
ToDo
Back-face Culling
ToDo
Texture Array
ToDo page...
Sub Texture
ToDo

openll's People

Contributors

cgcostume avatar anne-gropler avatar

Watchers

James Cloos avatar Simon Krogmann avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.