Skip to content

Latest commit

ย 

History

62 Commits

Folders and files

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

Repository files navigation

Warning

๐Ÿšง WIP โ€” Active Engine Development & Pipeline Construction in Progress.

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.

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