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 = 2048
 
struct { 
 
   TerrainSetupSettings   Terrain::settings 
 
   CoreGraphics::ShaderId   Terrain::terrainShader 
 
   CoreGraphics::ShaderId   Terrain::tileShader 
 
   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][4] 
 
   uint   Terrain::biomeLowresGenerated [Terrain::MAX_BIOMES] 
 
   IndexT   Terrain::biomeCounter 
 
   Graphics::GraphicsEntityId   Terrain::sun 
 
   CoreGraphics::TextureId   Terrain::terrainShadowMap 
 
   Math::vec4   Terrain::cachedSunDirection 
 
   bool   Terrain::shadowMapInvalid 
 
   bool   Terrain::updateShadowMap 
 
   Threading::CriticalSection   Terrain::syncPoint 
 
   CoreGraphics::ResourceTableId   Terrain::terrainShadowResourceTable 
 
   CoreGraphics::TextureId   Terrain::terrainPosBuffer 
 
   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::terrainTileWriteProgram 
 
   CoreGraphics::ShaderProgramId   Terrain::terrainWriteLowresProgram 
 
   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::BufferWithStaging   Terrain::tileWriteBufferSet 
 
   CoreGraphics::TextureId   Terrain::physicalAlbedoCacheBC 
 
   CoreGraphics::TextureViewId   Terrain::physicalAlbedoCacheBCWrite 
 
   CoreGraphics::TextureId   Terrain::physicalNormalCacheBC 
 
   CoreGraphics::TextureViewId   Terrain::physicalNormalCacheBCWrite 
 
   CoreGraphics::TextureId   Terrain::physicalMaterialCacheBC 
 
   CoreGraphics::TextureViewId   Terrain::physicalMaterialCacheBCWrite 
 
   CoreGraphics::TextureId   Terrain::lowresAlbedo 
 
   CoreGraphics::TextureId   Terrain::lowresNormal 
 
   CoreGraphics::TextureId   Terrain::lowresMaterial 
 
   bool   Terrain::updateLowres = false 
 
   CoreGraphics::ResourceTableSet   Terrain::systemTable 
 
   CoreGraphics::ResourceTableId   Terrain::runtimeTable 
 
   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 
 
   Util::Array< TerrainTileWrite::TileWrite >   Terrain::tileWrites 
 
   Util::Array< TerrainTileWrite::TileWrite >   Terrain::tileWritesThisFrame 
 
   Util::Array< CoreGraphics::BufferCopy, 4 >   Terrain::indirectionBufferUpdatesThisFrame 
 
   Util::Array< CoreGraphics::TextureCopy, 4 >   Terrain::indirectionTextureUpdatesThisFrame 
 
   Util::Array< CoreGraphics::TextureCopy, 4 >   Terrain::indirectionTextureFromCopiesThisFrame 
 
   Util::Array< CoreGraphics::TextureCopy, 4 >   Terrain::indirectionTextureToCopiesThisFrame 
 
   Util::Array< CoreGraphics::BufferCopy, 4 >   Terrain::indirectionBufferClearsThisFrame 
 
   Util::Array< CoreGraphics::TextureCopy, 4 >   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][4]

◆ 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

◆ gpuSubTextures

Util::FixedArray<TerrainSubTexture> Terrain::gpuSubTextures

◆ indexBuffer

CoreGraphics::VertexAlloc Terrain::indexBuffer

◆ indirectionBuffer

Util::FixedArray<IndirectionEntry> Terrain::indirectionBuffer

◆ indirectionBufferClearsThisFrame

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

◆ indirectionBufferUpdatesThisFrame

Util::Array<CoreGraphics::BufferCopy, 4> 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, 4> Terrain::indirectionTextureClearsThisFrame

◆ indirectionTextureCopies

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

◆ indirectionTextureCopy

CoreGraphics::TextureId Terrain::indirectionTextureCopy

◆ indirectionTextureFromCopiesThisFrame

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

◆ IndirectionTextureSize

const uint Terrain::IndirectionTextureSize = 2048

◆ indirectionTextureToCopiesThisFrame

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

◆ indirectionTextureUpdatesThisFrame

Util::Array<CoreGraphics::TextureCopy, 4> 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

◆ pageUpdateListBuffer

CoreGraphics::BufferId Terrain::pageUpdateListBuffer

◆ pageUpdateReadbackBuffers

CoreGraphics::BufferSet Terrain::pageUpdateReadbackBuffers

◆ patchBuffer

CoreGraphics::BufferId Terrain::patchBuffer

◆ patchConstants

CoreGraphics::BufferSet Terrain::patchConstants

◆ physicalAlbedoCacheBC

CoreGraphics::TextureId Terrain::physicalAlbedoCacheBC

◆ physicalAlbedoCacheBCWrite

CoreGraphics::TextureViewId Terrain::physicalAlbedoCacheBCWrite

◆ physicalMaterialCacheBC

CoreGraphics::TextureId Terrain::physicalMaterialCacheBC

◆ physicalMaterialCacheBCWrite

CoreGraphics::TextureViewId Terrain::physicalMaterialCacheBCWrite

◆ physicalNormalCacheBC

CoreGraphics::TextureId Terrain::physicalNormalCacheBC

◆ physicalNormalCacheBCWrite

CoreGraphics::TextureViewId Terrain::physicalNormalCacheBCWrite

◆ 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

◆ runtimeTable

CoreGraphics::ResourceTableId Terrain::runtimeTable

◆ sectionCullDoneCounter

Threading::AtomicCounter Terrain::sectionCullDoneCounter = 0

◆ sectionCullFinishedEvent

Threading::Event Terrain::sectionCullFinishedEvent

◆ settings

TerrainSetupSettings Terrain::settings

◆ setupBlasFrame

IndexT Terrain::setupBlasFrame

◆ shadowMapInvalid

bool Terrain::shadowMapInvalid

◆ 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

◆ syncPoint

Threading::CriticalSection Terrain::syncPoint

◆ systemConstants

CoreGraphics::BufferId Terrain::systemConstants

◆ systemTable

CoreGraphics::ResourceTableSet Terrain::systemTable

◆ 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 = 2048

◆ terrainShadowProgram

CoreGraphics::ShaderProgramId Terrain::terrainShadowProgram

◆ terrainShadowResourceTable

CoreGraphics::ResourceTableId Terrain::terrainShadowResourceTable

◆ [struct]

struct { ... } Terrain::terrainState

◆ terrainTileWriteProgram

CoreGraphics::ShaderProgramId Terrain::terrainTileWriteProgram

◆ [struct]

struct { ... } Terrain::terrainVirtualTileState

◆ terrainWriteLowresProgram

CoreGraphics::ShaderProgramId Terrain::terrainWriteLowresProgram

◆ tileShader

CoreGraphics::ShaderId Terrain::tileShader

◆ tileWriteBufferSet

CoreGraphics::BufferWithStaging Terrain::tileWriteBufferSet

◆ tileWrites

Util::Array<TerrainTileWrite::TileWrite> Terrain::tileWrites

◆ tileWritesThisFrame

Util::Array<TerrainTileWrite::TileWrite> Terrain::tileWritesThisFrame

◆ updateLowres

bool Terrain::updateLowres = false

◆ updateMesh

bool Terrain::updateMesh = false

◆ updateShadowMap

bool Terrain::updateShadowMap

◆ vertexBuffer

CoreGraphics::VertexAlloc Terrain::vertexBuffer

◆ virtualSubtextureBufferUpdate

bool Terrain::virtualSubtextureBufferUpdate

◆ vlo

◆ wnd

CoreGraphics::WindowId Terrain::wnd