Skip to content

v0.6.0-alpha - Vulkan Rendering & Block Expansion

Choose a tag to compare

@zarigata zarigata released this 26 Feb 17:37
· 194 commits to main since this release

VoxelForge v0.6.0-alpha

🎨 Vulkan Rendering System

This release implements the core Vulkan rendering pipeline:

New Features

  • VulkanContext: Complete Vulkan instance, physical/logical device, and queue management
  • VulkanBuffer: Buffer utilities including staging, vertex/index buffers, ring buffers, and buffer pools
  • Renderer: Main renderer with swapchain, render pass, framebuffers, and frame management
  • ChunkMesher: Chunk mesh generation with face culling, ambient occlusion, and multiple render layers

🧱 Block Expansion (200+ Blocks)

Extended BlockRegistry with comprehensive vanilla Minecraft block coverage:

Stone Variants

  • Granite, Diorite, Andesite (regular and polished)
  • Deepslate, Cobbled Deepslate
  • Tuff, Calcite

Ores

  • Iron, Gold, Diamond, Emerald, Coal, Copper
  • Lapis Lazuli, Redstone
  • Deepslate variants for all ores

Wood Types

  • Oak, Spruce, Birch, Jungle
  • Acacia, Dark Oak, Mangrove
  • Cherry, Bamboo
  • Crimson, Warped (Nether wood)

Leaves

  • All tree type leaves with proper transparency

Building Blocks

  • Stone Bricks (regular, cracked, mossy, chiseled)
  • Bricks, Terracotta, Concrete
  • Sandstone, Red Sandstone
  • Prismarine variants

Wool Colors

  • All 16 dye colors

Nether & End

  • Netherrack, Soul Sand, Soul Soil
  • Basalt, Blackstone, Glowstone
  • End Stone, Obsidian, Crying Obsidian

Light Sources

  • Lantern, Soul Lantern, Campfire
  • Glowstone, Sea Lantern, Shroomlight
  • Jack o'Lantern

Redstone Components

  • Piston, Sticky Piston
  • Dispenser, Dropper, Observer, Hopper
  • Redstone Lamp

Utility Blocks

  • Anvil, Enchanting Table
  • Brewing Stand, Cauldron, Bell
  • Beehive

Decorative

  • Ice variants, Snow, Clay, Sponge
  • Bookshelf, Ladder
  • Sculk blocks (1.19+)
  • Amethyst blocks

📊 Statistics

  • Lines of code added: ~4,700
  • Block types: 200+ (from 20)
  • New files: 6
  • Total commits: 19

🔧 Technical Details

  • Uses Vulkan 1.3 with dynamic rendering
  • Implements ambient occlusion for chunk meshes
  • Supports solid, cutout, and translucent render layers
  • Ring buffers for efficient uniform buffer management
  • Buffer pools for dynamic allocations

Next Milestone: Chunk mesh rendering on GPU, physics integration with PhysX