Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
PatchRData.cpp File Reference
#include "precompiled.h"
#include "renderer/PatchRData.h"
#include "graphics/GameView.h"
#include "graphics/LightEnv.h"
#include "graphics/LOSTexture.h"
#include "graphics/Patch.h"
#include "graphics/ShaderManager.h"
#include "graphics/Terrain.h"
#include "graphics/TerrainTextureEntry.h"
#include "graphics/TextRenderer.h"
#include "graphics/TextureManager.h"
#include "lib/allocators/DynamicArena.h"
#include "lib/allocators/STLAllocators.h"
#include "maths/MathUtil.h"
#include "ps/CLogger.h"
#include "ps/CStrInternStatic.h"
#include "ps/Game.h"
#include "ps/GameSetup/Config.h"
#include "ps/Profile.h"
#include "ps/Pyrogenesis.h"
#include "ps/VideoMode.h"
#include "ps/World.h"
#include "renderer/AlphaMapCalculator.h"
#include "renderer/DebugRenderer.h"
#include "renderer/Renderer.h"
#include "renderer/SceneRenderer.h"
#include "renderer/TerrainRenderer.h"
#include "renderer/WaterManager.h"
#include "simulation2/components/ICmpWaterManager.h"
#include "simulation2/Simulation2.h"
#include <algorithm>
#include <numeric>
#include <set>
Include dependency graph for PatchRData.cpp:

Classes

struct  STileBlend
 Represents a blend for a single tile, texture and shape. More...
 
struct  STileBlend::DecreasingPriority
 
struct  STileBlend::CurrentTile
 
struct  STileBlendStack
 Represents the ordered collection of blends drawn on a particular tile. More...
 
struct  SBlendLayer
 Represents a batched collection of blends using the same texture. More...
 
struct  SBlendLayer::Tile
 
struct  SBlendBatch
 Helper structure for RenderBlends. More...
 
struct  SBlendStackItem
 Helper structure for RenderBlends. More...
 

Typedefs

using Arena = Allocators::DynamicArena< 1 *MiB >
 
template<class Key , class Value >
using PooledBatchMap = std::map< Key, Value, std::less< Key >, ProxyAllocator< std::pair< Key const, Value >, Arena > >
 
using BatchElements = std::pair< std::vector< u32, ProxyAllocator< u32, Arena > >, std::vector< u32, ProxyAllocator< u32, Arena > > >
 
using IndexBufferBatches = PooledBatchMap< CVertexBuffer *, BatchElements >
 
using VertexBufferBatches = PooledBatchMap< CVertexBuffer *, IndexBufferBatches >
 
using TextureBatches = PooledBatchMap< CTerrainTextureEntry *, VertexBufferBatches >
 
using ShaderTechniqueBatches = PooledBatchMap< std::pair< CStrIntern, CShaderDefines >, TextureBatches >
 

Functions

template<typename M >
M::mapped_type & PooledMapGet (M &m, const typename M::key_type &k, Arena &arena)
 
template<typename M >
M::mapped_type & PooledPairGet (M &m, const typename M::key_type &k, Arena &arena)
 

Variables

const ssize_t BlendOffsets [9][2]
 

Typedef Documentation

◆ Arena

◆ BatchElements

using BatchElements = std::pair<std::vector<u32, ProxyAllocator<u32, Arena> >, std::vector<u32, ProxyAllocator<u32, Arena> >>

◆ IndexBufferBatches

◆ PooledBatchMap

template<class Key , class Value >
using PooledBatchMap = std::map<Key, Value, std::less<Key>, ProxyAllocator<std::pair<Key const, Value>, Arena> >

◆ ShaderTechniqueBatches

◆ TextureBatches

◆ VertexBufferBatches

Function Documentation

◆ PooledMapGet()

template<typename M >
M::mapped_type & PooledMapGet ( M &  m,
const typename M::key_type &  k,
Arena arena 
)

◆ PooledPairGet()

template<typename M >
M::mapped_type & PooledPairGet ( M &  m,
const typename M::key_type &  k,
Arena arena 
)

Variable Documentation

◆ BlendOffsets

const ssize_t BlendOffsets[9][2]
Initial value:
= {
{ 0, -1 },
{ -1, -1 },
{ -1, 0 },
{ -1, 1 },
{ 0, 1 },
{ 1, 1 },
{ 1, 0 },
{ 1, -1 },
{ 0, 0 }
}