Nebula
Loading...
Searching...
No Matches
terraincontext.cc File Reference
#include "terraincontext.h"
#include "graphics/graphicsserver.h"
#include "frame/framesubgraph.h"
#include "graphics/cameracontext.h"
#include "graphics/view.h"
#include "dynui/imguicontext.h"
#include "jobs2/jobs2.h"
#include "imgui.h"
#include "renderutil/drawfullscreenquad.h"
#include "core/cvar.h"
#include "lighting/lightcontext.h"
#include "raytracing/raytracingcontext.h"
#include "resources/resourceserver.h"
#include "materials/materialloader.h"
#include "gpulang/render/terrain/shaders/terrain_mesh_generate.h"
#include "frame/default.h"

Classes

struct  Terrain::TerrainVert
struct  Terrain::TerrainTri
struct  Terrain::TerrainQuad

Namespaces

namespace  Terrain
 A quad tree designed to return regions of free 2D space.

Enumerations

enum  Terrain::BiomeLoadBits {
  Terrain::AlbedoLoaded = 0x1 , Terrain::NormalLoaded = 0x2 , Terrain::MaterialLoaded = 0x4 , Terrain::MaskLoaded = 0x8 ,
  Terrain::WeightsLoaded = 0x10
}

Functions

 N_DECLARE_COUNTER (N_TERRAIN_TOTAL_AVAILABLE_DATA, Terrain Total Data Size)
 Terrain::__ImplementContext (TerrainContext, TerrainContext::terrainAllocator)
void Terrain::PackSubTexture (const SubTexture &subTex, TerrainSubTexture &compressed)
void Terrain::UnpackPageDataEntry (uint *packed, uint &status, uint &subTextureIndex, uint &mip, uint &maxMip, uint &subTextureTileX, uint &subTextureTileY)
 Unpack from packed ushort vectors to full size.
template<typename T>
uint Terrain::Upload (TerrainContext::TerrainInstanceInfo &instance, T *data, uint size, uint alignment)
void Terrain::IndirectionUpdate (TerrainContext::TerrainInstanceInfo &instance, uint mip, uint physicalOffsetX, uint physicalOffsetY, uint indirectionOffsetX, uint indirectionOffsetY, uint subTextureTileX, uint subTextureTileY)
void Terrain::IndirectionErase (TerrainContext::TerrainInstanceInfo &instance, uint mip, uint indirectionOffsetX, uint indirectionOffsetY, uint subTextureTileX, uint subTextureTileY)
void Terrain::IndirectionMoveGrow (TerrainContext::TerrainInstanceInfo &instance, uint oldMaxMip, uint oldTiles, const Math::uint2 &oldCoord, uint newMaxMip, uint newTiles, const Math::uint2 &newCoord)
 Copies mip chain from old region to new region which is bigger by mapping mips 0..X to 1..X in the new region.
void Terrain::IndirectionMoveShrink (TerrainContext::TerrainInstanceInfo &instance, uint oldMaxMip, uint oldTiles, const Math::uint2 &oldCoord, uint newMaxMip, uint newTiles, const Math::uint2 &newCoord)
 Copies mip chain from old region to new region which is smaller, mapping mips 0..X to 0..X-1 in the new region.
void Terrain::IndirectionClear (TerrainContext::TerrainInstanceInfo &instance, uint mips, uint tiles, const Math::uint2 &coord)
 Clear old region.

Variables

const uint Terrain::IndirectionTextureSize = 2048
const uint Terrain::SubTextureWorldSize = 64
const uint Terrain::SubTextureMaxTiles = 256
const uint Terrain::IndirectionNumMips = Math::log2(SubTextureMaxTiles) + 1
const float Terrain::SubTextureRange = 300.0f
const float Terrain::SubTextureSwapDistance = 10.0f
const float Terrain::SubTextureFadeStart = 200.0f
const uint Terrain::SubTextureMaxPixels = 65536
const uint Terrain::LowresFallbackSize = 4096
const uint Terrain::LowresFallbackMips = Math::log2(LowresFallbackSize) + 1
const uint Terrain::PhysicalTextureTileSize = 256
const uint Terrain::PhysicalTextureTileHalfPadding = 4
const uint Terrain::PhysicalTextureTilePadding = PhysicalTextureTileHalfPadding * 2
const uint Terrain::PhysicalTextureNumTiles = 32
const uint Terrain::PhysicalTextureTilePaddedSize = PhysicalTextureTileSize + PhysicalTextureTilePadding
const uint Terrain::PhysicalTextureSize = (PhysicalTextureTileSize) * PhysicalTextureNumTiles
const uint Terrain::PhysicalTexturePaddedSize = (PhysicalTextureTilePaddedSize) * PhysicalTextureNumTiles
const uint Terrain::TerrainShadowMapSize = 2048
struct  Terrain::terrainState
struct  Terrain::terrainVirtualTileState
struct  Terrain::raytracingState

Function Documentation

◆ N_DECLARE_COUNTER()

N_DECLARE_COUNTER ( N_TERRAIN_TOTAL_AVAILABLE_DATA ,
Terrain Total Data Size )