Skip to content

Latest commit

ย 

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Warning

๐Ÿšง WORK IN PROGRESS (WIP) โ€” Active Engine Development & Calibration

  • Active Calibration: The 2D rendering pipeline, analytical SDF shaders (anti-aliasing, stroke coverage, corner radii), and color spaces are currently undergoing active calibration against Java2D references.
  • FastGraphics Migration: High-level 2D drawing primitives, shape APIs, and canvas abstractions will progressively migrate to FastGraphics as the unified drawing layer across backends, while FastVulkan serves as the dedicated native Vulkan hardware backend and swapchain runtime.

FastVulkan 0.1.0 [ALPHA-2026-08] โ€” High-Performance Native Vulkan 2D Rendering & Window Engine for Java

Status License: MIT Java Platform JitPack


๐ŸŒ‹ Ultra-fast native Vulkan 2D batch rendering and Win32 zero-latency window engine for Java, designed to power FastUI. Built for maximum framerates, zero JVM Garbage Collection overhead, and seamless live window resizing.

FastVulkan provides a low-overhead GPU-accelerated 2D pipeline (instanced shapes, quad batching, texture rendering, and smooth zoom/transforms) with native C++ window management.

Watch Showcase Demo (YouTube)

FastVulkan Showcase


Quick Start โ€” Example

import fastvulkan.FastVulkanWindow;
import fastdwm.FastDWM;
import fasttheme.FastTheme;

public class Demo {
    public static void main(String[] args) {
        try (FastVulkanWindow window = new FastVulkanWindow("FastVulkan Demo", 1024, 600, 0.88f, 0.12f, 0.12f, 1.0f)) {
            long hwnd = window.getHWND();
            if (hwnd != 0) {
                FastTheme.setTitleBarDarkMode(hwnd, true);
                FastTheme.setTitleBarColor(hwnd, 20, 20, 20);
                FastTheme.setCornerStyle(hwnd, 2);
            }
            
            while (window.isOpen() && window.pollEvents()) {
                window.present();
            }
        }
    }
}

Table of Contents


Why FastVulkan?

Standard Java GUI toolkits suffer from thread synchronization overhead, laggy window resizing, and CPU rasterization bottlenecks. FastVulkan solves this with:

  • FastGPU Core Foundation: Leverages FastGPU for low-overhead Vulkan device initialization, off-heap memory management, and swapchain coordination.
  • Native Win32 Message Loop: Latency-free live window resize (WM_SIZE / WM_SIZING) without Java thread blocking.
  • Instanced Quad Batching: Thousands of shapes rendered in a single Vulkan command buffer dispatch.
  • Zero-GC Architecture: Off-heap vertex generation and direct native buffer exchanges.
  • GPU Texture & Zoom Pipeline: High-speed image uploads and smooth bilinear sampling.

Key Features

  • ๐ŸŒ‹ Vulkan 1.3 2D Render Engine: Built on top of FastGPU with ultra-low overhead SPIR-V shaders for real-time shapes and texture mapping.
  • ๐ŸชŸ Native Win32 Windowing: Native CreateWindowExW loop with crisp DPI awareness and direct frame presents.
  • โšก Instanced Batching: Batch thousands of textured quads, rectangles, and rounded shapes in 1 draw call.
  • ๐Ÿ” Smooth Zoom & Viewport Transform: High-performance pan/zoom matrix math executed entirely on GPU.
  • ๐Ÿ“ฆ FastJava Ecosystem Ready: Interoperates seamlessly with FastWindow, FastGPU, FastImage, FastUI, and FastCore.

Architecture & Progressive Roadmap

  1. โœ… Repository Scaffolding & CI: Standalone native build system and project layout.
  2. ๐Ÿ”„ Native Window & SwapChain: Win32 window creation and flicker-free resize handling.
  3. ๐Ÿ”„ Texture & Image Pipeline: Direct memory bitmap uploads, scaling, and viewport zooming.
  4. ๐Ÿ”„ 2D Shape Batching: Rectangles, rounded corners, circles, anti-aliased lines.
  5. ๐Ÿ”„ FastGraphics / FastUI Integration: Exporting clean abstraction layers for downstream FastJava modules.

Real-World Use Cases

  • ๐Ÿ–ฅ๏ธ High-FPS UI Frameworks (FastUI): Power complex desktop dashboards, rich vector controls, and live animations with zero GC pauses.
  • ๐Ÿ–ผ๏ธ Real-Time Image & Video Viewports: Seamlessly render, pan, and smoothly zoom 4K/8K bitmaps streamed from FastImage and FastScreen.
  • ๐ŸŽฎ 2D Game Engines & Particle Canvas: Render tens of thousands of batch-instanced sprites, lines, and HUD shapes at 1000+ FPS.
  • ๐Ÿ“Š Scientific & Financial Charting: Real-time high-frequency candlestick, waveform, and scatter data visualization with instant window resizing.

Installation

Option 1: Maven (Recommended)

Add the JitPack repository and the dependency stack to your pom.xml:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependencies>
    <!-- FastVulkan 2D Engine & Windowing -->
    <dependency>
        <groupId>com.github.andrestubbe</groupId>
        <artifactId>FastVulkan</artifactId>
        <version>0.1.0</version>
    </dependency>

    <!-- FastWindow Native Win32 Window Engine -->
    <dependency>
        <groupId>com.github.andrestubbe</groupId>
        <artifactId>FastWindow</artifactId>
        <version>0.1.1</version>
    </dependency>

    <!-- FastGPU Native Acceleration Engine -->
    <dependency>
        <groupId>com.github.andrestubbe</groupId>
        <artifactId>fastgpu</artifactId>
        <version>0.1.1</version>
    </dependency>

    <!-- FastDWM Native VSync & Precision Timing -->
    <dependency>
        <groupId>com.github.andrestubbe</groupId>
        <artifactId>FastDWM</artifactId>
        <version>0.1.0</version>
    </dependency>

    <!-- FastExecution Precision Scheduling Engine -->
    <dependency>
        <groupId>com.github.andrestubbe</groupId>
        <artifactId>FastExecution</artifactId>
        <version>0.1.0</version>
    </dependency>

    <!-- FastTheme Native Styling & Dynamic Theming -->
    <dependency>
        <groupId>com.github.andrestubbe</groupId>
        <artifactId>FastTheme</artifactId>
        <version>0.1.4</version>
    </dependency>

    <!-- FastCore Unified JNI Loader -->
    <dependency>
        <groupId>com.github.andrestubbe</groupId>
        <artifactId>FastCore</artifactId>
        <version>0.1.0</version>
    </dependency>
</dependencies>

Option 2: Gradle (via JitPack)

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.andrestubbe:FastVulkan:0.1.0'
    implementation 'com.github.andrestubbe:FastWindow:0.1.1'
    implementation 'com.github.andrestubbe:fastgpu:0.1.1'
    implementation 'com.github.andrestubbe:FastDWM:0.1.0'
    implementation 'com.github.andrestubbe:FastExecution:0.1.0'
    implementation 'com.github.andrestubbe:FastTheme:0.1.4'
    implementation 'com.github.andrestubbe:FastCore:0.1.0'
}

Option 3: Direct Download (No Build Tool)

Download the required JARs directly to add them to your classpath:

  1. ๐Ÿ“ฆ FastVulkan-0.1.0.jar (The Core Library)
  2. ๐ŸชŸ fastwindow-0.1.1.jar (Native Window Engine)
  3. โšก fastgpu-0.1.1.jar (GPU Compute & Memory Foundation)
  4. โฑ๏ธ fastdwm-0.1.0.jar (Hardware VSync & Timing)
  5. โš™๏ธ fastexecution-0.1.0.jar (Precision Scheduling)
  6. ๐ŸŽจ FastTheme-0.1.4.jar (Native Window Styling)
  7. ๐Ÿš€ fastcore-0.1.0.jar (Mandatory Native Loader)

Important

All JARs must be included in your classpath for the native Vulkan JNI bindings to function correctly.


Documentation


Platform Support

Platform Status Notes
Windows 10/11 (x64) โœ… Supported Native Win32 + Vulkan 1.3
Linux ๐Ÿ”„ Planned X11 / Wayland + Vulkan
macOS ๐Ÿ”„ Planned MoltenVK

License

MIT License โ€” Free for commercial and personal use. See LICENSE for details.


Related Projects

  • FastWindow โ€” Ultra-Fast Win32 Native Window Engine
  • FastGPU โ€” Native GPU compute engine
  • FastGraphics โ€” Hardware-accelerated DirectX graphics
  • FastImage โ€” Native SIMD image processing engine
  • FastCore โ€” Native JNI loader

Part of the FastJava Ecosystem โ€” Making the JVM faster. Small package. Maximum speed. Zero bloat. โšก

About

๐ŸŒ‹ High-performance native Vulkan 2D rendering & zero-latency window engine for Java (built on FastGPU) โ€” powering FastUI with zero-GC batching and live Win32 resizing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages