From 6a42398b0b48044681268e51de2c367489915cbf Mon Sep 17 00:00:00 2001 From: Andrew Mac Date: Sun, 13 Dec 2015 21:21:07 -0400 Subject: [PATCH] Terrain painting example. --- examples/27-terrain/fs_terrain.sc | 13 + examples/27-terrain/makefile | 17 + examples/27-terrain/screenshot.png | Bin 0 -> 121187 bytes examples/27-terrain/terrain.cpp | 486 ++++++++++++++++++ examples/27-terrain/varying.def.sc | 13 + examples/27-terrain/vs_terrain.sc | 17 + .../27-terrain/vs_terrain_height_texture.sc | 20 + examples/runtime/shaders/dx11/fs_terrain.bin | Bin 0 -> 352 bytes examples/runtime/shaders/dx11/vs_terrain.bin | Bin 0 -> 718 bytes .../dx11/vs_terrain_height_texture.bin | Bin 0 -> 928 bytes examples/runtime/shaders/dx9/fs_terrain.bin | Bin 0 -> 213 bytes examples/runtime/shaders/dx9/vs_terrain.bin | Bin 0 -> 459 bytes .../shaders/dx9/vs_terrain_height_texture.bin | Bin 0 -> 605 bytes examples/runtime/shaders/glsl/fs_terrain.bin | Bin 0 -> 235 bytes examples/runtime/shaders/glsl/vs_terrain.bin | Bin 0 -> 395 bytes .../glsl/vs_terrain_height_texture.bin | Bin 0 -> 538 bytes scripts/genie.lua | 1 + 17 files changed, 567 insertions(+) create mode 100644 examples/27-terrain/fs_terrain.sc create mode 100644 examples/27-terrain/makefile create mode 100644 examples/27-terrain/screenshot.png create mode 100644 examples/27-terrain/terrain.cpp create mode 100644 examples/27-terrain/varying.def.sc create mode 100644 examples/27-terrain/vs_terrain.sc create mode 100644 examples/27-terrain/vs_terrain_height_texture.sc create mode 100644 examples/runtime/shaders/dx11/fs_terrain.bin create mode 100644 examples/runtime/shaders/dx11/vs_terrain.bin create mode 100644 examples/runtime/shaders/dx11/vs_terrain_height_texture.bin create mode 100644 examples/runtime/shaders/dx9/fs_terrain.bin create mode 100644 examples/runtime/shaders/dx9/vs_terrain.bin create mode 100644 examples/runtime/shaders/dx9/vs_terrain_height_texture.bin create mode 100644 examples/runtime/shaders/glsl/fs_terrain.bin create mode 100644 examples/runtime/shaders/glsl/vs_terrain.bin create mode 100644 examples/runtime/shaders/glsl/vs_terrain_height_texture.bin diff --git a/examples/27-terrain/fs_terrain.sc b/examples/27-terrain/fs_terrain.sc new file mode 100644 index 00000000..a6c52984 --- /dev/null +++ b/examples/27-terrain/fs_terrain.sc @@ -0,0 +1,13 @@ +$input v_position, v_texcoord0 + +/* + * Copyright 2015 Andrew Mac. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include "../common/common.sh" + +void main() +{ + gl_FragColor = vec4(v_texcoord0.x, v_texcoord0.y, v_position.y / 50.0, 1.0); +} diff --git a/examples/27-terrain/makefile b/examples/27-terrain/makefile new file mode 100644 index 00000000..011773e0 --- /dev/null +++ b/examples/27-terrain/makefile @@ -0,0 +1,17 @@ +# +# Copyright 2011-2015 Branimir Karadzic. All rights reserved. +# License: http://www.opensource.org/licenses/BSD-2-Clause +# + +BGFX_DIR=../.. +RUNTIME_DIR=$(BGFX_DIR)/examples/runtime +BUILD_DIR=../../.build + +include $(BGFX_DIR)/scripts/shader.mk + +rebuild: + @make -s --no-print-directory TARGET=0 clean all + @make -s --no-print-directory TARGET=1 clean all + @make -s --no-print-directory TARGET=2 clean all + @make -s --no-print-directory TARGET=3 clean all + @make -s --no-print-directory TARGET=4 clean all diff --git a/examples/27-terrain/screenshot.png b/examples/27-terrain/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..580d1d0f5c2dc8cb9676fa4e4e4280916cbebbf5 GIT binary patch literal 121187 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 + +static float s_texelHalf = 0.0f; +static bool s_originBottomLeft = false; +static uint32_t s_terrainSize = 256; + +struct PosTexCoord0Vertex +{ + float m_x; + float m_y; + float m_z; + float m_u; + float m_v; + + static void init() + { + ms_decl + .begin() + .add(bgfx::Attrib::Position, 3, bgfx::AttribType::Float) + .add(bgfx::Attrib::TexCoord0, 2, bgfx::AttribType::Float) + .end(); + } + + static bgfx::VertexDecl ms_decl; +}; + +bgfx::VertexDecl PosTexCoord0Vertex::ms_decl; + +struct TerrainData +{ + uint32_t m_mode; + bool m_dirty; + float m_transform[16]; + uint8_t* m_heightMap; + + PosTexCoord0Vertex* m_vertices; + uint32_t m_vertexCount; + uint16_t* m_indices; + uint32_t m_indexCount; +}; + +struct BrushData +{ + bool m_raise; + int32_t m_size; + float m_power; +}; + +class Terrain : public entry::AppI +{ + void init(int _argc, char** _argv) BX_OVERRIDE + { + Args args(_argc, _argv); + + m_width = 1280; + m_height = 720; + m_debug = BGFX_DEBUG_TEXT; + m_reset = BGFX_RESET_VSYNC; + + bgfx::init(bgfx::RendererType::Direct3D11, args.m_pciId); + bgfx::reset(m_width, m_height, m_reset); + + // Enable m_debug text. + bgfx::setDebug(m_debug); + + // Set view 0 clear state. + bgfx::setViewClear(0 + , BGFX_CLEAR_COLOR | BGFX_CLEAR_DEPTH + , 0x303030ff + , 1.0f + , 0 + ); + + // Create vertex stream declaration. + PosTexCoord0Vertex::init(); + + // Create program from shaders. + m_terrainProgram = loadProgram("vs_terrain", "fs_terrain"); + m_terrainHeightTextureProgram = loadProgram("vs_terrain_height_texture", "fs_terrain"); + + // Imgui. + imguiCreate(); + + m_timeOffset = bx::getHPCounter(); + const bgfx::RendererType::Enum renderer = bgfx::getRendererType(); + s_texelHalf = bgfx::RendererType::Direct3D9 == renderer ? 0.5f : 0.0f; + s_originBottomLeft = bgfx::RendererType::OpenGL == renderer || bgfx::RendererType::OpenGLES == renderer; + + m_vbh.idx = bgfx::invalidHandle; + m_ibh.idx = bgfx::invalidHandle; + m_dvbh.idx = bgfx::invalidHandle; + m_dibh.idx = bgfx::invalidHandle; + m_heightTexture.idx = bgfx::invalidHandle; + s_heightTexture = bgfx::createUniform("s_heightTexture", bgfx::UniformType::Int1); + + m_oldWidth = 0; + m_oldHeight = 0; + m_oldReset = m_reset; + + m_scrollArea = 0; + + m_brush.m_power = 0.5f; + m_brush.m_size = 10; + m_brush.m_raise = true; + + m_terrain.m_mode = 0; + m_terrain.m_dirty = true; + m_terrain.m_vertices = new PosTexCoord0Vertex[s_terrainSize * s_terrainSize]; + m_terrain.m_indices = new uint16_t[s_terrainSize * s_terrainSize * 6]; + m_terrain.m_heightMap = new uint8_t[s_terrainSize * s_terrainSize]; + + bx::mtxSRT(m_terrain.m_transform, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); + memset(m_terrain.m_heightMap, 0, sizeof(uint8_t) * s_terrainSize * s_terrainSize); + + cameraCreate(); + + const float initialPos[3] = { 0.0f, 15.0f, 0.0f }; + cameraSetPosition(initialPos); + cameraSetVerticalAngle(0.0f); + } + + virtual int shutdown() BX_OVERRIDE + { + // Cleanup. + cameraDestroy(); + imguiDestroy(); + + if (bgfx::isValid(m_ibh)) + bgfx::destroyIndexBuffer(m_ibh); + if (bgfx::isValid(m_vbh)) + bgfx::destroyVertexBuffer(m_vbh); + + if (bgfx::isValid(m_dibh)) + bgfx::destroyDynamicIndexBuffer(m_dibh); + if (bgfx::isValid(m_dvbh)) + bgfx::destroyDynamicVertexBuffer(m_dvbh); + + bgfx::destroyUniform(s_heightTexture); + if (bgfx::isValid(m_heightTexture)) + bgfx::destroyTexture(m_heightTexture); + + bgfx::destroyProgram(m_terrainProgram); + bgfx::destroyProgram(m_terrainHeightTextureProgram); + + delete[] m_terrain.m_vertices; + delete[] m_terrain.m_indices; + delete[] m_terrain.m_heightMap; + + // Shutdown bgfx. + bgfx::shutdown(); + + return 0; + } + + void updateTerrainMesh() + { + m_terrain.m_vertexCount = 0; + for (uint32_t y = 0; y < s_terrainSize; y++) + { + for (uint32_t x = 0; x < s_terrainSize; x++) + { + PosTexCoord0Vertex* vert = &m_terrain.m_vertices[m_terrain.m_vertexCount]; + vert->m_x = (float)x; + vert->m_y = m_terrain.m_heightMap[(y * s_terrainSize) + x]; + vert->m_z = (float)y; + vert->m_u = (float)x / (float)s_terrainSize; + vert->m_v = (float)y / (float)s_terrainSize; + + m_terrain.m_vertexCount++; + } + } + + m_terrain.m_indexCount = 0; + for (uint32_t y = 0; y < (s_terrainSize - 1); y++) + { + uint32_t y_offset = (y * s_terrainSize); + for (uint32_t x = 0; x < (s_terrainSize - 1); x++) + { + m_terrain.m_indices[m_terrain.m_indexCount] = y_offset + x + 1; + m_terrain.m_indices[m_terrain.m_indexCount + 1] = y_offset + x + s_terrainSize; + m_terrain.m_indices[m_terrain.m_indexCount + 2] = y_offset + x; + m_terrain.m_indices[m_terrain.m_indexCount + 3] = y_offset + x + s_terrainSize + 1; + m_terrain.m_indices[m_terrain.m_indexCount + 4] = y_offset + x + s_terrainSize; + m_terrain.m_indices[m_terrain.m_indexCount + 5] = y_offset + x + 1; + + m_terrain.m_indexCount += 6; + } + } + } + + void updateTerrain() + { + const bgfx::Memory* mem; + + // Vertex Buffer : Destroy and recreate a regular vertex buffer to update terrain. + if (m_terrain.m_mode == 0) + { + updateTerrainMesh(); + + if (bgfx::isValid(m_vbh)) + bgfx::destroyVertexBuffer(m_vbh); + + mem = bgfx::makeRef(&m_terrain.m_vertices[0], sizeof(PosTexCoord0Vertex) * m_terrain.m_vertexCount); + m_vbh = bgfx::createVertexBuffer(mem, PosTexCoord0Vertex::ms_decl); + + if (bgfx::isValid(m_ibh)) + bgfx::destroyIndexBuffer(m_ibh); + + mem = bgfx::makeRef(&m_terrain.m_indices[0], sizeof(uint16_t) * m_terrain.m_indexCount); + m_ibh = bgfx::createIndexBuffer(mem); + } + + // Dynamic Vertex Buffer : Utilize dynamic vertex buffer to update terrain. + if (m_terrain.m_mode == 1) + { + updateTerrainMesh(); + + if (!bgfx::isValid(m_dvbh)) + m_dvbh = bgfx::createDynamicVertexBuffer(m_terrain.m_vertexCount, PosTexCoord0Vertex::ms_decl); + + mem = bgfx::makeRef(&m_terrain.m_vertices[0], sizeof(PosTexCoord0Vertex) * m_terrain.m_vertexCount); + bgfx::updateDynamicVertexBuffer(m_dvbh, 0, mem); + + if (!bgfx::isValid(m_dibh)) + m_dibh = bgfx::createDynamicIndexBuffer(m_terrain.m_indexCount); + + mem = bgfx::makeRef(&m_terrain.m_indices[0], sizeof(uint16_t) * m_terrain.m_indexCount); + bgfx::updateDynamicIndexBuffer(m_dibh, 0, mem); + } + + // Height Texture: Update a height texture that is sampled in the terrain vertex shader. + if (m_terrain.m_mode == 2) + { + if (!bgfx::isValid(m_vbh) || !bgfx::isValid(m_ibh)) + { + updateTerrainMesh(); + + mem = bgfx::makeRef(&m_terrain.m_vertices[0], sizeof(PosTexCoord0Vertex) * m_terrain.m_vertexCount); + m_vbh = bgfx::createVertexBuffer(mem, PosTexCoord0Vertex::ms_decl); + + mem = bgfx::makeRef(&m_terrain.m_indices[0], sizeof(uint16_t) * m_terrain.m_indexCount); + m_ibh = bgfx::createIndexBuffer(mem); + } + + if (!bgfx::isValid(m_heightTexture)) + m_heightTexture = bgfx::createTexture2D(s_terrainSize, s_terrainSize, 1, bgfx::TextureFormat::R8); + + mem = bgfx::makeRef(&m_terrain.m_heightMap[0], sizeof(uint8_t) * s_terrainSize * s_terrainSize); + bgfx::updateTexture2D(m_heightTexture, 0, 0, 0, s_terrainSize, s_terrainSize, mem); + } + } + + void paintTerrainHeight(uint32_t _x, uint32_t _y) + { + for (int32_t area_y = -m_brush.m_size; area_y < m_brush.m_size; ++area_y) + { + for (int32_t area_x = -m_brush.m_size; area_x < m_brush.m_size; ++area_x) + { + int32_t brush_x = _x + area_x; + if (brush_x < 0 || brush_x > (int32_t)s_terrainSize) continue; + int32_t brush_y = _y + area_y; + if (brush_y < 0 || brush_y > (int32_t)s_terrainSize) continue; + + uint32_t heightMapPos = (brush_y * s_terrainSize) + brush_x; + float height = (float)m_terrain.m_heightMap[heightMapPos]; + + // Brush attenuation + float a2 = (float)(area_x * area_x); + float b2 = (float)(area_y * area_y); + float brushAttn = m_brush.m_size - sqrtf(a2 + b2); + + // Raise/Lower and scale by brush power. + height += bx::fclamp(brushAttn * m_brush.m_power, 0.0, m_brush.m_power) * m_brush.m_raise ? 1.0 : -1.0; + + m_terrain.m_heightMap[heightMapPos] = (uint8_t)bx::fclamp(height, 0.0, 255.0); + m_terrain.m_dirty = true; + } + } + } + + void mousePickTerrain() + { + float ray_clip[4]; + ray_clip[0] = ((2.0f * m_mouseState.m_mx) / m_width - 1.0f) * -1.0f; + ray_clip[1] = ((1.0f - (2.0f * m_mouseState.m_my) / m_height)) * -1.0f; + ray_clip[2] = -1.0; + ray_clip[3] = 1.0; + + float invProjMtx[16]; + bx::mtxInverse(invProjMtx, m_projMtx); + + float ray_eye[4]; + bx::vec4MulMtx(ray_eye, ray_clip, invProjMtx); + ray_eye[2] = -1.0f; + ray_eye[3] = 0.0f; + + float invViewMtx[16]; + bx::mtxInverse(invViewMtx, m_viewMtx); + + float ray_world[4]; + bx::vec4MulMtx(ray_world, ray_eye, invViewMtx); + + float ray_dir[3]; + bx::vec3Norm(ray_dir, ray_world); + ray_dir[0] *= -1.0; + ray_dir[1] *= -1.0; + ray_dir[2] *= -1.0; + + float pos[3]; + cameraGetPosition(pos); + for (int i = 0; i < 1000; ++i) + { + bx::vec3Add(pos, pos, ray_dir); + + if (pos[0] < 0 || pos[0] > s_terrainSize || pos[2] < 0 || pos[2] > s_terrainSize) + continue; + + uint32_t heightMapPos = ((uint32_t)pos[2] * s_terrainSize) + (uint32_t)pos[0]; + if ( pos[1] < m_terrain.m_heightMap[heightMapPos] ) + { + paintTerrainHeight((uint32_t)pos[0], (uint32_t)pos[2]); + return; + } + } + } + + bool update() BX_OVERRIDE + { + if (!entry::processEvents(m_width, m_height, m_debug, m_reset, &m_mouseState) ) + { + int64_t now = bx::getHPCounter(); + static int64_t last = now; + const int64_t frameTime = now - last; + last = now; + const double freq = double(bx::getHPFrequency() ); + const double toMs = 1000.0/freq; + const float deltaTime = float(frameTime/freq); + + // Use m_debug font to print information about this example. + bgfx::dbgTextClear(); + bgfx::dbgTextPrintf(0, 1, 0x4f, "bgfx/examples/27-terrain"); + bgfx::dbgTextPrintf(0, 2, 0x6f, "Description: Terrain painting example."); + bgfx::dbgTextPrintf(0, 3, 0x0f, "Frame: % 7.3f[ms]", double(frameTime)*toMs); + + imguiBeginFrame(m_mouseState.m_mx + , m_mouseState.m_my + , (m_mouseState.m_buttons[entry::MouseButton::Left ] ? IMGUI_MBUT_LEFT : 0) + | (m_mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) + | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) + , m_mouseState.m_mz + , m_width + , m_height + ); + + imguiBeginScrollArea("Settings", m_width - m_width / 5 - 10, 10, m_width / 5, m_height / 3, &m_scrollArea); + imguiSeparatorLine(); + + if (imguiCheck("Vertex Buffer", (m_terrain.m_mode == 0)) ) + { + m_terrain.m_mode = 0; + m_terrain.m_dirty = true; + } + + if (imguiCheck("Dynamic Vertex Buffer", (m_terrain.m_mode == 1)) ) + { + m_terrain.m_mode = 1; + m_terrain.m_dirty = true; + } + + if (imguiCheck("Height Texture", (m_terrain.m_mode == 2)) ) + { + m_terrain.m_mode = 2; + m_terrain.m_dirty = true; + } + + imguiSeparatorLine(); + + if (imguiCheck("Raise Terrain", m_brush.m_raise)) + { + m_brush.m_raise = !m_brush.m_raise; + } + + imguiSlider("Brush Size", m_brush.m_size, 1, 50); + imguiSlider("Brush Power", m_brush.m_power, 0.0f, 1.0f, 0.01f); + + imguiEndScrollArea(); + imguiEndFrame(); + + // Update camera. + cameraUpdate(deltaTime, m_mouseState); + + bool leftMouseButtonDown = !!m_mouseState.m_buttons[entry::MouseButton::Left]; + if (leftMouseButtonDown) + { + mousePickTerrain(); + } + + // Update terrain. + if (m_terrain.m_dirty) + { + updateTerrain(); + m_terrain.m_dirty = false; + } + + // Set view 0 default viewport. + bgfx::setViewRect(0, 0, 0, m_width, m_height); + + cameraGetViewMtx(m_viewMtx); + bx::mtxProj(m_projMtx, 60.0f, float(m_width) / float(m_height), 0.1f, 2000.0f, s_originBottomLeft); + + bgfx::setViewTransform(0, m_viewMtx, m_projMtx); + bgfx::setTransform(m_terrain.m_transform); + + if (m_terrain.m_mode == 0) + { + bgfx::setVertexBuffer(m_vbh); + bgfx::setIndexBuffer(m_ibh); + bgfx::submit(0, m_terrainProgram); + } + else if (m_terrain.m_mode == 1) + { + bgfx::setVertexBuffer(m_dvbh); + bgfx::setIndexBuffer(m_dibh); + bgfx::submit(0, m_terrainProgram); + } + else if (m_terrain.m_mode == 2) + { + bgfx::setVertexBuffer(m_vbh); + bgfx::setIndexBuffer(m_ibh); + bgfx::setTexture(0, s_heightTexture, m_heightTexture); + bgfx::submit(0, m_terrainHeightTextureProgram); + } + + // Advance to next frame. Rendering thread will be kicked to + // process submitted rendering primitives. + bgfx::frame(); + + return true; + } + + return false; + } + + bgfx::VertexBufferHandle m_vbh; + bgfx::IndexBufferHandle m_ibh; + bgfx::DynamicVertexBufferHandle m_dvbh; + bgfx::DynamicIndexBufferHandle m_dibh; + bgfx::ProgramHandle m_terrainProgram; + bgfx::ProgramHandle m_terrainHeightTextureProgram; + bgfx::UniformHandle s_heightTexture; + bgfx::TextureHandle m_heightTexture; + + float m_viewMtx[16]; + float m_projMtx[16]; + + uint32_t m_width; + uint32_t m_height; + uint32_t m_debug; + uint32_t m_reset; + + uint32_t m_oldWidth; + uint32_t m_oldHeight; + uint32_t m_oldReset; + + int32_t m_scrollArea; + + TerrainData m_terrain; + BrushData m_brush; + + entry::MouseState m_mouseState; + + int64_t m_timeOffset; +}; + +ENTRY_IMPLEMENT_MAIN(Terrain); diff --git a/examples/27-terrain/varying.def.sc b/examples/27-terrain/varying.def.sc new file mode 100644 index 00000000..741df324 --- /dev/null +++ b/examples/27-terrain/varying.def.sc @@ -0,0 +1,13 @@ +vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); +vec3 v_position : TEXCOORD1 = vec3(0.0, 0.0, 0.0); +vec3 v_view : TEXCOORD2 = vec3(0.0, 0.0, 0.0); +vec3 v_normal : NORMAL = vec3(0.0, 0.0, 1.0); +vec3 v_tangent : TANGENT = vec3(1.0, 0.0, 0.0); +vec3 v_bitangent : BINORMAL = vec3(0.0, 1.0, 0.0); +vec4 v_color0 : COLOR = vec4(1.0, 0.0, 0.0, 1.0); + +vec3 a_position : POSITION; +vec4 a_normal : NORMAL; +vec4 a_tangent : TANGENT; +vec2 a_texcoord0 : TEXCOORD0; +vec4 a_color0 : COLOR0; diff --git a/examples/27-terrain/vs_terrain.sc b/examples/27-terrain/vs_terrain.sc new file mode 100644 index 00000000..0adcaa2e --- /dev/null +++ b/examples/27-terrain/vs_terrain.sc @@ -0,0 +1,17 @@ +$input a_position, a_texcoord0 +$output v_position, v_texcoord0 + +/* + * Copyright 2015 Andrew Mac. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include "../common/common.sh" + +void main() +{ + v_position = a_position.xyz; + v_texcoord0 = a_texcoord0; + + gl_Position = mul(u_modelViewProj, vec4(v_position.xyz, 1.0)); +} diff --git a/examples/27-terrain/vs_terrain_height_texture.sc b/examples/27-terrain/vs_terrain_height_texture.sc new file mode 100644 index 00000000..559a115c --- /dev/null +++ b/examples/27-terrain/vs_terrain_height_texture.sc @@ -0,0 +1,20 @@ +$input a_position, a_texcoord0 +$output v_position, v_texcoord0 + +/* + * Copyright 2015 Andrew Mac. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include "../common/common.sh" + +SAMPLER2D(s_heightTexture, 0); + +void main() +{ + v_texcoord0 = a_texcoord0; + v_position = a_position.xyz; + v_position.y = texture2DLod(s_heightTexture, a_texcoord0, 0).x * 255.0; + + gl_Position = mul(u_modelViewProj, vec4(v_position.xyz, 1.0)); +} diff --git a/examples/runtime/shaders/dx11/fs_terrain.bin b/examples/runtime/shaders/dx11/fs_terrain.bin new file mode 100644 index 0000000000000000000000000000000000000000..533c28401097deef377966fdea52886d57be3018 GIT binary patch literal 352 zcmZ<@_Fy@GOL__eLja>ogp;$D+kq^}ReAL@-%jtHcyL_;BLhf=fq@xF>j3c_Aie;^ zp26;Z89*8&&H=;$KnwyP^&l}2;0NLuAO?wn07x9fW@mzkgTz1pBn}i}URLp++9O}nu0xCBPxK3 zKyH%*;;aq^#v}m-W+eduusI;M5s(eCI~8dCCj|i@i-Ca;=tL(dTMDX{(E%jm;bg|Z Yz-k1QbA##yi8VpRAnF?I?V#QU00>4ZOaK4? literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/dx11/vs_terrain.bin b/examples/runtime/shaders/dx11/vs_terrain.bin new file mode 100644 index 0000000000000000000000000000000000000000..8297c302b289e78106a0de1277b2f6528e4c9fb6 GIT binary patch literal 718 zcmaJpd{Nf$ptajD?f zaC7$~xG4PuzL(?&EvN^VyL)%{?tVuCzgc+ySb5TD!*PwmqH`MX>+Xt{nNfEjQRl-_|X^QM-Zu%uo zJ_C;D`cB7j+tO)-HP=0?%W&v|^Ne{YIXx&P?a5pz!5-%rA;oE;fw&Ul+|8I1@q_5M zaYMh^2wy<%VZsG!yZ53U;S~0Rg@`v1i9nH*%V|u%0-yVwB0aJ)oN>%L#LBP0=X|_J zC(nk+R3cfuy^vXA6=3YKb6(uBI0DAr>3pu*2N3U^=J~#0Dd)@gB@e_@{q}suL(BT{ z-sk1XUe1I3*E>sI@~C~%8&}!Z-m+{?yXzHOVog03N| F$`5L2OS}L8 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/dx11/vs_terrain_height_texture.bin b/examples/runtime/shaders/dx11/vs_terrain_height_texture.bin new file mode 100644 index 0000000000000000000000000000000000000000..bb83f86263e94f9b15ba7541b88c9e0f002986fb GIT binary patch literal 928 zcmaJ0_F5S{nbC~1j7C=G^E>9WbnMaZf#e!MCapZHX)1ay%{jHDQh(ym&`B4iU+ zS#{rT+!ji={R7>W{)*zVtDfV%LmFr@IPcCqGjnF{jIE#?{qbw_+Lh#_`(}6;p0tj` zx3$r55EYTAB+t72@c5`dZiMf~lTny)L>%cwitT*iQ|EmCS_sgH+x5rPv!Uc~A zezFanLVrUm!OQ9^oGvs0-G!>G3WB~HEwjG7-*8Wq1PjZ(Yd`}LyC=RP?5 z^h3#6gHo0`#*`$^1B($-&Nvc?s}N^zk%uBdtNXul^PpU6_YqV>g^!3GT#EA=1M+4W z+&C$b4omdbm-qGtpi^Tvn<8EK>g(oCI}4k=9wBv+F*xrbd?Vb|&cbGIc&p1AJ0h{H zn0U`}Yyrz#%*i1LQWm-TjujM|k0hn>dcHUL+Us+RlUrj~ErwmipIKWmQ{zKHdttBI z3$eP5UrCud#FQg_!<$&Z=G#{6Ty&P~A9a_0?xq#9@3pgLJxE;hy*0zblkxxNeoo)c zWj)A!xev%o9_@#=o5M$@d$;v&9==)ks{Iku-FoiLY;?yS>hf(b_&0VP+;Z|4^7UPD literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/dx9/fs_terrain.bin b/examples/runtime/shaders/dx9/fs_terrain.bin new file mode 100644 index 0000000000000000000000000000000000000000..13f74df2c3e25c819884e218ec1c8541ae7f5a2d GIT binary patch literal 213 zcmZ<@_Fy@GOL__e!wCik=Kufy{TF9&4smpnVPIfT24avHhyno?K?VkpctLTzal8S8 zZ)S2)esO+UiGoIurh(n7=tqeMmykM=&n1s~uNk&mIL zO5yK_nYBX`?zHEbo!Ql{$I(E4|7?Fa@LuCtHc6)AGWw`(vhl3%uY zhxzUr!@5vQ&czkF^i+jlE>BNYu!nNtNxlToa79jy{H9=0qr0fAVu)XKa_V3Ibm=WR fz2%=*>iF-<&0gY_nWeX2nVEAmxShGObq(Mbmswa_ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/dx9/vs_terrain_height_texture.bin b/examples/runtime/shaders/dx9/vs_terrain_height_texture.bin new file mode 100644 index 0000000000000000000000000000000000000000..b10c5e70251fc656a1298f069dac5ee016da7ac2 GIT binary patch literal 605 zcmZWmJx{_=6g_Ppk-?;K*2E4Dx{x*)<7N~G224;s*2YMc8c0nk>gF5RTsrszI^&OV zcVggoP|u}c48G>(p8L+ZU$5O(U44D;eweUFem@8w`bj%@O~!HH7=QtL><^<}FzANC zOEZoh6>k*|OjwJ2k$b4M&oA}>ywl{)q?1_f02BI4xuzK~(WaNvqlr$@5}KTi=H#}S zBVTbg#$Zj08uiORkNm3d;wrq0qfvC9IEOb!PQB4;IIaF|FNmF5G<*sN1fE-QE1v6m zUd219o*v`#8Yn5)8KBRKZf`a5`^A_Vuv5V$3iu*ROgcr`&i-g-g~p&}YlWftP&4N7 z32d#<%nYd1U&X*&qdd3wU$Fm?!Q{1%FMiUg^bMfi~@zS)MR6YviO4h;>?oF{5)$e3~3{v zbV+JOa(;eMiUCkQKQl!kH!(9$K|_Cdi2NoOrjQ#B}HUocto7I+!ii JT(w+W3;;9EOS1p~ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/glsl/vs_terrain.bin b/examples/runtime/shaders/glsl/vs_terrain.bin new file mode 100644 index 0000000000000000000000000000000000000000..4376fd3aecffa1374bbb5e175557c0c6f85a4aa7 GIT binary patch literal 395 zcmZvYzYc;h5XMX5)WrvIxe*wEiG%;}{6$+fOl+=R%;#>G$?mmsD5rX2u+7D`9>3p`{TTV^9KfaEJWDff8y$ zn1A8Eq=xOSHLrkt&5}M?RS;U}y~_1{d?1TArlnf7le}G}sBn|_9 H<(xeMnZt!r literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/glsl/vs_terrain_height_texture.bin b/examples/runtime/shaders/glsl/vs_terrain_height_texture.bin new file mode 100644 index 0000000000000000000000000000000000000000..2d84f6c487bc3ab5c1094588b4834b3713fc475b GIT binary patch literal 538 zcmZuuJx{|h5KU1hFZ}^5H>RkH($G#3TL%V)N}#ThX-r}i$C2ZFf%q5vFLoCG3g;?r zO@w7x_Px7%@175j_w%ps>(481(Ii5qtT=Gi?Uj6;&pdDDE$Sp^Jj?YH>vf|ThH(Gj zNwrq|xzP-A#4Bjo@fK)O$(m~}%b5I=5MhF5{ZUGlhB0ZW8hDvOA-l1@b?Pm8ZXZGG zRyQSokxGp8g6a)SMu>^csi~+6rlK88=0OpXrywXV!C#Vh0xk*M{S|CLJ7CbionYr3 zpQ_J+0dXJ4HNHi=2blsce