#include <Ultralight/Ultralight.h> int main () { // Setup our Platform Platform& platform = Platform::instance(); platform.set_config(Config()); platform.set_gpu_driver(new GPUDriverD3D(new D3DRenderer())); platform.set_font_loader(new FontLoaderWin()); // Create the Renderer Ref<Renderer> renderer = Renderer::Create(); // Create the View Ref<View> view = renderer->CreateView(800, 600, false); view->LoadHTML("<h1>Hello World!</h1>"); return 0; }
Chromium is awesome, it really is. But not for embedders. Over the past 10 years it has become bloated, memory-hungry, and difficult to build much less modify. We needed something in between a huge, all-in-one browser toolkit and a bare-bones HTML UI renderer that only supports a tiny subset of HTML/CSS spec.
We started over with WebKit, stripped it to the bare-minimum, then rebuilt it from scratch with an eye towards embedding. The result is a fast, lightweight, low-memory HTML UI solution that blends the power of Chromium with the small footprint of Native UI.
Ultralight is intended to be used for rendering HTML UI within games and desktop apps. The API is currently available for C++ only and requires Direct3D (more drivers coming).
Only 8MB compressed, low memory usage, we've stripped WebKit to the bare essentials.
GPU-Accelerated, drivers for Direct3D (OpenGL and Metal soon). Optimized for games.
Write once, deploy to multiple platforms. Coming to Windows, Mac OSX, and Linux.
For Windows Only, More Platforms Coming
The library will be free for non-commercial, educational use, and small indie developers. Pricing plans for larger commercial projects will be announced later.
Quite a few things: Mac OSX and Linux support, scrollbars, text selection, copy/paste, CSS filter effects, CSS drop shadows, full GIF support, HTML5 video, and complex text support to name a few. We're still working on it.
Additional bindings for C, C#, .NET, Python and more are planned.
We're considering releasing a SwiftShader-based CPU driver so users can render in environments that don't support GPU.
We will release all modifications made to WebCore during our first official release and ensure all WebCore code stays in a separate module to satisfy the licensing requirements of the LGPL license.
I'll drop the royal "we" for a moment. Hi, I'm Adam Simmons. I previously wrote Awesomium and many other tools. This project is self-funded and developed using my decade of experience with Chromium, Gecko, and WebKit.