Nebula
Loading...
Searching...
No Matches
terraincontext.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
9//------------------------------------------------------------------------------
12#include "math/bbox.h"
16#include "coregraphics/window.h"
17
18#include "occupancyquadtree.h"
19#include "texturetilecache.h"
20
21#include "jobs/jobs.h"
22
23#include "io/ioserver.h"
25
26#include "gpulang/render/terrain/shaders/terrain_tile_write.h"
27#include "gpulang/render/terrain/shaders/terrain.h"
28
29namespace Terrain
30{
31
33
35{
39 float quadsPerTileX, quadsPerTileY; // vertex density is vertices per meter
40};
41
43{
44 float minHeight, maxHeight; // Max height encoded in heightmap
45 float width, height; // Width and height of the terrain
46 float tileWidth, tileHeight; // Size of each tile, number of tiles becoming (width/tileWidth, height/tileHeight)
47 float quadsPerTileX, quadsPerTileY; // Geometric density measured in quads per tile
51};
52
61
63{
64 Resources::ResourceName albedo = "systex:white.dds";
65 Resources::ResourceId albedoRes;
66 Resources::ResourceName normal = "systex:nobump.dds";
67 Resources::ResourceId normalRes;
68 Resources::ResourceName material = "systex:default_material.dds";
69 Resources::ResourceId materialRes;
70};
71
73{
76 {
77 this->material.albedo = name.IsValid() ? name : "systex:white.dds";
78 return *this;
79 }
80
83 {
84 this->material.normal = name.IsValid() ? name : "systex:nobump.dds";
85 return *this;
86 }
87
90 {
91 this->material.material = name.IsValid() ? name : "systex:default_material.dds";
92 return *this;
93 }
94
97 {
98 return this->material;
99 }
100private:
102};
103
105{
106 enum BiomeMaterialLayer : uint8_t
107 {
108 Flat, // Material to use on flat surfaces
109 Slope, // Material to use on slanted surfaces
110 Height, // Material to use for surfaces high up
111 HeightSlope, // Material to sue for high up on slanted surface
112
114 };
117 Resources::ResourceName biomeMask = "systex:white.dds";
118};
119
121{
122private:
123 enum BuilderBits : uint8_t
124 {
125 NoBits = 0x0,
131 BiomeMask = 0x20,
132
133 AllBits = (BiomeMask << 1) - 1
134 };
135
136 uint8_t bits = NoBits;
138
139public:
140
143 {
144 this->bits |= BuilderBits::SettingsBit;
145 this->settings.biomeParameters = settings;
146 return *this;
147 }
148
151 {
152 this->bits |= BuilderBits::FlatMaterialBit;
153 this->settings.materials[BiomeSettings::BiomeMaterialLayer::Flat] = material;
154 return *this;
155 }
156
159 {
160 this->bits |= BuilderBits::SlopeMaterialBit;
161 this->settings.materials[BiomeSettings::BiomeMaterialLayer::Slope] = material;
162 return *this;
163 }
164
167 {
168 this->bits |= BuilderBits::HeightMaterialBit;
169 this->settings.materials[BiomeSettings::BiomeMaterialLayer::Height] = material;
170 return *this;
171 }
172
175 {
178 return *this;
179 }
180
183 {
184 this->bits |= BuilderBits::BiomeMask;
185 this->settings.biomeMask = mask.IsValid() ? mask : "tex:system/white.dds";
186 return *this;
187 }
188
191 {
192 n_assert_msg(this->bits & AllBits, "BiomeSettinsBuilder: All fields must be set before calling finish");
193 return this->settings;
194 }
195};
196
203
204enum class SubTextureUpdateState : uint8_t
205{
206 NoChange, // subtexture remains the same
207 Deleted, // subtexture went to 0 tiles
208 Created, // subtexture was 0 tiles but grew
209 Grew, // subtexture grew to more tiles
210 Shrank // subtexture shrank
211};
212
222
228
238
240{
242 uint32_t : 32;
243 uint32_t indirectionX : 12;
244 uint32_t indirectionY : 12;
246};
247
248
250{
252public:
253
257 virtual ~TerrainContext();
258
260 static void Create();
262 static void Discard();
263
265 static void SetupTerrain(
266 const Graphics::GraphicsEntityId entity,
267 const TerrainCreateInfo& createInfo
268 );
269
271 static TerrainBiomeId CreateBiome(const BiomeSettings& settings);
273 static void DestroyBiome(TerrainBiomeId id);
274
276 static void SetBiomeSlopeThreshold(TerrainBiomeId id, float threshold);
278 static void SetBiomeHeightThreshold(TerrainBiomeId id, float threshold);
279
281 static void SetSun(const Graphics::GraphicsEntityId sun);
282
284 static void CullPatches(const Ptr<Graphics::View>& view, const Graphics::FrameContext& ctx);
286 static void UpdateLOD(const Ptr<Graphics::View>& view, const Graphics::FrameContext& ctx);
288 static void RenderUI(const Graphics::FrameContext& ctx);
290 static void ClearCache();
291
293 static void SetVisible(bool visible);
295 static bool GetVisible();
296
297#ifndef PUBLIC_DEBUG
299 static void OnRenderDebug(uint32_t flags);
300#endif
301
302#ifdef WITH_NEBULA_EDITOR
304 static void SetHeightmap(Graphics::GraphicsEntityId entity, CoreGraphics::TextureId heightmap);
305 static void SetBiomeMask(TerrainBiomeId biomeId, CoreGraphics::TextureId biomemask);
306 static void SetBiomeLayer(TerrainBiomeId biomeId, BiomeSettings::BiomeMaterialLayer layer, const Resources::ResourceName& albedo, const Resources::ResourceName& normal, const Resources::ResourceName& material);
307 static void SetBiomeRules(TerrainBiomeId biomeId, float slopeThreshold, float heightThreshold, float uvScalingFactor);
308 static void InvalidateTerrain(Graphics::GraphicsEntityId entity);
309#endif
310
311private:
312
318
353
354public:
356 {
358
362
366
369
374
384 bool updateLowres = false;
385
389
397
405
408
416
418
420
425 };
426private:
427
428 enum
429 {
433 };
434
435 typedef Ids::IdAllocator<
436 TerrainLoadInfo,
437 TerrainRuntimeInfo,
438 TerrainInstanceInfo
441
442 enum
443 {
447 };
448
449 typedef Ids::IdAllocator<
451 uint32_t
454
458 static void Dealloc(Graphics::ContextEntityId id);
459};
460
461} // namespace Terrain
Definition graphicscontext.h:165
An ID allocator associates an id with a slice in an N number of arrays.
Definition idallocator.h:39
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Definition occupancyquadtree.h:20
Ids::IdAllocator< BiomeSettings, uint32_t > TerrainBiomeAllocator
Definition terraincontext.h:452
static void Dealloc(Graphics::ContextEntityId id)
deallocate a slice
Definition terraincontext.cc:2837
Ids::IdAllocator< TerrainLoadInfo, TerrainRuntimeInfo, TerrainInstanceInfo > TerrainAllocator
Definition terraincontext.h:439
static Graphics::ContextEntityId Alloc()
allocate a new slice for this context
Definition terraincontext.cc:2828
static void CullPatches(const Ptr< Graphics::View > &view, const Graphics::FrameContext &ctx)
cull terrain patches
Definition terraincontext.cc:1717
static void Discard()
destroy terrain context
Definition terraincontext.cc:786
static void SetBiomeHeightThreshold(TerrainBiomeId id, float threshold)
set biome height threshold
Definition terraincontext.cc:1699
static void SetBiomeSlopeThreshold(TerrainBiomeId id, float threshold)
set biome slope threshold
Definition terraincontext.cc:1690
TerrainContext()
constructor
Definition terraincontext.cc:166
static TerrainAllocator terrainAllocator
Definition terraincontext.h:440
static void Create()
create terrain context
Definition terraincontext.cc:181
static void SetVisible(bool visible)
Definition terraincontext.cc:2491
static void SetupTerrain(const Graphics::GraphicsEntityId entity, const TerrainCreateInfo &createInfo)
setup new terrain surface from texture and settings
Definition terraincontext.cc:851
@ Terrain_InstanceInfo
Definition terraincontext.h:432
@ Terrain_RuntimeInfo
Definition terraincontext.h:431
@ Terrain_LoadInfo
Definition terraincontext.h:430
static void SetSun(const Graphics::GraphicsEntityId sun)
Set the sun entity for terrain shadows.
Definition terraincontext.cc:1708
static void OnRenderDebug(uint32_t flags)
debug rendering
Definition terraincontext.cc:2682
@ TerrainBiome_MaskTexture
Definition terraincontext.h:446
@ TerrainBiome_Index
Definition terraincontext.h:445
@ TerrainBiome_Settings
Definition terraincontext.h:444
static bool GetVisible()
Definition terraincontext.cc:2482
virtual ~TerrainContext()
destructor
Definition terraincontext.cc:173
static TerrainBiomeAllocator terrainBiomeAllocator
Definition terraincontext.h:453
static void RenderUI(const Graphics::FrameContext &ctx)
render IMGUI
Definition terraincontext.cc:2500
static void UpdateLOD(const Ptr< Graphics::View > &view, const Graphics::FrameContext &ctx)
update sparse texture mips
Definition terraincontext.cc:2165
static TerrainBiomeId CreateBiome(const BiomeSettings &settings)
setup a new biome
Definition terraincontext.cc:1592
static void ClearCache()
clear the tile cache (use when we need to force update the terrain)
Definition terraincontext.cc:2668
static void DestroyBiome(TerrainBiomeId id)
Destroy biome.
Definition terraincontext.cc:1682
Definition texturetilecache.h:62
Nebula's dynamic array class.
Definition array.h:60
Implements a fixed size one-dimensional array.
Definition fixedarray.h:20
bool IsValid() const
return true if valid (contains a non-empty string)
Definition stringatom.h:353
#define n_assert_msg(exp, msg)
Definition debug.h:52
#define ID_32_TYPE(x)
Definition id.h:16
Flatbuffer to Nebula type conversion functions.
Definition flatbufferinterface.h:23
Util::StringAtom ResourceName
Definition resourceid.h:33
The occupancy quad tree implements a tree which allows for a quick search.
Definition occupancyquadtree.h:17
Graphics::GraphicsEntityId sun
Definition terraincontext.cc:77
const uint SubTextureMaxUpdates
Definition terraincontext.h:237
SubTextureUpdateState
Definition terraincontext.h:205
@ Grew
Definition terraincontext.h:209
@ Created
Definition terraincontext.h:208
@ NoChange
Definition terraincontext.h:206
@ Deleted
Definition terraincontext.h:207
@ Shrank
Definition terraincontext.h:210
volatile int AtomicCounter
Definition interlocked.h:19
A resource table declares a list of resources (ResourceTable in DX12, DescriptorSet in Vulkan)
Definition barrier.h:227
Definition buffer.h:23
Set of buffers which creates a buffer per each buffered frame.
Definition buffer.h:225
Definition buffer.h:244
Definition resourcetable.h:95
Set of buffers which creates a resource table per each buffered frame.
Definition resourcetable.h:377
texture type
Definition texture.h:25
Definition textureview.h:16
Definition graphicscontext.h:133
Definition graphicsserver.h:31
The graphics entity is only an Id, to which we can attach GraphicsContexts.
Definition graphicsentity.h:16
Definition scalar.h:58
Definition scalar.h:112
Definition terraincontext.h:73
BiomeMaterial Finish()
Finish.
Definition terraincontext.h:96
BiomeMaterialBuilder & Albedo(const Resources::ResourceName &name)
Set albedo.
Definition terraincontext.h:75
BiomeMaterialBuilder & Normal(const Resources::ResourceName &name)
Set normal.
Definition terraincontext.h:82
BiomeMaterial material
Definition terraincontext.h:101
BiomeMaterialBuilder & Material(const Resources::ResourceName &name)
Set material.
Definition terraincontext.h:89
Definition terraincontext.h:63
Resources::ResourceId normalRes
Definition terraincontext.h:67
Resources::ResourceName albedo
Definition terraincontext.h:64
Resources::ResourceName material
Definition terraincontext.h:68
Resources::ResourceId materialRes
Definition terraincontext.h:69
Resources::ResourceName normal
Definition terraincontext.h:66
Resources::ResourceId albedoRes
Definition terraincontext.h:65
Definition terraincontext.h:54
float slopeThreshold
Definition terraincontext.h:55
bool useMaterialWeights
Definition terraincontext.h:58
float uvScaleFactor
Definition terraincontext.h:57
Resources::ResourceName weights
Definition terraincontext.h:59
float heightThreshold
Definition terraincontext.h:56
Definition terraincontext.h:121
uint8_t bits
Definition terraincontext.h:136
BiomeSettings settings
Definition terraincontext.h:137
BiomeSettings Finish()
Finish.
Definition terraincontext.h:190
BiomeSettingsBuilder & Mask(const Resources::ResourceName &mask)
Builder for biome mask.
Definition terraincontext.h:182
BiomeSettingsBuilder & HeightSlopeMaterial(const BiomeMaterial &material)
Builder for height slope material.
Definition terraincontext.h:174
BiomeSettingsBuilder & FlatMaterial(const BiomeMaterial &material)
Builder for flat material.
Definition terraincontext.h:150
BiomeSettingsBuilder & HeightMaterial(const BiomeMaterial &material)
Builder for height material.
Definition terraincontext.h:166
BuilderBits
Definition terraincontext.h:124
@ HeightSlopeMaterialBit
Definition terraincontext.h:130
@ HeightMaterialBit
Definition terraincontext.h:129
@ SlopeMaterialBit
Definition terraincontext.h:128
@ AllBits
Definition terraincontext.h:133
@ SettingsBit
Definition terraincontext.h:126
@ FlatMaterialBit
Definition terraincontext.h:127
@ BiomeMask
Definition terraincontext.h:131
@ NoBits
Definition terraincontext.h:125
BiomeSettingsBuilder & Parameters(const BiomeParameters &settings)
Builder for settings.
Definition terraincontext.h:142
BiomeSettingsBuilder & SlopeMaterial(const BiomeMaterial &material)
Builder for slope material.
Definition terraincontext.h:158
Definition terraincontext.h:105
BiomeMaterialLayer
Definition terraincontext.h:107
@ Height
Definition terraincontext.h:110
@ Flat
Definition terraincontext.h:108
@ Slope
Definition terraincontext.h:109
@ NumLayers
Definition terraincontext.h:113
@ HeightSlope
Definition terraincontext.h:111
Resources::ResourceName biomeMask
Definition terraincontext.h:117
BiomeParameters biomeParameters
Definition terraincontext.h:115
BiomeMaterial materials[BiomeMaterialLayer::NumLayers]
Definition terraincontext.h:116
Definition terraincontext.h:224
uint constantBufferOffsets[2]
Definition terraincontext.h:225
uint tileOffset[2]
Definition terraincontext.h:226
Definition terraincontext.h:240
Math::float2 worldCoordinate
Definition terraincontext.h:241
uint32_t indirectionY
Definition terraincontext.h:244
uint32_t indirectionX
Definition terraincontext.h:243
uint mip
Definition terraincontext.h:245
Definition terraincontext.h:230
Math::uint2 indirectionOffset
Definition terraincontext.h:232
uint numTiles
Definition terraincontext.h:235
uint maxMip
Definition terraincontext.h:233
uint mipBias
Definition terraincontext.h:234
Math::float2 worldCoordinate
Definition terraincontext.h:231
Definition terraincontext.h:214
SubTextureUpdateState updateState
Definition terraincontext.h:220
Math::uint2 oldCoord
Definition terraincontext.h:219
uint oldMaxMip
Definition terraincontext.h:217
IndexT index
Definition terraincontext.h:215
uint oldTiles
Definition terraincontext.h:216
float mipBias
Definition terraincontext.h:218
uint newMaxMip
Definition terraincontext.h:217
uint newTiles
Definition terraincontext.h:216
Definition terraincontext.h:198
uint maxMip
Definition terraincontext.h:200
uint physicalTileSize
Definition terraincontext.h:201
uint subTextureWorldSize
Definition terraincontext.h:199
Definition terraincontext.h:32
Definition terraincontext.h:356
Util::Array< CoreGraphics::TextureCopy, 4 > indirectionTextureUpdatesThisFrame
Definition terraincontext.h:410
Threading::AtomicCounter subTextureNumOutputs
Definition terraincontext.h:392
CoreGraphics::ResourceTableId runtimeTable
Definition terraincontext.h:387
Util::Array< CoreGraphics::TextureCopy, 4 > indirectionTextureToCopiesThisFrame
Definition terraincontext.h:412
Util::FixedArray< IndirectionEntry > indirectionBuffer
Definition terraincontext.h:402
CoreGraphics::TextureId lowresNormal
Definition terraincontext.h:382
Terrain::SubTextureUpdateJobOutput subTextureJobOutputs[SubTextureMaxUpdates]
Definition terraincontext.h:393
CoreGraphics::TextureId shadowMap
Definition terraincontext.h:417
Util::Array< CoreGraphics::BufferCopy, 4 > indirectionBufferClearsThisFrame
Definition terraincontext.h:413
uint32_t subtextureBufferBarrierIndex
Definition terraincontext.h:424
uint32_t materialCacheBarrierIndex
Definition terraincontext.h:424
uint32_t pageStatusBufferBarrierIndex
Definition terraincontext.h:424
CoreGraphics::TextureId physicalNormalCacheBC
Definition terraincontext.h:377
Util::Array< CoreGraphics::TextureCopy > indirectionTextureCopies
Definition terraincontext.h:400
Util::Array< CoreGraphics::TextureCopy, 4 > indirectionTextureFromCopiesThisFrame
Definition terraincontext.h:411
Util::Array< TerrainTileWrite::TileWrite > tileWritesThisFrame
Definition terraincontext.h:407
CoreGraphics::TextureId physicalMaterialCacheBC
Definition terraincontext.h:379
CoreGraphics::BarrierContext barrierContext
Definition terraincontext.h:423
Threading::AtomicCounter numPatchesThisFrame
Definition terraincontext.h:370
CoreGraphics::TextureId indirectionTexture
Definition terraincontext.h:364
uint32_t albedoCacheBarrierIndex
Definition terraincontext.h:424
CoreGraphics::BufferId pageStatusBuffer
Definition terraincontext.h:368
CoreGraphics::ResourceTableSet systemTable
Definition terraincontext.h:386
Util::FixedArray< uint > indirectionMipOffsets
Definition terraincontext.h:398
CoreGraphics::BufferId systemConstants
Definition terraincontext.h:357
TextureTileCache physicalTextureTileCache
Definition terraincontext.h:396
Util::FixedArray< SubTexture > subTextures
Definition terraincontext.h:390
Util::FixedArray< TerrainSubTexture > gpuSubTextures
Definition terraincontext.h:391
SizeT numPageBufferUpdateEntries
Definition terraincontext.h:388
CoreGraphics::BufferId subTextureBuffer
Definition terraincontext.h:361
Threading::Event * sectionCullFinishedEvent
Definition terraincontext.h:421
uint32_t pageUpdateListBarrierIndex
Definition terraincontext.h:424
bool updateLowres
Definition terraincontext.h:384
CoreGraphics::TextureId physicalAlbedoCacheBC
Definition terraincontext.h:375
Util::FixedArray< uint > indirectionUploadOffsets
Definition terraincontext.h:404
CoreGraphics::BufferId pageUpdateListBuffer
Definition terraincontext.h:367
CoreGraphics::BufferSet pageUpdateReadbackBuffers
Definition terraincontext.h:363
Util::Array< IndirectionEntry > indirectionEntryUpdates
Definition terraincontext.h:401
Util::FixedArray< uint > indirectionMipSizes
Definition terraincontext.h:399
uint32_t indirectionCopyBarrierIndex
Definition terraincontext.h:424
bool virtualSubtextureBufferUpdate
Definition terraincontext.h:359
CoreGraphics::BufferId runtimeConstants
Definition terraincontext.h:372
uint numPixels
Definition terraincontext.h:415
CoreGraphics::TextureViewId physicalAlbedoCacheBCWrite
Definition terraincontext.h:376
uint32_t indirectionBarrierIndex
Definition terraincontext.h:424
Util::Array< CoreGraphics::TextureCopy, 4 > indirectionTextureClearsThisFrame
Definition terraincontext.h:414
Threading::AtomicCounter sectionCullDoneCounter
Definition terraincontext.h:422
OccupancyQuadTree physicalTextureTileOccupancy
Definition terraincontext.h:395
CoreGraphics::BufferWithStaging tileWriteBufferSet
Definition terraincontext.h:373
CoreGraphics::BufferSet indirectionUploadBuffers
Definition terraincontext.h:403
Util::Array< CoreGraphics::BufferCopy, 4 > indirectionBufferUpdatesThisFrame
Definition terraincontext.h:409
TerrainCreateInfo createInfo
Definition terraincontext.h:419
Util::Array< TerrainTileWrite::TileWrite > tileWrites
Definition terraincontext.h:406
uint32_t normalCacheBarrierIndex
Definition terraincontext.h:424
CoreGraphics::TextureId lowresMaterial
Definition terraincontext.h:383
CoreGraphics::BufferSet subtextureStagingBuffers
Definition terraincontext.h:360
Threading::Event * subtexturesFinishedEvent
Definition terraincontext.h:421
CoreGraphics::TextureId indirectionTextureCopy
Definition terraincontext.h:365
CoreGraphics::TextureId lowresAlbedo
Definition terraincontext.h:381
CoreGraphics::TextureViewId physicalMaterialCacheBCWrite
Definition terraincontext.h:380
OccupancyQuadTree indirectionOccupancy
Definition terraincontext.h:394
Threading::AtomicCounter subtexturesDoneCounter
Definition terraincontext.h:422
CoreGraphics::BufferSet patchConstants
Definition terraincontext.h:371
CoreGraphics::TextureViewId physicalNormalCacheBCWrite
Definition terraincontext.h:378
Definition terraincontext.h:314
float minHeight
Definition terraincontext.h:316
float maxHeight
Definition terraincontext.h:316
Resources::ResourceName texture
Definition terraincontext.h:315
Definition terraincontext.h:320
uint loadBits
Definition terraincontext.h:345
Util::Array< CoreGraphics::PrimitiveGroup > sectorPrimGroups
Definition terraincontext.h:322
Util::FixedArray< CoreGraphics::ResourceTableId > patchTables
Definition terraincontext.h:349
Util::Array< Math::bbox > sectionBoxes
Definition terraincontext.h:321
CoreGraphics::TextureId decisionMap
Definition terraincontext.h:339
bool enableRayTracing
Definition terraincontext.h:347
CoreGraphics::BufferId ibo
Definition terraincontext.h:351
Util::Array< Util::FixedArray< uint > > sectorTileOffsets
Definition terraincontext.h:325
CoreGraphics::BufferId vbo
Definition terraincontext.h:350
Resources::ResourceId decisionMapResource
Definition terraincontext.h:338
uint numTilesX
Definition terraincontext.h:334
Util::Array< Math::float2 > sectorUv
Definition terraincontext.h:327
Util::Array< bool > sectorVisible
Definition terraincontext.h:323
uint tileHeight
Definition terraincontext.h:335
Util::Array< bool > sectorUpdateTextureTile
Definition terraincontext.h:329
Util::Array< Math::uint3 > sectorAllocatedTile
Definition terraincontext.h:330
Util::Array< Util::FixedArray< uint > > sectorUniformOffsets
Definition terraincontext.h:324
Util::Array< float > sectorLod
Definition terraincontext.h:328
CoreGraphics::TextureId heightMap
Definition terraincontext.h:337
float worldWidth
Definition terraincontext.h:332
float maxHeight
Definition terraincontext.h:333
float worldHeight
Definition terraincontext.h:332
uint tileWidth
Definition terraincontext.h:335
Resources::ResourceId heightMapResource
Definition terraincontext.h:336
float minHeight
Definition terraincontext.h:333
TextureLoadBits
Definition terraincontext.h:341
@ DecisionMapLoaded
Definition terraincontext.h:343
@ HeightMapLoaded
Definition terraincontext.h:342
uint lowresGenerated
Definition terraincontext.h:346
uint numTilesY
Definition terraincontext.h:334
Util::Array< Math::uint2 > sectorTextureTileSize
Definition terraincontext.h:326
Definition terraincontext.h:43
float width
Definition terraincontext.h:45
float tileWidth
Definition terraincontext.h:46
Resources::ResourceName heightMap
Definition terraincontext.h:48
bool enableRayTracing
Definition terraincontext.h:50
float height
Definition terraincontext.h:45
float minHeight
Definition terraincontext.h:44
Resources::ResourceName decisionMap
Definition terraincontext.h:49
float quadsPerTileX
Definition terraincontext.h:47
float tileHeight
Definition terraincontext.h:46
float maxHeight
Definition terraincontext.h:44
float quadsPerTileY
Definition terraincontext.h:47
Definition terraincontext.h:35
float tileHeight
Definition terraincontext.h:38
float quadsPerTileY
Definition terraincontext.h:39
float worldSizeX
Definition terraincontext.h:37
float worldSizeZ
Definition terraincontext.h:37
float quadsPerTileX
Definition terraincontext.h:39
float minHeight
Definition terraincontext.h:36
float tileWidth
Definition terraincontext.h:38
float maxHeight
Definition terraincontext.h:36
int SizeT
Definition types.h:42
unsigned int uint
Definition types.h:33
int IndexT
Definition types.h:41