diff options
author | Gone2Daly <71726742+Gone2Daly@users.noreply.github.com> | 2023-04-07 18:10:49 +0200 |
---|---|---|
committer | Spartan322 <Megacake1234@gmail.com> | 2023-04-14 17:22:22 +0200 |
commit | 7241811bd8c9493b7b6c6480e8d63a5fb7f38e4e (patch) | |
tree | b5a33a733398b511eb0aa7781860c8accbadd2a0 /game/src/GameSession/TerrainMap.gdshader | |
parent | c0d76b78d3762e6eec3ed1c62618be84c5b7559b (diff) |
Add minimap for terrain map
With accurate viewport shape display on minimap
With Mapmode management
With Region mapmode
With Province mapmode
With Index mapmode
With Minimap single-click movement
With Minimap drag-click movement
Diffstat (limited to 'game/src/GameSession/TerrainMap.gdshader')
-rw-r--r-- | game/src/GameSession/TerrainMap.gdshader | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/game/src/GameSession/TerrainMap.gdshader b/game/src/GameSession/TerrainMap.gdshader index a6774fd..7aca0f9 100644 --- a/game/src/GameSession/TerrainMap.gdshader +++ b/game/src/GameSession/TerrainMap.gdshader @@ -8,10 +8,10 @@ uniform sampler2D terrain_tex: source_color, repeat_enable, filter_linear; uniform sampler2D province_index_tex : repeat_enable, filter_nearest; // Province colour texture uniform sampler2D province_colour_tex: source_color, repeat_enable, filter_nearest; -// Position of the mouse over the map mesh in UV coords -uniform vec2 hover_pos; -// Position in UV coords of a pixel belonging to the currently selected province -uniform vec2 selected_pos; +// Index of the mouse over the map mesh +uniform uint hover_index; +// Index of the currently selected province +uniform uint selected_index; uvec2 vec2_to_uvec2(vec2 v) { return uvec2(v * 255.0); @@ -31,13 +31,10 @@ uint read_uint16(sampler2D tex, vec2 uv) { void fragment() { uvec2 prov_idx_split = read_uvec2(province_index_tex, UV); - uint prov_index = uvec2_to_uint(prov_idx_split); - uint hover_index = read_uint16(province_index_tex, hover_pos); - uint selected_index = read_uint16(province_index_tex, selected_pos); // Boost prov_colour's contribution if it matches hover_colour or selected_colour - float mix_val = float(prov_index == hover_index) * 0.3 + float(prov_index == selected_index) * 0.5; + float mix_val = 0.3 + float(prov_index == hover_index) * 0.3 + float(prov_index == selected_index) * 0.3; // Don't mix if the province index is 0 mix_val *= float(prov_index != 0u); |