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

Detailed Description

The vegetation context handles rendering of grass, trees and other types of vegetation.

Classes

struct  GrassVertex
struct  CombinedMeshVertex
struct  VegetationBiomeId
struct  VegetationSetupSettings
struct  VegetationGrassSetup
struct  VegetationMeshSetup
class  VegetationContext

Functions

 __ImplementContext (VegetationContext, VegetationContext::vegetationAllocator)

Variables

struct { 
   CoreGraphics::TextureId   Vegetation::heightMap 
   float   Vegetation::minHeight 
   float   Vegetation::maxHeight 
   Math::vec2   Vegetation::worldSize 
   uint   Vegetation::numGrassBlades 
   CoreGraphics::BufferId   Vegetation::grassVbo 
   CoreGraphics::BufferId   Vegetation::grassIbo 
   CoreGraphics::VertexLayoutId   Vegetation::grassLayout 
   CoreGraphics::VertexLayoutId   Vegetation::combinedMeshLayoutWithColor 
   CoreGraphics::VertexLayoutId   Vegetation::combinedMeshLayout 
   Vegetation::MeshInfo   Vegetation::meshInfos [Vegetation::MAX_MESH_INFOS] 
   Ids::IdPool   Vegetation::meshInfoPool 
   CoreGraphics::BufferId   Vegetation::meshInfoBuffer 
   Vegetation::GrassInfo   Vegetation::grassInfos [Vegetation::MAX_GRASS_INFOS] 
   Ids::IdPool   Vegetation::grassInfoPool 
   CoreGraphics::BufferId   Vegetation::grassInfoBuffer 
   CoreGraphics::ResourceTableId   Vegetation::systemResourceTable 
   CoreGraphics::BufferId   Vegetation::systemUniforms 
   CoreGraphics::ShaderId   Vegetation::vegetationBaseShader 
   CoreGraphics::ShaderProgramId   Vegetation::vegetationClearShader 
   CoreGraphics::ShaderProgramId   Vegetation::vegetationGenerateDrawsShader 
   CoreGraphics::ShaderProgramId   Vegetation::vegetationGrassZShader 
   CoreGraphics::ShaderProgramId   Vegetation::vegetationGrassShader 
   CoreGraphics::ShaderProgramId   Vegetation::vegetationMeshZShader 
   CoreGraphics::ShaderProgramId   Vegetation::vegetationMeshShader 
   CoreGraphics::ShaderProgramId   Vegetation::vegetationMeshVColorZShader 
   CoreGraphics::ShaderProgramId   Vegetation::vegetationMeshVColorShader 
   CoreGraphics::BufferId   Vegetation::grassDrawCallsBuffer 
   Util::FixedArray< CoreGraphics::BufferId >   Vegetation::indirectGrassDrawCallsBuffer 
   CoreGraphics::BufferId   Vegetation::grassArgumentsBuffer 
   Util::FixedArray< CoreGraphics::BufferId >   Vegetation::indirectGrassArgumentBuffer 
   CoreGraphics::BufferId   Vegetation::meshDrawCallsBuffer 
   Util::FixedArray< CoreGraphics::BufferId >   Vegetation::indirectMeshDrawCallsBuffer 
   CoreGraphics::BufferId   Vegetation::meshArgumentsBuffer 
   Util::FixedArray< CoreGraphics::BufferId >   Vegetation::indirectMeshArgumentsBuffer 
   CoreGraphics::ResourceTableId   Vegetation::argumentsTable 
   Util::FixedArray< CoreGraphics::ResourceTableId >   Vegetation::indirectArgumentsTable 
   CoreGraphics::BufferId   Vegetation::drawCountBuffer 
   Util::FixedArray< CoreGraphics::BufferId >   Vegetation::indirectDrawCountBuffer 
   IndexT   Vegetation::grassMaskCount = 0 
   IndexT   Vegetation::meshMaskCount = 0 
   Ids::IdPool   Vegetation::texturePool 
   SizeT   Vegetation::grassDrawsThisFrame = 0 
   SizeT   Vegetation::meshDrawsThisFrame [MAX_MESH_INFOS] = { 0 } 
   SizeT   Vegetation::meshVertexOffsets [MAX_MESH_INFOS] 
   SizeT   Vegetation::meshIndexOffsets [MAX_MESH_INFOS] 
   CoreGraphics::VertexLayoutId   Vegetation::layouts [MAX_MESH_INFOS] 
   CoreGraphics::ShaderProgramId   Vegetation::meshZPrograms [MAX_MESH_INFOS] 
   CoreGraphics::ShaderProgramId   Vegetation::meshPrograms [MAX_MESH_INFOS] 
   Vegetation::VegetationMaterialUniforms::STRUCT   Vegetation::materialUniforms 
   CoreGraphics::BufferId   Vegetation::materialUniformsBuffer 
vegetationState
static const uint VegetationDistributionRadius = 128
static const uint MaxNumIndirectDraws = 8192

Function Documentation

◆ __ImplementContext()

Vegetation::__ImplementContext ( VegetationContext ,
VegetationContext::vegetationAllocator  )

Variable Documentation

◆ argumentsTable

CoreGraphics::ResourceTableId Vegetation::argumentsTable

◆ combinedMeshLayout

CoreGraphics::VertexLayoutId Vegetation::combinedMeshLayout

◆ combinedMeshLayoutWithColor

CoreGraphics::VertexLayoutId Vegetation::combinedMeshLayoutWithColor

◆ drawCountBuffer

CoreGraphics::BufferId Vegetation::drawCountBuffer

◆ grassArgumentsBuffer

CoreGraphics::BufferId Vegetation::grassArgumentsBuffer

◆ grassDrawCallsBuffer

CoreGraphics::BufferId Vegetation::grassDrawCallsBuffer

◆ grassDrawsThisFrame

SizeT Vegetation::grassDrawsThisFrame = 0

◆ grassIbo

CoreGraphics::BufferId Vegetation::grassIbo

◆ grassInfoBuffer

CoreGraphics::BufferId Vegetation::grassInfoBuffer

◆ grassInfoPool

Ids::IdPool Vegetation::grassInfoPool

◆ grassInfos

Vegetation::GrassInfo Vegetation::grassInfos[Vegetation::MAX_GRASS_INFOS]

◆ grassLayout

CoreGraphics::VertexLayoutId Vegetation::grassLayout

◆ grassMaskCount

IndexT Vegetation::grassMaskCount = 0

◆ grassVbo

CoreGraphics::BufferId Vegetation::grassVbo

◆ heightMap

CoreGraphics::TextureId Vegetation::heightMap

◆ indirectArgumentsTable

Util::FixedArray<CoreGraphics::ResourceTableId> Vegetation::indirectArgumentsTable

◆ indirectDrawCountBuffer

Util::FixedArray<CoreGraphics::BufferId> Vegetation::indirectDrawCountBuffer

◆ indirectGrassArgumentBuffer

Util::FixedArray<CoreGraphics::BufferId> Vegetation::indirectGrassArgumentBuffer

◆ indirectGrassDrawCallsBuffer

Util::FixedArray<CoreGraphics::BufferId> Vegetation::indirectGrassDrawCallsBuffer

◆ indirectMeshArgumentsBuffer

Util::FixedArray<CoreGraphics::BufferId> Vegetation::indirectMeshArgumentsBuffer

◆ indirectMeshDrawCallsBuffer

Util::FixedArray<CoreGraphics::BufferId> Vegetation::indirectMeshDrawCallsBuffer

◆ layouts

CoreGraphics::VertexLayoutId Vegetation::layouts[MAX_MESH_INFOS]

◆ materialUniforms

Vegetation::VegetationMaterialUniforms::STRUCT Vegetation::materialUniforms

◆ materialUniformsBuffer

CoreGraphics::BufferId Vegetation::materialUniformsBuffer

◆ maxHeight

float Vegetation::maxHeight

◆ MaxNumIndirectDraws

const uint Vegetation::MaxNumIndirectDraws = 8192
static

◆ meshArgumentsBuffer

CoreGraphics::BufferId Vegetation::meshArgumentsBuffer

◆ meshDrawCallsBuffer

CoreGraphics::BufferId Vegetation::meshDrawCallsBuffer

◆ meshDrawsThisFrame

SizeT Vegetation::meshDrawsThisFrame[MAX_MESH_INFOS] = { 0 }

◆ meshIndexOffsets

SizeT Vegetation::meshIndexOffsets[MAX_MESH_INFOS]

◆ meshInfoBuffer

CoreGraphics::BufferId Vegetation::meshInfoBuffer

◆ meshInfoPool

Ids::IdPool Vegetation::meshInfoPool

◆ meshInfos

Vegetation::MeshInfo Vegetation::meshInfos[Vegetation::MAX_MESH_INFOS]

◆ meshMaskCount

IndexT Vegetation::meshMaskCount = 0

◆ meshPrograms

CoreGraphics::ShaderProgramId Vegetation::meshPrograms[MAX_MESH_INFOS]

◆ meshVertexOffsets

SizeT Vegetation::meshVertexOffsets[MAX_MESH_INFOS]

◆ meshZPrograms

CoreGraphics::ShaderProgramId Vegetation::meshZPrograms[MAX_MESH_INFOS]

◆ minHeight

float Vegetation::minHeight

◆ numGrassBlades

uint Vegetation::numGrassBlades

◆ systemResourceTable

CoreGraphics::ResourceTableId Vegetation::systemResourceTable

◆ systemUniforms

CoreGraphics::BufferId Vegetation::systemUniforms

◆ texturePool

Ids::IdPool Vegetation::texturePool

◆ vegetationBaseShader

CoreGraphics::ShaderId Vegetation::vegetationBaseShader

◆ vegetationClearShader

CoreGraphics::ShaderProgramId Vegetation::vegetationClearShader

◆ VegetationDistributionRadius

const uint Vegetation::VegetationDistributionRadius = 128
static

◆ vegetationGenerateDrawsShader

CoreGraphics::ShaderProgramId Vegetation::vegetationGenerateDrawsShader

◆ vegetationGrassShader

CoreGraphics::ShaderProgramId Vegetation::vegetationGrassShader

◆ vegetationGrassZShader

CoreGraphics::ShaderProgramId Vegetation::vegetationGrassZShader

◆ vegetationMeshShader

CoreGraphics::ShaderProgramId Vegetation::vegetationMeshShader

◆ vegetationMeshVColorShader

CoreGraphics::ShaderProgramId Vegetation::vegetationMeshVColorShader

◆ vegetationMeshVColorZShader

CoreGraphics::ShaderProgramId Vegetation::vegetationMeshVColorZShader

◆ vegetationMeshZShader

CoreGraphics::ShaderProgramId Vegetation::vegetationMeshZShader

◆ [struct]

struct { ... } Vegetation::vegetationState

◆ worldSize

Math::vec2 Vegetation::worldSize