implement grid and heightmap with lambert shading

This commit is contained in:
2018-12-24 22:22:16 +01:00
parent 4d2706bfab
commit 52c87d9ec6
16 changed files with 297 additions and 101 deletions

View File

@@ -248,58 +248,49 @@
</border>
<border color=".3" pad="5" dir="col" width="100%">
<border color=".2" height="20" justify="center" align="center"><text text="Ground" font-face="arial" font-size="11"/></border>
<node dir="row">
<node width="30%" dir="col">
<node width="40%" dir="col">
<node height="20" justify="center"><text text="Opacity" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Scale" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Value" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Height" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Resolution" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Offset" font-face="arial" font-size="11"/></node>
</node>
<border dir="col" align="center" grow="1" width="1" flood-events="1">
<node height="20" pad="1" width="100%"><slider-h id="grid-ground-opacity"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-ground-scale" value="0.5"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-ground-value" value="0.5"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-ground-height" value="0.5"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-ground-value" value="0.0"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-ground-resolution" value="0.2"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-ground-offset" value="0.25"/></node>
</border>
</node>
<!--<border color=".2" height="20" justify="center" align="center"><text text="Box" font-face="arial" font-size="11"/></border>
<node dir="row">
<node width="30%" dir="col">
<node height="20" justify="center"><text text="Opacity" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Width" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Height" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Depth" font-face="arial" font-size="11"/></node>
</node>
<border dir="col" align="center" grow="1" width="1" flood-events="1">
<node height="20" pad="1" width="100%"><slider-h id="grid-box-opacity"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-box-width" value="0.5"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-box-height" value="0.5"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-box-depth" value="0.5"/></node>
</border>
</node>-->
<border color=".2" height="20" justify="center" align="center"><text text="Box" font-face="arial" font-size="11"/></border>
<node height="10"/>
<border color=".2" height="20" justify="center" align="center"><text text="Heightmap" font-face="arial" font-size="11"/></border>
<border color="1" align="center" pad="5" margin="0 0 5 0">
<image-texture id="grid-heightmap-preview" width="100%" grow="1" height="100" aspect-ratio="1"/>
</border>
<node dir="row">
<node width="30%" dir="col">
<node width="40%" dir="col">
<node height="20" justify="center"><text text="File" font-face="arial" font-size="11"/></node>
<node height="30" justify="center"><text text="Shading" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Wireframe" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Height" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="Offset" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="L-Yaw" font-face="arial" font-size="11"/></node>
<node height="20" justify="center"><text text="L-Pitch" font-face="arial" font-size="11"/></node>
</node>
<border dir="col" align="center" grow="1" width="1" flood-events="1">
<node height="20" pad="1" width="100%" dir="row">
<node width="20" grow="1" pad="0" margin="0 0 0 2" dir="row">
<button id="grid-heightmap-load" text="..." width="40" height="20"></button>
<button id="grid-heightmap-load" text="..." width="20" height="20"></button>
<button id="grid-heightmap-clear" text="Clear" width="50" height="20"></button>
<button id="grid-heightmap-reload" text="Reload" width="50" height="20"></button>
</node>
</node>
<node height="20" pad="1" width="100%"><slider-h id="grid-heightmap-height" value="0.5"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-heightmap-offset" value="0.0"/></node>
<node height="30" pad="1" width="100%" dir="row">
<combobox id="grid-heightmap-shading" text="Normal" width="100%" height="30" combo-list="Transparent,Flat,Solid" default="0"/>
</node>
<node height="20" pad="1" width="100%"><slider-h id="grid-heightmap-wireframe"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-heightmap-height" value="0.25"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-heightmap-lyaw" value="0.5"/></node>
<node height="20" pad="1" width="100%"><slider-h id="grid-heightmap-lpitch" value="0.5"/></node>
</border>
</node>
@@ -1044,7 +1035,7 @@ Here's a list of what's available in this release.
<button-custom id="menu-about" width="60" height="100%" margin="0 0 0 0" justify="center" align="center" pad="8" color=".1">
<text text="About" font-face="arial" font-size="11"/>
</button-custom>
<!--<button id="btn-anim" width="70" height="100%" margin="1 0 0 10" text="Animate"/>-->
<button id="btn-anim" width="70" height="100%" margin="1 0 0 10" text="Animate"/>
<node dir="row" justify="center" grow="1">
<button-custom id="btn-pen" width="50" height="100%" margin="0 0 0 5" thickness="1" border-color="0 0 0 1" pad="2">
<image path="data/ui/pen.png" width="100%" height="100%" align="center" justify="flex-end"/>
@@ -1112,11 +1103,9 @@ Here's a list of what's available in this release.
<image path="data/ui/layers.png" width="100%" height="100%" align="center" justify="flex-end"/>
</button-custom>
<!--
<button-custom id="btn-grids-panel" width="50" height="50" margin="0 0 5 0" thickness="1" border-color=".1" pad="2">
<image path="data/ui/grid.png" width="100%" height="100%" align="center" justify="flex-end" mips="true"/>
</button-custom>
-->
</border>
<!-- side bar -->
@@ -1131,11 +1120,10 @@ Here's a list of what's available in this release.
<!--Colors-->
<!--<panel-color id="panel-color"/>-->
<!--Grids-->
<!--<panel-grid/>-->
<panel-grid/>
</scroll>
</node>
<!-- timeline -->
<!--
<node height="100%" width="1" grow="1" dir="col" justify="flex-start" rtl="ltr">
<border color=".3 .3 .3 .4" height="50" width="100%" pad="10" dir="row">
<text text="Timeline: " font-face="arial" font-size="11" margin="8 10 0 0"/>
@@ -1145,7 +1133,6 @@ Here's a list of what's available in this release.
</node>
</border>
</node>
-->
<!--<node height="100%" width="1" grow="1" dir="col" align="center" justify="flex-start" rtl="ltr">
<border border-color="0 0 0 0" thickness="2" color=".2 .2 .2 .6" pad="10" dir="row" margin="2 0 0 0">