Nebula
Loading...
Searching...
No Matches
Terrain Namespace Reference

Detailed Description

The occupancy quad tree implements a tree which allows for a quick search.

The texture tile cache keeps track of which texture tiles should be used based on a last recently used heuristic.

Terrain rendering subsystem.

Classes

struct  BiomeMaterial
 
struct  BiomeMaterialBuilder
 
struct  BiomeParameters
 
struct  BiomeSettings
 
struct  BiomeSettingsBuilder
 
struct  IndirectionEntry
 
class  OccupancyQuadTree
 
struct  PhysicalTileUpdate
 
struct  SubTexture
 
struct  SubTextureCompressed
 
struct  SubTextureUpdateJobOutput
 
struct  SubTextureUpdateJobUniforms
 
struct  TerrainBiomeId
 
class  TerrainContext
 
struct  TerrainQuad
 
struct  TerrainSetupSettings
 
struct  TerrainTri
 
struct  TerrainVert
 
class  TextureTileCache
 
struct  TileCacheEntry
 

Enumerations

enum  BiomeLoadBits {
  AlbedoLoaded = 0x1 , NormalLoaded = 0x2 , MaterialLoaded = 0x4 , MaskLoaded = 0x8 ,
  WeightsLoaded = 0x10
}
 
enum class  SubTextureUpdateState : uint8 {
  NoChange , Deleted , Created , Grew ,
  Shrank
}
 

Functions

 __ImplementContext (TerrainContext, TerrainContext::terrainAllocator)
 
void PackSubTexture (const SubTexture &subTex, TerrainSubTexture &compressed)
 
void 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 Upload (T *data, uint size, uint alignment)
 
void IndirectionUpdate (uint mip, uint physicalOffsetX, uint physicalOffsetY, uint indirectionOffsetX, uint indirectionOffsetY, uint subTextureTileX, uint subTextureTileY)
 
void IndirectionErase (uint mip, uint indirectionOffsetX, uint indirectionOffsetY, uint subTextureTileX, uint subTextureTileY)
 
void IndirectionMoveGrow (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 IndirectionMoveShrink (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 IndirectionClear (uint mips, uint tiles, const Math::uint2 &coord)
 Clear old region.
 
void TerrainCullJob (const Jobs::JobFuncContext &ctx)
 

Variables

static uint colorIndex = 0
 
Threading::Event subtexturesFinishedEvent
 
Threading::Event sectionCullFinishedEvent
 
Threading::AtomicCounter subtexturesDoneCounter = 0
 
Threading::AtomicCounter sectionCullDoneCounter = 0
 
const uint IndirectionTextureSize = 2048
 
const uint SubTextureWorldSize = 64
 
const uint SubTextureMaxTiles = 256
 
const uint IndirectionNumMips = Math::log2(SubTextureMaxTiles) + 1
 
const float SubTextureRange = 300.0f
 
const float SubTextureSwapDistance = 10.0f
 
const float SubTextureFadeStart = 200.0f
 
const uint SubTextureMaxPixels = 65536
 
const uint SubTextureMaxUpdates = 1024
 
const uint LowresFallbackSize = 4096
 
const uint LowresFallbackMips = Math::log2(LowresFallbackSize) + 1
 
const uint PhysicalTextureTileSize = 256
 
const uint PhysicalTextureTileHalfPadding = 4
 
const uint PhysicalTextureTilePadding = PhysicalTextureTileHalfPadding * 2
 
const uint PhysicalTextureNumTiles = 32
 
const uint PhysicalTextureTilePaddedSize = PhysicalTextureTileSize + PhysicalTextureTilePadding
 
const uint PhysicalTextureSize = (PhysicalTextureTileSize) * PhysicalTextureNumTiles
 
const uint PhysicalTexturePaddedSize = (PhysicalTextureTilePaddedSize) * PhysicalTextureNumTiles
 
const uint TerrainShadowMapSize = 1024
 
struct { 
 
   TerrainSetupSettings   Terrain::settings 
 
   CoreGraphics::ShaderId   Terrain::terrainShader 
 
   CoreGraphics::ShaderProgramId   Terrain::terrainShadowProgram 
 
   CoreGraphics::ResourceTableId   Terrain::resourceTable 
 
   CoreGraphics::BufferId   Terrain::systemConstants 
 
   CoreGraphics::VertexLayoutId   Terrain::vlo 
 
   CoreGraphics::WindowId   Terrain::wnd 
 
   CoreGraphics::BufferId   Terrain::biomeBuffer 
 
   Terrain::MaterialLayers   Terrain::biomeMaterials 
 
   Util::Array< CoreGraphics::TextureId >   Terrain::biomeTextures 
 
   CoreGraphics::TextureId   Terrain::biomeMasks [Terrain::MAX_BIOMES] 
 
   CoreGraphics::TextureId   Terrain::biomeWeights [Terrain::MAX_BIOMES] 
 
   Threading::AtomicCounter   Terrain::biomeLoaded [Terrain::MAX_BIOMES] 
 
   uint   Terrain::biomeLowresGenerated [Terrain::MAX_BIOMES] 
 
   IndexT   Terrain::biomeCounter 
 
   Graphics::GraphicsEntityId   Terrain::sun 
 
   CoreGraphics::TextureId   Terrain::terrainShadowMap 
 
   Math::vec4   Terrain::cachedSunDirection 
 
   bool   Terrain::updateShadowMap 
 
   CoreGraphics::ResourceTableId   Terrain::terrainShadowResourceTable 
 
   CoreGraphics::TextureId   Terrain::terrainPosBuffer 
 
   Memory::ArenaAllocator< sizeof(Frame::FrameCode) *4 >   Terrain::frameOpAllocator 
 
   float   Terrain::mipLoadDistance = 1500.0f 
 
   float   Terrain::mipRenderPadding = 150.0f 
 
   SizeT   Terrain::layers 
 
   bool   Terrain::debugRender 
 
   bool   Terrain::renderToggle 
 
terrainState 
 
struct { 
 
   CoreGraphics::ShaderProgramId   Terrain::terrainPrepassProgram 
 
   CoreGraphics::PipelineId   Terrain::terrainPrepassPipeline 
 
   CoreGraphics::ShaderProgramId   Terrain::terrainPageClearUpdateBufferProgram 
 
   CoreGraphics::ShaderProgramId   Terrain::terrainResolveProgram 
 
   CoreGraphics::PipelineId   Terrain::terrainResolvePipeline 
 
   CoreGraphics::ShaderProgramId   Terrain::terrainTileUpdateProgram 
 
   CoreGraphics::ShaderProgramId   Terrain::terrainTileFallbackProgram 
 
   bool   Terrain::virtualSubtextureBufferUpdate 
 
   CoreGraphics::BufferSet   Terrain::subtextureStagingBuffers 
 
   CoreGraphics::BufferId   Terrain::subTextureBuffer 
 
   CoreGraphics::BufferSet   Terrain::pageUpdateReadbackBuffers 
 
   CoreGraphics::TextureId   Terrain::indirectionTexture 
 
   CoreGraphics::TextureId   Terrain::indirectionTextureCopy 
 
   CoreGraphics::BufferId   Terrain::pageUpdateListBuffer 
 
   CoreGraphics::BufferId   Terrain::pageStatusBuffer 
 
   Threading::AtomicCounter   Terrain::numPatchesThisFrame 
 
   CoreGraphics::BufferSet   Terrain::patchConstants 
 
   CoreGraphics::BufferId   Terrain::runtimeConstants 
 
   CoreGraphics::TextureId   Terrain::physicalAlbedoCache 
 
   CoreGraphics::TextureId   Terrain::physicalNormalCache 
 
   CoreGraphics::TextureId   Terrain::physicalMaterialCache 
 
   CoreGraphics::TextureId   Terrain::lowresAlbedo 
 
   CoreGraphics::TextureId   Terrain::lowresNormal 
 
   CoreGraphics::TextureId   Terrain::lowresMaterial 
 
   bool   Terrain::updateLowres = false 
 
   CoreGraphics::ResourceTableSet   Terrain::virtualTerrainSystemResourceTable 
 
   CoreGraphics::ResourceTableId   Terrain::virtualTerrainRuntimeResourceTable 
 
   Util::FixedArray< CoreGraphics::ResourceTableId >   Terrain::virtualTerrainDynamicResourceTable 
 
   SizeT   Terrain::numPageBufferUpdateEntries 
 
   Util::FixedArray< SubTexture >   Terrain::subTextures 
 
   Util::FixedArray< TerrainSubTexture >   Terrain::gpuSubTextures 
 
   Threading::AtomicCounter   Terrain::subTextureNumOutputs 
 
   Terrain::SubTextureUpdateJobOutput   Terrain::subTextureJobOutputs [SubTextureMaxUpdates
 
   OccupancyQuadTree   Terrain::indirectionOccupancy 
 
   OccupancyQuadTree   Terrain::physicalTextureTileOccupancy 
 
   TextureTileCache   Terrain::physicalTextureTileCache 
 
   Util::FixedArray< uint >   Terrain::indirectionMipOffsets 
 
   Util::FixedArray< uint >   Terrain::indirectionMipSizes 
 
   Util::Array< CoreGraphics::TextureCopy >   Terrain::indirectionTextureCopies 
 
   Util::Array< IndirectionEntry >   Terrain::indirectionEntryUpdates 
 
   Util::FixedArray< IndirectionEntry >   Terrain::indirectionBuffer 
 
   CoreGraphics::BufferSet   Terrain::indirectionUploadBuffers 
 
   Util::FixedArray< uint >   Terrain::indirectionUploadOffsets 
 
   CoreGraphics::PassId   Terrain::tileUpdatePass 
 
   CoreGraphics::PassId   Terrain::tileFallbackPass 
 
   Util::Array< Terrain::TerrainTileUpdateUniforms >   Terrain::pageUniforms 
 
   Util::Array< Math::uint2 >   Terrain::tileOffsets 
 
   Util::Array< PhysicalTileUpdate >   Terrain::pageUpdatesThisFrame 
 
   Util::Array< CoreGraphics::BufferCopy >   Terrain::indirectionBufferUpdatesThisFrame 
 
   Util::Array< CoreGraphics::TextureCopy >   Terrain::indirectionTextureUpdatesThisFrame 
 
   Util::Array< CoreGraphics::TextureCopy >   Terrain::indirectionTextureFromCopiesThisFrame 
 
   Util::Array< CoreGraphics::TextureCopy >   Terrain::indirectionTextureToCopiesThisFrame 
 
   Util::Array< CoreGraphics::BufferCopy >   Terrain::indirectionBufferClearsThisFrame 
 
   Util::Array< CoreGraphics::TextureCopy >   Terrain::indirectionTextureClearsThisFrame 
 
   uint   Terrain::numPixels 
 
terrainVirtualTileState 
 
struct { 
 
   CoreGraphics::ShaderProgramId   Terrain::meshProgram 
 
   CoreGraphics::VertexAlloc   Terrain::vertexBuffer 
 
   CoreGraphics::VertexAlloc   Terrain::indexBuffer 
 
   CoreGraphics::ResourceTableId   Terrain::meshGenTable 
 
   CoreGraphics::BufferId   Terrain::patchBuffer 
 
   CoreGraphics::BufferId   Terrain::constantsBuffer 
 
   SizeT   Terrain::numTris 
 
   SizeT   Terrain::numPatches 
 
   bool   Terrain::updateMesh = false 
 
   std::function< void()>   Terrain::terrainSetupCallback 
 
   IndexT   Terrain::setupBlasFrame 
 
raytracingState 
 
static const TileCacheEntry InvalidTileCacheEntry = TileCacheEntry{ 0x3FF, 0x7FF, 0x7FF, 0xFFFFFFFF }
 

Enumeration Type Documentation

◆ BiomeLoadBits

Enumerator
AlbedoLoaded 
NormalLoaded 
MaterialLoaded 
MaskLoaded 
WeightsLoaded 

◆ SubTextureUpdateState

Enumerator
NoChange 
Deleted 
Created 
Grew 
Shrank 

Function Documentation

◆ __ImplementContext()

Terrain::__ImplementContext ( TerrainContext ,
TerrainContext::terrainAllocator  )

◆ IndirectionClear()

void Terrain::IndirectionClear ( uint mips,
uint tiles,
const Math::uint2 & coord )

Clear old region.

◆ IndirectionErase()

void Terrain::IndirectionErase ( uint mip,
uint indirectionOffsetX,
uint indirectionOffsetY,
uint subTextureTileX,
uint subTextureTileY )

◆ IndirectionMoveGrow()

void Terrain::IndirectionMoveGrow ( 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.

◆ IndirectionMoveShrink()

void Terrain::IndirectionMoveShrink ( 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.

◆ IndirectionUpdate()

void Terrain::IndirectionUpdate ( uint mip,
uint physicalOffsetX,
uint physicalOffsetY,
uint indirectionOffsetX,
uint indirectionOffsetY,
uint subTextureTileX,
uint subTextureTileY )

◆ PackSubTexture()

void Terrain::PackSubTexture ( const SubTexture & subTex,
TerrainSubTexture & compressed )

◆ TerrainCullJob()

void Terrain::TerrainCullJob ( const Jobs::JobFuncContext & ctx)

◆ UnpackPageDataEntry()

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.

◆ Upload()

template<typename T >
uint Terrain::Upload ( T * data,
uint size,
uint alignment )

Variable Documentation

◆ biomeBuffer

CoreGraphics::BufferId Terrain::biomeBuffer

◆ biomeCounter

IndexT Terrain::biomeCounter

◆ biomeLoaded

Threading::AtomicCounter Terrain::biomeLoaded[Terrain::MAX_BIOMES]

◆ biomeLowresGenerated

uint Terrain::biomeLowresGenerated[Terrain::MAX_BIOMES]

◆ biomeMasks

CoreGraphics::TextureId Terrain::biomeMasks[Terrain::MAX_BIOMES]

◆ biomeMaterials

Terrain::MaterialLayers Terrain::biomeMaterials

◆ biomeTextures

Util::Array<CoreGraphics::TextureId> Terrain::biomeTextures

◆ biomeWeights

CoreGraphics::TextureId Terrain::biomeWeights[Terrain::MAX_BIOMES]

◆ cachedSunDirection

Math::vec4 Terrain::cachedSunDirection

◆ colorIndex

uint Terrain::colorIndex = 0
static

◆ constantsBuffer

CoreGraphics::BufferId Terrain::constantsBuffer

◆ debugRender

bool Terrain::debugRender

◆ frameOpAllocator

Memory::ArenaAllocator<sizeof(Frame::FrameCode) * 4> Terrain::frameOpAllocator

◆ gpuSubTextures

Util::FixedArray<TerrainSubTexture> Terrain::gpuSubTextures

◆ indexBuffer

CoreGraphics::VertexAlloc Terrain::indexBuffer

◆ indirectionBuffer

Util::FixedArray<IndirectionEntry> Terrain::indirectionBuffer

◆ indirectionBufferClearsThisFrame

Util::Array<CoreGraphics::BufferCopy> Terrain::indirectionBufferClearsThisFrame

◆ indirectionBufferUpdatesThisFrame

Util::Array<CoreGraphics::BufferCopy> Terrain::indirectionBufferUpdatesThisFrame

◆ indirectionEntryUpdates

Util::Array<IndirectionEntry> Terrain::indirectionEntryUpdates

◆ indirectionMipOffsets

Util::FixedArray<uint> Terrain::indirectionMipOffsets

◆ indirectionMipSizes

Util::FixedArray<uint> Terrain::indirectionMipSizes

◆ IndirectionNumMips

const uint Terrain::IndirectionNumMips = Math::log2(SubTextureMaxTiles) + 1

◆ indirectionOccupancy

OccupancyQuadTree Terrain::indirectionOccupancy

◆ indirectionTexture

CoreGraphics::TextureId Terrain::indirectionTexture

◆ indirectionTextureClearsThisFrame

Util::Array<CoreGraphics::TextureCopy> Terrain::indirectionTextureClearsThisFrame

◆ indirectionTextureCopies

Util::Array<CoreGraphics::TextureCopy> Terrain::indirectionTextureCopies

◆ indirectionTextureCopy

CoreGraphics::TextureId Terrain::indirectionTextureCopy

◆ indirectionTextureFromCopiesThisFrame

Util::Array<CoreGraphics::TextureCopy> Terrain::indirectionTextureFromCopiesThisFrame

◆ IndirectionTextureSize

const uint Terrain::IndirectionTextureSize = 2048

◆ indirectionTextureToCopiesThisFrame

Util::Array<CoreGraphics::TextureCopy> Terrain::indirectionTextureToCopiesThisFrame

◆ indirectionTextureUpdatesThisFrame

Util::Array<CoreGraphics::TextureCopy> Terrain::indirectionTextureUpdatesThisFrame

◆ indirectionUploadBuffers

CoreGraphics::BufferSet Terrain::indirectionUploadBuffers

◆ indirectionUploadOffsets

Util::FixedArray<uint> Terrain::indirectionUploadOffsets

◆ InvalidTileCacheEntry

const TileCacheEntry Terrain::InvalidTileCacheEntry = TileCacheEntry{ 0x3FF, 0x7FF, 0x7FF, 0xFFFFFFFF }
static

◆ layers

SizeT Terrain::layers

◆ lowresAlbedo

CoreGraphics::TextureId Terrain::lowresAlbedo

◆ LowresFallbackMips

const uint Terrain::LowresFallbackMips = Math::log2(LowresFallbackSize) + 1

◆ LowresFallbackSize

const uint Terrain::LowresFallbackSize = 4096

◆ lowresMaterial

CoreGraphics::TextureId Terrain::lowresMaterial

◆ lowresNormal

CoreGraphics::TextureId Terrain::lowresNormal

◆ meshGenTable

CoreGraphics::ResourceTableId Terrain::meshGenTable

◆ meshProgram

CoreGraphics::ShaderProgramId Terrain::meshProgram

◆ mipLoadDistance

float Terrain::mipLoadDistance = 1500.0f

◆ mipRenderPadding

float Terrain::mipRenderPadding = 150.0f

◆ numPageBufferUpdateEntries

SizeT Terrain::numPageBufferUpdateEntries

◆ numPatches

SizeT Terrain::numPatches

◆ numPatchesThisFrame

Threading::AtomicCounter Terrain::numPatchesThisFrame

◆ numPixels

uint Terrain::numPixels

◆ numTris

SizeT Terrain::numTris

◆ pageStatusBuffer

CoreGraphics::BufferId Terrain::pageStatusBuffer

◆ pageUniforms

Util::Array<Terrain::TerrainTileUpdateUniforms> Terrain::pageUniforms

◆ pageUpdateListBuffer

CoreGraphics::BufferId Terrain::pageUpdateListBuffer

◆ pageUpdateReadbackBuffers

CoreGraphics::BufferSet Terrain::pageUpdateReadbackBuffers

◆ pageUpdatesThisFrame

Util::Array<PhysicalTileUpdate> Terrain::pageUpdatesThisFrame

◆ patchBuffer

CoreGraphics::BufferId Terrain::patchBuffer

◆ patchConstants

CoreGraphics::BufferSet Terrain::patchConstants

◆ physicalAlbedoCache

CoreGraphics::TextureId Terrain::physicalAlbedoCache

◆ physicalMaterialCache

CoreGraphics::TextureId Terrain::physicalMaterialCache

◆ physicalNormalCache

CoreGraphics::TextureId Terrain::physicalNormalCache

◆ PhysicalTextureNumTiles

const uint Terrain::PhysicalTextureNumTiles = 32

◆ PhysicalTexturePaddedSize

const uint Terrain::PhysicalTexturePaddedSize = (PhysicalTextureTilePaddedSize) * PhysicalTextureNumTiles

◆ PhysicalTextureSize

const uint Terrain::PhysicalTextureSize = (PhysicalTextureTileSize) * PhysicalTextureNumTiles

◆ physicalTextureTileCache

TextureTileCache Terrain::physicalTextureTileCache

◆ PhysicalTextureTileHalfPadding

const uint Terrain::PhysicalTextureTileHalfPadding = 4

◆ physicalTextureTileOccupancy

OccupancyQuadTree Terrain::physicalTextureTileOccupancy

◆ PhysicalTextureTilePaddedSize

const uint Terrain::PhysicalTextureTilePaddedSize = PhysicalTextureTileSize + PhysicalTextureTilePadding

◆ PhysicalTextureTilePadding

const uint Terrain::PhysicalTextureTilePadding = PhysicalTextureTileHalfPadding * 2

◆ PhysicalTextureTileSize

const uint Terrain::PhysicalTextureTileSize = 256

◆ [struct]

struct { ... } Terrain::raytracingState

◆ renderToggle

bool Terrain::renderToggle

◆ resourceTable

CoreGraphics::ResourceTableId Terrain::resourceTable

◆ runtimeConstants

CoreGraphics::BufferId Terrain::runtimeConstants

◆ sectionCullDoneCounter

Threading::AtomicCounter Terrain::sectionCullDoneCounter = 0

◆ sectionCullFinishedEvent

Threading::Event Terrain::sectionCullFinishedEvent

◆ settings

TerrainSetupSettings Terrain::settings

◆ setupBlasFrame

IndexT Terrain::setupBlasFrame

◆ subTextureBuffer

CoreGraphics::BufferId Terrain::subTextureBuffer

◆ SubTextureFadeStart

const float Terrain::SubTextureFadeStart = 200.0f

◆ subTextureJobOutputs

◆ SubTextureMaxPixels

const uint Terrain::SubTextureMaxPixels = 65536

◆ SubTextureMaxTiles

const uint Terrain::SubTextureMaxTiles = 256

◆ SubTextureMaxUpdates

const uint Terrain::SubTextureMaxUpdates = 1024

◆ subTextureNumOutputs

Threading::AtomicCounter Terrain::subTextureNumOutputs

◆ SubTextureRange

const float Terrain::SubTextureRange = 300.0f

◆ subTextures

Util::FixedArray<SubTexture> Terrain::subTextures

◆ subtexturesDoneCounter

Threading::AtomicCounter Terrain::subtexturesDoneCounter = 0

◆ subtexturesFinishedEvent

Threading::Event Terrain::subtexturesFinishedEvent

◆ subtextureStagingBuffers

CoreGraphics::BufferSet Terrain::subtextureStagingBuffers

◆ SubTextureSwapDistance

const float Terrain::SubTextureSwapDistance = 10.0f

◆ SubTextureWorldSize

const uint Terrain::SubTextureWorldSize = 64

◆ sun

◆ systemConstants

CoreGraphics::BufferId Terrain::systemConstants

◆ terrainPageClearUpdateBufferProgram

CoreGraphics::ShaderProgramId Terrain::terrainPageClearUpdateBufferProgram

◆ terrainPosBuffer

CoreGraphics::TextureId Terrain::terrainPosBuffer

◆ terrainPrepassPipeline

CoreGraphics::PipelineId Terrain::terrainPrepassPipeline

◆ terrainPrepassProgram

CoreGraphics::ShaderProgramId Terrain::terrainPrepassProgram

◆ terrainResolvePipeline

CoreGraphics::PipelineId Terrain::terrainResolvePipeline

◆ terrainResolveProgram

CoreGraphics::ShaderProgramId Terrain::terrainResolveProgram

◆ terrainSetupCallback

std::function<void()> Terrain::terrainSetupCallback

◆ terrainShader

CoreGraphics::ShaderId Terrain::terrainShader

◆ terrainShadowMap

CoreGraphics::TextureId Terrain::terrainShadowMap

◆ TerrainShadowMapSize

const uint Terrain::TerrainShadowMapSize = 1024

◆ terrainShadowProgram

CoreGraphics::ShaderProgramId Terrain::terrainShadowProgram

◆ terrainShadowResourceTable

CoreGraphics::ResourceTableId Terrain::terrainShadowResourceTable

◆ [struct]

struct { ... } Terrain::terrainState

◆ terrainTileFallbackProgram

CoreGraphics::ShaderProgramId Terrain::terrainTileFallbackProgram

◆ terrainTileUpdateProgram

CoreGraphics::ShaderProgramId Terrain::terrainTileUpdateProgram

◆ [struct]

struct { ... } Terrain::terrainVirtualTileState

◆ tileFallbackPass

CoreGraphics::PassId Terrain::tileFallbackPass

◆ tileOffsets

Util::Array<Math::uint2> Terrain::tileOffsets

◆ tileUpdatePass

CoreGraphics::PassId Terrain::tileUpdatePass

◆ updateLowres

bool Terrain::updateLowres = false

◆ updateMesh

bool Terrain::updateMesh = false

◆ updateShadowMap

bool Terrain::updateShadowMap

◆ vertexBuffer

CoreGraphics::VertexAlloc Terrain::vertexBuffer

◆ virtualSubtextureBufferUpdate

bool Terrain::virtualSubtextureBufferUpdate

◆ virtualTerrainDynamicResourceTable

Util::FixedArray<CoreGraphics::ResourceTableId> Terrain::virtualTerrainDynamicResourceTable

◆ virtualTerrainRuntimeResourceTable

CoreGraphics::ResourceTableId Terrain::virtualTerrainRuntimeResourceTable

◆ virtualTerrainSystemResourceTable

CoreGraphics::ResourceTableSet Terrain::virtualTerrainSystemResourceTable

◆ vlo

◆ wnd

CoreGraphics::WindowId Terrain::wnd