Polyphase Game Engine
Loading...
Searching...
No Matches
Terrain3d_Lua.h
Go to the documentation of this file.
1#pragma once
2
3#include "EngineTypes.h"
4#include "Log.h"
5#include "Engine.h"
6
8
11
12#if LUA_ENABLED
13
14#define TERRAIN_3D_LUA_NAME "Terrain3D"
15#define TERRAIN_3D_LUA_FLAG "cfTerrain3D"
16#define CHECK_TERRAIN_3D(L, arg) static_cast<Terrain3D*>(CheckNodeLuaType(L, arg, TERRAIN_3D_LUA_NAME, TERRAIN_3D_LUA_FLAG));
17
18struct Terrain3D_Lua
19{
20 // Heightmap
21 static int SetHeight(lua_State* L);
22 static int GetHeight(lua_State* L);
23 static int GetHeightAtWorldPos(lua_State* L);
24 static int SetHeightFromTexture(lua_State* L);
25 static int FlattenAll(lua_State* L);
26 static int Resize(lua_State* L);
27
28 // Dimensions
29 static int GetResolution(lua_State* L);
30 static int GetWorldSize(lua_State* L);
31 static int GetHeightScale(lua_State* L);
32 static int SetHeightScale(lua_State* L);
33
34 // Mesh control
35 static int MarkDirty(lua_State* L);
36 static int RebuildMesh(lua_State* L);
37 static int IsDirty(lua_State* L);
38
39 // Material slots
40 static int SetMaterialSlot(lua_State* L);
41 static int GetMaterialSlot(lua_State* L);
42
43 // Splatmap
44 static int SetMaterialWeight(lua_State* L);
45 static int GetMaterialWeight(lua_State* L);
46
47 // Snapping
48 static int SetSnapGridSize(lua_State* L);
49 static int GetSnapGridSize(lua_State* L);
50
51 static void Bind();
52};
53
54#endif