Voxelterrain

This project's main goal is to generate and visualize terrain built using voxels. It was achieved using different approaches and computing technologies just for the sake of performance and implementation comparison.
Alternatives To Voxelterrain
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Voxelspace5,657
2 months ago3mitC
Terrain rendering algorithm in less than 20 lines of code
Veloren4,077
7 hours ago1gpl-3.0Rust
An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World. This repository is a mirror. Please submit all PRs and issues on our GitLab page.
Godot_voxel1,712
5 days ago137otherC++
Voxel module for Godot Engine
Voxelplugin1,280
7 months ago273mitC++
Voxel Plugin for Unreal Engine
Dungeontemplatelibrary1,024
a day ago3bsl-1.0C++
🌏: Dungeon free resources (terrain & roguelike generation)
Ue4voxelterrain547
a month ago21mitC++
Unreal Engine 4: Smooth voxel terrian example
Godot_goodies396
a year ago
Collection of nice stuff for Godot
Marching Cubes Terrain389
2 years ago14mitC#
Marching Cubes terrain implementation in Unity using the Job System and the Burst compiler
Filetovox364
6 months ago5mitC#
Tool for convert files into Magicavoxel file
Voxelgame339
a month ago9otherGDScript
Voxel world prototype made with Godot Engine
Alternatives To Voxelterrain
Select To Compare


Alternative Project Comparisons
Readme

Voxel Terrain

Screenshot 1 Screenshot 2 Screenshot 3

Introduction

This project's main goal is to generate and visualize terrain built using voxels. It was achieved using different approaches and computing technologies just for the sake of performance and implementation comparison.

Used Technologies

There is a list of technologies used in this project:

  • DirectCompute and CUDA for parallel terrain generation
  • All sorts of DirectX 11 shaders (Vertex Shader, Pixel Shader, Geometry Shader, Hull Shader, Domain Shader, Compute Shader) used in visualization process
  • HLSL for shaders implementation
  • C# language for program logic and sequence algorithms implementation
  • C language for CUDA kernels implementation

Terrain Generation

The whole terrain generation process was implemented using sequence algorithms for CPU and then using parallel equivalents for Microsoft DirectCompute and Nvidia CUDA. Performance boost for parallel versions is significant and can be measured from tens to even hundreds.

Generation process utilizes the following algorithms and features:

  • XORWOW algorithm implementation for random numbers generation
  • Voxel weights generation using fractional Brownian motion (noise)
  • Voxel weights generation using math equations
  • Marching cubes for geometry extraction
  • Prefix scan used for optimization of parallel generation

Terrain Visualization

Visualization is made through DirectX 11. In order to obtain some eye candy effects the following algorithms were implemented:

  • ambient occlusion
  • tri-planar mapping
  • displacement mapping
  • bump mapping
  • adaptive tessellation
  • sky box
  • linear fog
  • post-processed bloom

Some screenshots presenting the final effect can be found here.

Installation

There are some prerequisites:

  • Graphics card with DirectX 11 and CUDA 2.0 or higher
  • Microsoft.NET framework with version 4.0 or higher
  • Microsoft DirectX SDK
  • CUDA Toolkit 8.0
  • Visual Studio 2015
  • 64-bit platform due to cuRAND requirement

The solution uses some wrappers around native CUDA and DirectX libraries:

  • SlimDX for DirectX - included in solution because there is no x64 equivalent in NuGet
  • ManagedCuda and CudaRand for CUDA and cuRAND - shipped as NuGet packages

There are some sample textures in repository. Each one contains color, displacement and bump map.

License

MIT

Popular Terrain Projects
Popular Voxel Projects
Popular Mapping Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C Sharp
Generation
Shader
Terrain
Voxel
Directx
Parallel Computing
Hlsl