SurfaceCtrl_Demo: Removed warning, EditInt64 to EditDouble, It now load skybox only when show skybox is set to true

git-svn-id: svn://ultimatepp.org/upp/trunk@15043 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
xemuth 2020-09-15 13:03:51 +00:00
parent b9564a56d7
commit 89cf5b6b0b
2 changed files with 46 additions and 47 deletions

View file

@ -17,13 +17,13 @@ LAYOUT(SurfaceCtrl_DemoLayout, 1266, 475)
ITEM(LabelBox, dv___15, SetLabel(t_("Camera values")).SetFont(StdFont().Bold()).LeftPosZ(444, 819).TopPosZ(0, 55))
ITEM(Label, frontvec, SetLabel(t_("(12, 439, 10)")).LeftPosZ(765, 89).TopPosZ(38, 13))
ITEM(Label, dv___17, SetLabel(t_("Angle (quaternion):")).RightPosZ(146, 97).BottomPosZ(37, 13))
ITEM(EditInt64, quatZ, LeftPosZ(658, 34).TopPosZ(32, 19))
ITEM(EditDouble, quatZ, LeftPosZ(658, 34).TopPosZ(32, 19))
ITEM(EditInt64, ObjScalZ, RightPosZ(52, 40).BottomPosZ(9, 19))
ITEM(EditInt64, camPosZ, LeftPosZ(652, 40).TopPosZ(11, 19))
ITEM(EditInt64, quatX, LeftPosZ(586, 34).TopPosZ(32, 19))
ITEM(EditInt64, quatY, LeftPosZ(622, 34).TopPosZ(32, 19))
ITEM(EditDouble, camPosZ, LeftPosZ(652, 40).TopPosZ(11, 19))
ITEM(EditDouble, quatX, LeftPosZ(586, 34).TopPosZ(32, 19))
ITEM(EditDouble, quatY, LeftPosZ(622, 34).TopPosZ(32, 19))
ITEM(EditInt64, ObjScalY, RightPosZ(95, 40).BottomPosZ(9, 19))
ITEM(EditInt64, camPosY, LeftPosZ(610, 40).TopPosZ(11, 19))
ITEM(EditDouble, camPosY, LeftPosZ(610, 40).TopPosZ(11, 19))
ITEM(EditInt64, focusZ, LeftPosZ(989, 31).TopPosZ(11, 19))
ITEM(EditInt64, focusY, LeftPosZ(956, 31).TopPosZ(11, 19))
ITEM(EditInt64, focusX, LeftPosZ(923, 31).TopPosZ(11, 19))
@ -34,7 +34,7 @@ LAYOUT(SurfaceCtrl_DemoLayout, 1266, 475)
ITEM(Label, rightvec, SetLabel(t_("(12, 439, 10)")).LeftPosZ(765, 89).TopPosZ(23, 13))
ITEM(Label, upvec, SetLabel(t_("(12, 439, 10)")).LeftPosZ(765, 89).TopPosZ(8, 13))
ITEM(Button, zoomToFit, SetLabel(t_("Fit camera")).LeftPosZ(1028, 78).TopPosZ(10, 18))
ITEM(EditInt64, quatW, LeftPosZ(550, 34).TopPosZ(32, 19))
ITEM(EditDouble, quatW, LeftPosZ(550, 34).TopPosZ(32, 19))
ITEM(TreeCtrl, AllObjects, RightPosZ(3, 249).VSizePosZ(56, 117))
ITEM(Label, dv___37, SetLabel(t_("Scale (xyz):")).RightPosZ(181, 62).BottomPosZ(11, 13))
ITEM(Label, dv___38, SetLabel(t_("Position (xyz):")).LeftPosZ(495, 71).TopPosZ(15, 13))
@ -47,7 +47,7 @@ LAYOUT(SurfaceCtrl_DemoLayout, 1266, 475)
ITEM(EditInt64, ObjPosY, RightPosZ(84, 40).BottomPosZ(58, 19))
ITEM(Label, dv___46, SetLabel(t_("Position (xyz):")).RightPosZ(172, 71).BottomPosZ(62, 13))
ITEM(EditInt64, ObjPosX, RightPosZ(127, 40).BottomPosZ(58, 19))
ITEM(EditInt64, camPosX, LeftPosZ(568, 40).TopPosZ(11, 19))
ITEM(EditDouble, camPosX, LeftPosZ(568, 40).TopPosZ(11, 19))
ITEM(Label, dv___49, SetLabel(t_("Up vector :")).SetFont(StdFontZ(10)).LeftPosZ(699, 58).TopPosZ(8, 13))
ITEM(Label, dv___50, SetLabel(t_("On Object :")).SetFont(StdFontZ(10)).LeftPosZ(937, 55).TopPosZ(36, 13))
ITEM(Label, dv___51, SetLabel(t_("To Rotate around an object, \nWheel Click the object.")).SetFont(StdFontZ(10).Italic()).LeftPosZ(1134, 126).TopPosZ(29, 24))

View file

@ -24,9 +24,20 @@ namespace Upp{
canvas.Refresh();
};
canvas.GetSkybox().Show(false);
skybox = canvas.GetSkybox().IsShown();
skybox.WhenAction = [&]{
if(!canvas.GetSkybox().IsLoaded()){
canvas.ExecuteGL([&]{
canvas.GetSkybox().Init(
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/right.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/left.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/top.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/bottom.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/front.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/back.jpg"));
});
}
canvas.GetSkybox().Show(skybox.Get());
canvas.Refresh();
};
@ -34,7 +45,7 @@ namespace Upp{
fovSelector <<= canvas.GetCamera().GetFOV();
fovSelector.MinMax(0,160);
fovSelector.WhenAction =[&]{
canvas.GetCamera().SetFOV(fovSelector);
canvas.GetCamera().SetFOV(float(fovSelector));
canvas.Refresh();
};
@ -165,18 +176,6 @@ namespace Upp{
};
canvas.WhenPaint = [&] {
ONCELOCK{
canvas.ExecuteGL([&]{
canvas.GetSkybox().Init(
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/right.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/left.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/top.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/bottom.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/front.jpg"),
StreamRaster::LoadFileAny( GetSurfaceCtrlDirectory() + "skybox/back.jpg"));
});
}
canvas.DrawAllObjects();
RetrieveCameraInformation();
RetrieveObjectInformation();
@ -199,21 +198,21 @@ namespace Upp{
void SurfaceCtrl_Demo::RetrieveCameraInformation(){
Transform& t = canvas.GetCamera().GetTransform();
camPosX = t.GetPosition().x;
camPosY = t.GetPosition().y;
camPosZ = t.GetPosition().z;
camPosX <<= t.GetPosition().x;
camPosY <<= t.GetPosition().y;
camPosZ <<= t.GetPosition().z;
glm::quat q = t.GetRotation();
quatW = q.w;
quatX = q.x;
quatY = q.y;
quatZ = q.z;
quatW <<= q.w;
quatX <<= q.x;
quatY <<= q.y;
quatZ <<= q.z;
frontvec.SetLabel("("+ AsString( t.GetFront().x,2) +", " + AsString(t.GetFront().y,2) +", " + AsString(t.GetFront().z,2) + ")");
upvec.SetLabel("("+ AsString(t.GetUp().x,2) +", " + AsString(t.GetUp().y,2) +", " + AsString(t.GetUp().z,2) + ")");
rightvec.SetLabel("("+ AsString(t.GetRight().x,2) +", " + AsString(t.GetRight().y,2) +", " + AsString(t.GetRight().z,2) + ")");
focusX = canvas.GetCamera().GetFocus().x;
focusY = canvas.GetCamera().GetFocus().y;
focusZ = canvas.GetCamera().GetFocus().z;
focusX <<= canvas.GetCamera().GetFocus().x;
focusY <<= canvas.GetCamera().GetFocus().y;
focusZ <<= canvas.GetCamera().GetFocus().z;
onObjectBool.SetLabel( AsString(canvas.GetCamera().IsOnObject()));
AllObjects.Clear();
@ -233,13 +232,13 @@ namespace Upp{
AllObjects.OpenDeep(0,true);
}
void SurfaceCtrl_Demo::UpdatePosition(){
canvas.GetCamera().GetTransform().SetPosition(camPosX,camPosY,camPosZ);
canvas.GetCamera().GetTransform().SetPosition(float(camPosX),float(camPosY),float(camPosZ));
}
void SurfaceCtrl_Demo::UpdateRotation(){
canvas.GetCamera().GetTransform().SetRotation(glm::quat(quatW,quatX,quatY,quatZ));
canvas.GetCamera().GetTransform().SetRotation(glm::quat(float(quatW),float(quatX),float(quatY),float(quatZ)));
}
void SurfaceCtrl_Demo::UpdateFocus(){
canvas.GetCamera().SetFocus(focusX,focusY,focusZ);
canvas.GetCamera().SetFocus(float(focusX),float(focusY),float(focusZ));
}
void SurfaceCtrl_Demo::RetrieveObjectInformation(){
if(TreeIDSelected > 0){
@ -248,21 +247,21 @@ namespace Upp{
Object3D& obj = canvas.GetObject(TreeIDSelected);
ObjShowSkin = obj.GetShowMesh();
ObjShowNormal = obj.GetShowMeshNormal();
ObjShowLine = obj.GetShowMeshLine();
ObjShowLine = obj.GetShowMeshLine();
ObjShowLight = obj.GetShowLight();
ObjPosX = obj.GetTransform().GetPosition().x;
ObjPosY = obj.GetTransform().GetPosition().y;
ObjPosZ = obj.GetTransform().GetPosition().z;
ObjPosX <<= obj.GetTransform().GetPosition().x;
ObjPosY <<= obj.GetTransform().GetPosition().y;
ObjPosZ <<= obj.GetTransform().GetPosition().z;
ObjQuatW = obj.GetTransform().GetRotation().w;
ObjQuatX = obj.GetTransform().GetRotation().x;
ObjQuatY = obj.GetTransform().GetRotation().y;
ObjQuatZ = obj.GetTransform().GetRotation().z;
ObjQuatW <<= obj.GetTransform().GetRotation().w;
ObjQuatX <<= obj.GetTransform().GetRotation().x;
ObjQuatY <<= obj.GetTransform().GetRotation().y;
ObjQuatZ <<= obj.GetTransform().GetRotation().z;
ObjScalX = obj.GetTransform().GetScale().x;
ObjScalY = obj.GetTransform().GetScale().y;
ObjScalZ = obj.GetTransform().GetScale().z;
ObjScalX <<= obj.GetTransform().GetScale().x;
ObjScalY <<= obj.GetTransform().GetScale().y;
ObjScalZ <<= obj.GetTransform().GetScale().z;
}
}
}
@ -271,8 +270,8 @@ namespace Upp{
int iterator = canvas.FindObject(TreeIDSelected);
if( iterator != -1){
Object3D& obj = canvas.GetObject(TreeIDSelected);
obj.GetTransform().SetPosition(ObjPosX,ObjPosY,ObjPosZ);
obj.GetTransform().SetRotation(glm::quat(ObjQuatW,ObjQuatX,ObjQuatY,ObjQuatZ));
obj.GetTransform().SetPosition(float(ObjPosX),float(ObjPosY),float(ObjPosZ));
obj.GetTransform().SetRotation(glm::quat(float(ObjQuatW),float(ObjQuatX),float(ObjQuatY),float(ObjQuatZ)));
obj.GetTransform().SetScale(glm::vec3((float)ObjScalX,(float)ObjScalY,(float)ObjScalZ));
}
}