Nebula
Loading...
Searching...
No Matches
vegetationcontext.cc File Reference
#include "graphics/graphicsserver.h"
#include "vegetationcontext.h"
#include "resources/resourceserver.h"
#include "math/plane.h"
#include "graphics/view.h"
#include "graphics/cameracontext.h"
#include "frame/framesubgraph.h"
#include "coregraphics/meshloader.h"
#include "models/model.h"
#include "models/nodes/modelnode.h"
#include "models/nodes/transformnode.h"
#include "models/nodes/primitivenode.h"
#include "system_shaders/vegetation.h"
#include "frame/default.h"

Classes

struct  Vegetation::GrassVertex
 
struct  Vegetation::CombinedMeshVertex
 

Namespaces

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

Functions

 Vegetation::__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   Vegetation::materialUniforms 
 
   CoreGraphics::BufferId   Vegetation::materialUniformsBuffer 
 
Vegetation::vegetationState 
 
static const uint Vegetation::VegetationDistributionRadius = 128
 
static const uint Vegetation::MaxNumIndirectDraws = 8192