Cogs.Core
Terrain.h
1#pragma once
2
3#include "CogsTerrainBase.h"
4
5namespace Cogs
6{
7 struct TerrainContext;
8 struct DebugOptions;
9 struct EffectParameters;
10 struct OceanOptions;
11 struct RenderOptions;
12 struct UpdateOptions;
13 struct WorldOptions;
14}
15
16extern "C"
17{
18 COGSTERRAIN_API void terrainInitialize();
19
20 COGSTERRAIN_API Cogs::TerrainContext * terrainCreate();
21 COGSTERRAIN_API void terrainDestroy(Cogs::TerrainContext * terrain);
22
23 COGSTERRAIN_API void terrainInitializeInstance(Cogs::TerrainContext * terrain, void * device);
24
25 COGSTERRAIN_API void terrainUpdate(Cogs::TerrainContext * terrain);
26
27 COGSTERRAIN_API void terrainSetRasterSources(Cogs::TerrainContext * terrain,
28 Cogs::RasterSourceParameters * terrainParameters,
29 const size_t numTerrain,
30 Cogs::RasterSourceParameters * imageryParameters,
31 const size_t numImagery);
32
33 COGSTERRAIN_API void terrainDisposeRasterSource(int64_t id);
34
35 COGSTERRAIN_API void terrainInvalidateTile(int64_t rasterSourceId, int level, int x, int y, int flags);
36
37 COGSTERRAIN_API void terrainSetParameters(Cogs::TerrainContext * terrain, const Cogs::ClipmapParameters * parameters);
38
39 COGSTERRAIN_API void terrainSetDebugOptions(Cogs::TerrainContext * terrain, const Cogs::DebugOptions * options);
40
41 COGSTERRAIN_API void terrainInvalidateRasterSource(Cogs::TerrainContext * terrain, const int64_t rasterSourceId, const bool clearContents);
42
43 COGSTERRAIN_API void terrainPreRender(Cogs::TerrainContext * terrain, void * renderContext);
44
45 COGSTERRAIN_API void terrainDepthRender(Cogs::TerrainContext * terrain, void * renderContext);
46
47 COGSTERRAIN_API void terrainRender(Cogs::TerrainContext * terrain, void * renderContext);
48
49 COGSTERRAIN_API void oceanRender(Cogs::TerrainContext * terrain, void * renderContext);
50
51 COGSTERRAIN_API void oceanSetOptions(Cogs::TerrainContext * terrain, const Cogs::OceanOptions * options);
52
53 COGSTERRAIN_API void terrainPostRender(Cogs::TerrainContext * terrain, void * renderContext);
54
55 COGSTERRAIN_API void terrainReset(Cogs::TerrainContext * terrain, void * renderContext);
56
57 COGSTERRAIN_API float terrainGetNearestSample(Cogs::TerrainContext * terrain);
58
59 COGSTERRAIN_API void terrainSetCustomParameters(Cogs::TerrainContext * terrain, const unsigned char * data, int count);
60
61 COGSTERRAIN_API void terrainSetImageryEnabled(Cogs::TerrainContext * terrain, const bool * data, int count);
62
63 COGSTERRAIN_API void terrainGetTerrainMetrics(Cogs::TerrainContext * terrain, Cogs::TerrainMetrics * metrics);
64
65 COGSTERRAIN_API bool terrainRayPick(Cogs::TerrainContext * terrain, const float * screenPos, const float * inverseViewProjection, float * pickedPosition, int rayPickId);
66
67 COGSTERRAIN_API void terrainGetBounds(Cogs::TerrainContext * terrain, double * bounds);
68
69 COGSTERRAIN_API void terrainSetWorldOptions(Cogs::TerrainContext * terrain, const Cogs::WorldOptions * worldOptions);
70
71 COGSTERRAIN_API void terrainSetUpdateOptions(Cogs::TerrainContext * terrain, const Cogs::UpdateOptions * updateOptions);
72
73 COGSTERRAIN_API void terrainSetRenderOptions(Cogs::TerrainContext * terrain, const Cogs::RenderOptions * renderOptions);
74
75 COGSTERRAIN_API bool terrainRequiresRedraw(Cogs::TerrainContext * terrain);
76
77 COGSTERRAIN_API void terrainPostQuery(Cogs::TerrainContext * terrain, Cogs::TerrainQuery * query, Cogs::TerrainQueryCallback callback);
78
79 COGSTERRAIN_API void terrainProcessQueries(Cogs::TerrainContext * terrain);
80
81 COGSTERRAIN_API void terrainGetEffectParameters(Cogs::TerrainContext * terrain, Cogs::EffectParameters * effectParameters);
82}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23