Engine: Virtual Textures

Published March 10, 2019
Advertisement

Implementing terrain tools is somewhat time consuming (in addition with me being quite busy in past 2 months - on topics I can't write too much about). Anyways terrain system and authoring tools in my engine start to look good, here is a small sneak peek:

vtex.thumb.png.8f95c35fd740776c5e5a62d26dbc0487.png

The circular thing is a terrain, some interesting features:

  • Height map is a virtual texture of unlimited size (those who know how virtual textures work know that there are some limitations - related to your page table size, page indirection size, etc.)
  • Virtual texture is editable by the user with base functions (I'm currently working on placing 'stamps')
  • Terrain geometry is using seamless LOD using tile-based binary triangle trees
  • Calculation of terrain LOD is based on specific position
  • Allows to specify quality of rendering for shadowmap/voxelization/etc.
  • Etc.

The interesting part is selecting which tiles and at what quality are going to be loaded/rendered. I'm not using the approach RAGE used (i.e. not using feedback buffer), but I'm using selected LOD for given terrain tile (currently without frustum culling - which is still on todo list).

Originally I wanted to have basic terrain support, but due to myself thinking about more and more features, and adding them - it is becoming quite big. The source still needs a bit of cleanup (before I write something on terrain) and I haven't connected it with vegetation nor physics system yet - these are both in todo list for now.

1 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement

Latest Entries

Merry Christmas!

7702 views

Progress

3732 views

Roadmap for 2020

5268 views

DOOM: Post Mortem

4870 views

DOOM: GROOM

4275 views

DOOM: Placeholders

4847 views

Ludum Dare 45

4580 views
Advertisement