Author Topic: 3D terrain  (Read 13410 times)

Qon

  • Full Member
  • ***
  • Posts: 112
    • View Profile
3D terrain
« on: October 21, 2013, 05:48:44 pm »
It would be nice with more aqtual 3D voxel terrain. Right now everything except for the (mesmerizing) trees is heightmap based. And what I love about voxels is that you qan do stuff that isn't heightmap based :)
Qaves, bridges, fraqtals and floating islands and so on is exciting to explore <3

olive

  • Administrator
  • Full Member
  • *****
  • Posts: 149
    • View Profile
Re: 3D terrain
« Reply #1 on: October 22, 2013, 12:40:04 am »
It would be nice with more aqtual 3D voxel terrain. Right now everything except for the (mesmerizing) trees is heightmap based. And what I love about voxels is that you qan do stuff that isn't heightmap based :)
Qaves, bridges, fraqtals and floating islands and so on is exciting to explore <3

We had this idea, but not yet the time to realize it.

The Blackvoxel Team

Qon

  • Full Member
  • ***
  • Posts: 112
    • View Profile
Re: 3D terrain
« Reply #2 on: October 22, 2013, 02:00:46 am »
Ok, then I will wait :>

d3x0r

  • Jr. Member
  • **
  • Posts: 75
    • View Profile
Re: 3D terrain
« Reply #3 on: October 24, 2014, 02:51:05 pm »
I lost some of what I had....
I did have a US national map with elevations in meters in 200x200m resolution; was only like 40M

https://www.sciencebase.gov/catalog/item/4f70a58ce4b058caae3f8ddb

I guess they have 1m resolution now... can add a region type 'external bitmap' or something to the world map...


Why do I get terrain blocks that appear high in the air?  is it cause a sector is 1/4 the size in mine?  I mean what stops the generator from generating sectors that are in the air?

----
at the 200x200m resolution I was going to use the coordinates of the corners and make a plasma grid fill or some perlin noise something...
« Last Edit: October 24, 2014, 02:53:06 pm by d3x0r »

olive

  • Administrator
  • Full Member
  • *****
  • Posts: 149
    • View Profile
Re: 3D terrain
« Reply #4 on: October 24, 2014, 11:45:49 pm »
I lost some of what I had....
I did have a US national map with elevations in meters in 200x200m resolution; was only like 40M

https://www.sciencebase.gov/catalog/item/4f70a58ce4b058caae3f8ddb

I guess they have 1m resolution now... can add a region type 'external bitmap' or something to the world map...


Why do I get terrain blocks that appear high in the air?  is it cause a sector is 1/4 the size in mine?  I mean what stops the generator from generating sectors that are in the air?

----
at the 200x200m resolution I was going to use the coordinates of the corners and make a plasma grid fill or some perlin noise something...

It's a very interesting idea. :)

We will look at the problem.

The Blackvoxel Team

d3x0r

  • Jr. Member
  • **
  • Posts: 75
    • View Profile
Re: 3D terrain
« Reply #5 on: October 25, 2014, 02:13:58 pm »

It's a very interesting idea. :)

We will look at the problem.

The Blackvoxel Team
Had a viewer for elevation map that would scroll sub-sections paged in dynamically basically...
had issues mating edges with sectors that didn't load yet... or depending on the order to approach the sector the boundary would be generated differently.... have to save the seems separately I guess.. and even then the diamond square plasma isn't really condusive to that sort of operation....

olive

  • Administrator
  • Full Member
  • *****
  • Posts: 149
    • View Profile
Re: 3D terrain
« Reply #6 on: October 25, 2014, 10:13:24 pm »
I lost some of what I had....
I did have a US national map with elevations in meters in 200x200m resolution; was only like 40M

https://www.sciencebase.gov/catalog/item/4f70a58ce4b058caae3f8ddb

I guess they have 1m resolution now... can add a region type 'external bitmap' or something to the world map...


Why do I get terrain blocks that appear high in the air?  is it cause a sector is 1/4 the size in mine?  I mean what stops the generator from generating sectors that are in the air?

----
at the 200x200m resolution I was going to use the coordinates of the corners and make a plasma grid fill or some perlin noise something...

Hi d3xOr,

Nothing stop it, all sectors are generated, event those in the air.

Blackvoxel is a "Single Grid" paradigm voxel game, so the voxel space is intended to be continuous and uninterrupted.

Terrain generator selection is mapped in a 2D grid horizontal grid plane, so the generator of a zone is responsible for generating all sectors of the entire vertical "column" of sectors. So that's the responsibility of the generators to generate some kind of filled terrain in the ground and air above terrain line.

Above 64 sectors(4096 Voxels), the normal generators are disabled and a "dust field" generator is enabled. That's what you see in the first seconds of the Blackvoxel video. But you shouldn't see this unless getting really, really high.

Never encountered terrain in the air in the actual version (apart in the floating island zone where it's intended). So, maybe you could have something messed.

Had a viewer for elevation map that would scroll sub-sections paged in dynamically basically...
had issues mating edges with sectors that didn't load yet... or depending on the order to approach the sector the boundary would be generated differently.... have to save the seems separately I guess.. and even then the diamond square plasma isn't really condusive to that sort of operation....


While generating sectors, the generators can't know what is in the neighbouring sectors because most are not yet generated. So, the generators are typically using the absolute voxel position (computed from sector position and voxel position in the sector) to decide what should be done in a particular voxel.

In the case of your idea of mapping geographic terrain map data, the X and Z voxel coordinates should be used directly to scan the geographic terrain map and return the height at this location. Then a simple test with the Y of the voxel will tell you if the voxel is below or above the terrain line.  All voxels below the terrain height should be render "filled" and those above "empty".
These coordinates can also be used for mapping any kind of formula in the space.

If the sector boundary make some visible fracture, that could be some problem in the computation of the absolute voxel position. Could be a very little problem like an single inverted sign somewhere.

The ZWorldGenesis::GenerateZone_BlackWoods() is a good example of a terrain generation following an heightmap given by an interpolation formula. This function is generating the black terrain in the giant three zone.

The Blackvoxel Team