Skip to content

Experiment with Project Panama, jextract, and Vulkan on Win32.

Notifications You must be signed in to change notification settings

brcolow/java-vulkan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-vulkan

To generate the Java classes corresponding to the Vulkan and Win32 API run jextract.ps1 in Powershell.

Make sure you set the following paths correctly in jextract.ps1 to correspond to your environment:

# Requires Early Access JDK 20 >= Build 27 (12/09/2022)
$jdk = "C:\Program Files\Java\jdk-20"
$libclang = "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64"
$I = "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0"

To build the project run build.ps1 in Powershell.

Make sure you set the following paths correctly in build.ps1 to correspond to your environment:

# Requires Early Access JDK 20 >= Build 27 (12/09/2022)
$jdk = "C:\Program Files\Java\jdk-20"
$glslc = "C:\Users\brcolow\dev\glslc.exe"

glslc can be downloaded from https://github.com/google/shaderc or by downloading the Vulkan SDK.

Debug Validation Layer

Setting DEBUG to true in Vulkan.java enables the VK_LAYER_KHRONOS_validation layer. For this to work the Vulkan SDK must be installed.

Screenshot

java-vulkan

Future Work

  • It would be really interesting to see if we could use value/primitive types from Valhalla as vertex buffer objects (where such buffers would be made of Vector(2/3)f's which would be value/primitive types.
  • In order to progress from rendering a triangle, many new paths open up. Can we make a simple Vulkan memory allocator? What about a simple OBJ reader?

About

Experiment with Project Panama, jextract, and Vulkan on Win32.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published