迁移Gizmo3DMove成功可绘制,但是退出崩溃。疑似重复delete
This commit is contained in:
parent
e9c3961aa5
commit
dd2ee57954
@ -31,13 +31,13 @@ enum class GizmoShape:uint
|
|||||||
ENUM_CLASS_RANGE(Square,Torus)
|
ENUM_CLASS_RANGE(Square,Torus)
|
||||||
};
|
};
|
||||||
|
|
||||||
bool InitGizmoResource(RenderResource *);
|
bool InitGizmoResource(RenderFramework *);
|
||||||
void FreeGizmoResource();
|
void FreeGizmoResource();
|
||||||
|
|
||||||
Mesh *GetGizmoMesh(const GizmoShape &shape,const GizmoColor &color);
|
Mesh *GetGizmoMesh(const GizmoShape &shape,const GizmoColor &color);
|
||||||
|
|
||||||
Mesh *GetGizmoMoveMesh();
|
SceneNode *GetGizmoMoveNode();
|
||||||
Mesh *GetGizmoScaleMesh();
|
//SceneNode *GetGizmoScaleMesh();
|
||||||
Mesh *GetGizmoRotateMesh();
|
//SceneNode *GetGizmoRotateMesh();
|
||||||
|
|
||||||
VK_NAMESPACE_END
|
VK_NAMESPACE_END
|
||||||
|
@ -25,25 +25,28 @@
|
|||||||
#include<hgl/graph/SceneNode.h>
|
#include<hgl/graph/SceneNode.h>
|
||||||
#include<hgl/graph/VKRenderResource.h>
|
#include<hgl/graph/VKRenderResource.h>
|
||||||
#include<hgl/graph/InlineGeometry.h>
|
#include<hgl/graph/InlineGeometry.h>
|
||||||
|
#include<hgl/graph/RenderFramework.h>
|
||||||
|
#include<hgl/component/MeshComponent.h>
|
||||||
|
|
||||||
VK_NAMESPACE_BEGIN
|
VK_NAMESPACE_BEGIN
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
static Mesh *sm_gizmo_move=nullptr;
|
|
||||||
|
static SceneNode *sn_gizmo_move=nullptr;
|
||||||
}//namespace
|
}//namespace
|
||||||
|
|
||||||
Mesh *GetGizmoMoveMesh()
|
SceneNode *GetGizmoMoveNode()
|
||||||
{
|
{
|
||||||
return sm_gizmo_move;
|
return sn_gizmo_move;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClearGizmoMoveMesh()
|
void ClearGizmoMoveNode()
|
||||||
{
|
{
|
||||||
SAFE_CLEAR(sm_gizmo_move);
|
SAFE_CLEAR(sn_gizmo_move);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InitGizmoMoveMesh()
|
bool InitGizmoMoveNode(RenderFramework *render_framework)
|
||||||
{
|
{
|
||||||
Mesh *sphere=GetGizmoMesh(GizmoShape::Sphere,GizmoColor::White);
|
Mesh *sphere=GetGizmoMesh(GizmoShape::Sphere,GizmoColor::White);
|
||||||
Mesh *cylinder[3]
|
Mesh *cylinder[3]
|
||||||
@ -83,9 +86,9 @@ bool InitGizmoMoveMesh()
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
SceneNode *root_node=new SceneNode();
|
sn_gizmo_move=new SceneNode();
|
||||||
|
|
||||||
root_node->Add(new SceneNode(sphere));
|
sn_gizmo_move->AttachComponent(render_framework->CreateComponent<MeshComponent>(sphere));
|
||||||
|
|
||||||
{
|
{
|
||||||
Transform tm;
|
Transform tm;
|
||||||
@ -97,53 +100,50 @@ bool InitGizmoMoveMesh()
|
|||||||
{
|
{
|
||||||
tm.SetScale(cylinder_scale);
|
tm.SetScale(cylinder_scale);
|
||||||
tm.SetTranslation(0,0,GIZMO_CYLINDER_OFFSET);
|
tm.SetTranslation(0,0,GIZMO_CYLINDER_OFFSET);
|
||||||
root_node->Add(new SceneNode(tm,cylinder[2])); //Z 向上圆柱
|
render_framework->CreateComponent<MeshComponent>(tm.GetMatrix(),sn_gizmo_move,cylinder[2]); //Z 向上圆柱
|
||||||
|
|
||||||
tm.SetScale(one_scale);
|
tm.SetScale(one_scale);
|
||||||
tm.SetTranslation(0,0,GIZMO_CONE_OFFSET);
|
tm.SetTranslation(0,0,GIZMO_CONE_OFFSET);
|
||||||
root_node->Add(new SceneNode(tm,cone[2])); //Z 向上圆锥
|
render_framework->CreateComponent<MeshComponent>(tm.GetMatrix(),sn_gizmo_move,cone[2]); //Z 向上圆锥
|
||||||
|
|
||||||
tm.SetScale(circle_scale);
|
tm.SetScale(circle_scale);
|
||||||
tm.SetTranslation(GIZMO_TWO_AXIS_OFFSET,GIZMO_TWO_AXIS_OFFSET,0);
|
tm.SetTranslation(GIZMO_TWO_AXIS_OFFSET,GIZMO_TWO_AXIS_OFFSET,0);
|
||||||
root_node->Add(new SceneNode(tm,circle[2]));
|
render_framework->CreateComponent<MeshComponent>(tm.GetMatrix(),sn_gizmo_move,circle[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
tm.SetScale(cylinder_scale);
|
tm.SetScale(cylinder_scale);
|
||||||
tm.SetRotation(AxisVector::Y,90);
|
tm.SetRotation(AxisVector::Y,90);
|
||||||
tm.SetTranslation(GIZMO_CYLINDER_OFFSET,0,0);
|
tm.SetTranslation(GIZMO_CYLINDER_OFFSET,0,0);
|
||||||
root_node->Add(new SceneNode(tm,cylinder[0])); //X 向右圆柱
|
render_framework->CreateComponent<MeshComponent>(tm.GetMatrix(),sn_gizmo_move,cylinder[0]); //X 向右圆柱
|
||||||
|
|
||||||
tm.SetScale(one_scale);
|
tm.SetScale(one_scale);
|
||||||
tm.SetTranslation(GIZMO_CONE_OFFSET,0,0);
|
tm.SetTranslation(GIZMO_CONE_OFFSET,0,0);
|
||||||
root_node->Add(new SceneNode(tm,cone[0])); //X 向右圆锥
|
render_framework->CreateComponent<MeshComponent>(tm.GetMatrix(),sn_gizmo_move,cone[0]); //X 向右圆锥
|
||||||
|
|
||||||
tm.SetScale(circle_scale);
|
tm.SetScale(circle_scale);
|
||||||
tm.SetTranslation(0,GIZMO_TWO_AXIS_OFFSET,GIZMO_TWO_AXIS_OFFSET);
|
tm.SetTranslation(0,GIZMO_TWO_AXIS_OFFSET,GIZMO_TWO_AXIS_OFFSET);
|
||||||
root_node->Add(new SceneNode(tm,circle[0]));
|
render_framework->CreateComponent<MeshComponent>(tm.GetMatrix(),sn_gizmo_move,circle[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
tm.SetScale(cylinder_scale);
|
tm.SetScale(cylinder_scale);
|
||||||
tm.SetRotation(AxisVector::X,-90);
|
tm.SetRotation(AxisVector::X,-90);
|
||||||
tm.SetTranslation(0,GIZMO_CYLINDER_OFFSET,0);
|
tm.SetTranslation(0,GIZMO_CYLINDER_OFFSET,0);
|
||||||
|
render_framework->CreateComponent<MeshComponent>(tm.GetMatrix(),sn_gizmo_move,cylinder[1]); //Y 向前圆柱
|
||||||
root_node->Add(new SceneNode(tm,cylinder[1])); //Y 向前圆柱
|
|
||||||
|
|
||||||
tm.SetScale(one_scale);
|
tm.SetScale(one_scale);
|
||||||
tm.SetTranslation(0,GIZMO_CONE_OFFSET,0);
|
tm.SetTranslation(0,GIZMO_CONE_OFFSET,0);
|
||||||
root_node->Add(new SceneNode(tm,cone[1])); //Y 向前圆锥
|
render_framework->CreateComponent<MeshComponent>(tm.GetMatrix(),sn_gizmo_move,cone[1]); //Y 向前圆锥
|
||||||
|
|
||||||
tm.SetScale(circle_scale);
|
tm.SetScale(circle_scale);
|
||||||
tm.SetTranslation(GIZMO_TWO_AXIS_OFFSET,0,GIZMO_TWO_AXIS_OFFSET);
|
tm.SetTranslation(GIZMO_TWO_AXIS_OFFSET,0,GIZMO_TWO_AXIS_OFFSET);
|
||||||
root_node->Add(new SceneNode(tm,circle[1]));
|
render_framework->CreateComponent<MeshComponent>(tm.GetMatrix(),sn_gizmo_move,circle[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sm_gizmo_move=CreateGizmoMesh(root_node);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!sm_gizmo_move)
|
if(!sn_gizmo_move)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
|
@ -9,22 +9,24 @@
|
|||||||
#include<hgl/color/Color.h>
|
#include<hgl/color/Color.h>
|
||||||
#include<hgl/graph/InlineGeometry.h>
|
#include<hgl/graph/InlineGeometry.h>
|
||||||
#include<hgl/graph/SceneNode.h>
|
#include<hgl/graph/SceneNode.h>
|
||||||
|
#include<hgl/graph/RenderFramework.h>
|
||||||
#include"GizmoResource.h"
|
#include"GizmoResource.h"
|
||||||
|
|
||||||
VK_NAMESPACE_BEGIN
|
VK_NAMESPACE_BEGIN
|
||||||
|
|
||||||
bool InitGizmoMoveMesh();
|
bool InitGizmoMoveNode(RenderFramework *);
|
||||||
void ClearGizmoMoveMesh();
|
void ClearGizmoMoveNode();
|
||||||
|
|
||||||
bool InitGizmoScaleMesh();
|
//bool InitGizmoScaleMesh();
|
||||||
void ClearGizmoScaleMesh();
|
//void ClearGizmoScaleMesh();
|
||||||
|
//
|
||||||
bool InitGizmoRotateMesh();
|
//bool InitGizmoRotateMesh();
|
||||||
void ClearGizmoRotateMesh();
|
//void ClearGizmoRotateMesh();
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
static RenderResource * gizmo_rr=nullptr;
|
static RenderFramework *render_framework=nullptr;
|
||||||
|
static RenderResource * gizmo_rr=nullptr;
|
||||||
|
|
||||||
struct GizmoResource
|
struct GizmoResource
|
||||||
{
|
{
|
||||||
@ -80,12 +82,14 @@ namespace
|
|||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InitGizmoResource2D(VulkanDevice *device)
|
bool InitGizmoResource2D()
|
||||||
{
|
{
|
||||||
if(!gizmo_rr)
|
if(!gizmo_rr)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
RenderPass *render_pass=device->GetRenderPass();
|
VulkanDevice *device=render_framework->GetDevice();
|
||||||
|
VulkanDevAttr *dev_attr=device->GetDevAttr();
|
||||||
|
RenderPass *render_pass=render_framework->GetDefaultRenderPass();
|
||||||
|
|
||||||
{
|
{
|
||||||
mtl::Material3DCreateConfig cfg(PrimitiveType::Lines);
|
mtl::Material3DCreateConfig cfg(PrimitiveType::Lines);
|
||||||
@ -93,7 +97,7 @@ namespace
|
|||||||
cfg.local_to_world=true;
|
cfg.local_to_world=true;
|
||||||
cfg.position_format=VAT_VEC3;
|
cfg.position_format=VAT_VEC3;
|
||||||
|
|
||||||
mtl::MaterialCreateInfo *mci=CreateVertexLuminance3D(&cfg);
|
mtl::MaterialCreateInfo *mci=CreateVertexLuminance3D(dev_attr,&cfg);
|
||||||
|
|
||||||
if(!mci)
|
if(!mci)
|
||||||
return(false);
|
return(false);
|
||||||
@ -106,7 +110,7 @@ namespace
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
gizmo_line.pipeline=render_pass->CreatePipeline(gizmo_line.mtl,InlinePipeline::Solid3D,PrimitiveType::Lines);
|
gizmo_line.pipeline=render_pass->CreatePipeline(gizmo_line.mtl,InlinePipeline::Solid3D);
|
||||||
|
|
||||||
if(!gizmo_line.pipeline)
|
if(!gizmo_line.pipeline)
|
||||||
return(false);
|
return(false);
|
||||||
@ -133,25 +137,27 @@ namespace
|
|||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InitGizmoResource3D(VulkanDevice *device)
|
bool InitGizmoResource3D()
|
||||||
{
|
{
|
||||||
if(!gizmo_rr)
|
if(!gizmo_rr)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
RenderPass *render_pass=device->GetRenderPass();
|
VulkanDevice *device=render_framework->GetDevice();
|
||||||
|
VulkanDevAttr *dev_attr=device->GetDevAttr();
|
||||||
|
RenderPass *render_pass=render_framework->GetDefaultRenderPass();
|
||||||
|
|
||||||
{
|
{
|
||||||
mtl::Material3DCreateConfig cfg(device->GetDevAttr(),"Gizmo3D",PrimitiveType::Triangles);
|
mtl::Material3DCreateConfig cfg(PrimitiveType::Triangles);
|
||||||
|
|
||||||
cfg.local_to_world=true;
|
cfg.local_to_world=true;
|
||||||
cfg.material_instance=true;
|
cfg.material_instance=true;
|
||||||
|
|
||||||
mtl::MaterialCreateInfo *mci=CreateMaterialGizmo3D(&cfg);
|
mtl::MaterialCreateInfo *mci=CreateGizmo3D(dev_attr,&cfg);
|
||||||
|
|
||||||
if(!mci)
|
if(!mci)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
gizmo_triangle.mtl=gizmo_rr->CreateMaterial(mci);
|
gizmo_triangle.mtl=gizmo_rr->CreateMaterial("GizmoTriangle",mci);
|
||||||
if(!gizmo_triangle.mtl)
|
if(!gizmo_triangle.mtl)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
@ -159,7 +165,7 @@ namespace
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
gizmo_triangle.pipeline=render_pass->CreatePipeline(gizmo_triangle.mtl,InlinePipeline::Solid3D,PrimitiveType::Triangles);
|
gizmo_triangle.pipeline=render_pass->CreatePipeline(gizmo_triangle.mtl,InlinePipeline::Solid3D);
|
||||||
if(!gizmo_triangle.pipeline)
|
if(!gizmo_triangle.pipeline)
|
||||||
return(false);
|
return(false);
|
||||||
}
|
}
|
||||||
@ -261,25 +267,24 @@ namespace
|
|||||||
}
|
}
|
||||||
}//namespace
|
}//namespace
|
||||||
|
|
||||||
bool InitGizmoResource(RenderResource *rr)
|
bool InitGizmoResource(RenderFramework *rf)
|
||||||
{
|
{
|
||||||
if(!rr)
|
if(!rf)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
if(gizmo_rr)
|
render_framework=rf;
|
||||||
|
|
||||||
|
gizmo_rr=render_framework->GetRenderResource();
|
||||||
|
|
||||||
|
VulkanDevice *device=render_framework->GetDevice();
|
||||||
|
|
||||||
|
if(!InitGizmoResource3D())
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
gizmo_rr=rr;
|
if(!InitGizmoResource2D())
|
||||||
|
|
||||||
VulkanDevice *device=gizmo_rr->GetDevice();
|
|
||||||
|
|
||||||
if(!InitGizmoResource3D(device))
|
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
if(!InitGizmoResource2D(device))
|
InitGizmoMoveNode(rf);
|
||||||
return(false);
|
|
||||||
|
|
||||||
InitGizmoMoveMesh();
|
|
||||||
//InitGizmoScaleMesh();
|
//InitGizmoScaleMesh();
|
||||||
//InitGizmoRotateMesh();
|
//InitGizmoRotateMesh();
|
||||||
|
|
||||||
@ -290,7 +295,7 @@ void FreeGizmoResource()
|
|||||||
{
|
{
|
||||||
//ClearGizmoRotateMesh();
|
//ClearGizmoRotateMesh();
|
||||||
//ClearGizmoScaleMesh();
|
//ClearGizmoScaleMesh();
|
||||||
ClearGizmoMoveMesh();
|
ClearGizmoMoveNode();
|
||||||
|
|
||||||
for(GizmoMesh &gr:gizmo_mesh)
|
for(GizmoMesh &gr:gizmo_mesh)
|
||||||
{
|
{
|
||||||
@ -316,15 +321,4 @@ Mesh *GetGizmoMesh(const GizmoShape &shape,const GizmoColor &color)
|
|||||||
return gizmo_mesh[size_t(shape)].mesh[size_t(color)];
|
return gizmo_mesh[size_t(shape)].mesh[size_t(color)];
|
||||||
}
|
}
|
||||||
|
|
||||||
Mesh *CreateGizmoMesh(SceneNode *root_node)
|
|
||||||
{
|
|
||||||
if(!root_node)
|
|
||||||
return(nullptr);
|
|
||||||
|
|
||||||
if(root_node->IsEmpty())
|
|
||||||
return(nullptr);
|
|
||||||
|
|
||||||
return(new StaticMesh(root_node));
|
|
||||||
}
|
|
||||||
|
|
||||||
VK_NAMESPACE_END
|
VK_NAMESPACE_END
|
||||||
|
@ -38,6 +38,4 @@ constexpr const float GIZMO_TWO_AXIS_OFFSET =5.0F;
|
|||||||
|
|
||||||
Mesh *GetGizmoMesh(const GizmoShape &gs,const GizmoColor &);
|
Mesh *GetGizmoMesh(const GizmoShape &gs,const GizmoColor &);
|
||||||
|
|
||||||
MeshComponent *CreateGizmoMeshComponent(SceneNode *);
|
|
||||||
|
|
||||||
VK_NAMESPACE_END
|
VK_NAMESPACE_END
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include"VulkanAppFramework.h"
|
#include<hgl/WorkManager.h>
|
||||||
#include"Gizmo.h"
|
#include"Gizmo.h"
|
||||||
#include<hgl/graph/Ray.h>
|
#include<hgl/graph/Ray.h>
|
||||||
|
|
||||||
@ -52,94 +52,81 @@ const Vector3f GizmoPosition(0,0,0);
|
|||||||
// }
|
// }
|
||||||
//};//class BillboardSceneNode:public SceneNode
|
//};//class BillboardSceneNode:public SceneNode
|
||||||
|
|
||||||
class TestApp:public SceneAppFramework
|
class TestApp:public WorkObject
|
||||||
{
|
{
|
||||||
SceneNode root;
|
SceneNode *sm_move=nullptr;
|
||||||
|
//StaticMesh *sm_rotate=nullptr;
|
||||||
StaticMesh *sm_move=nullptr;
|
//StaticMesh *sm_scale=nullptr;
|
||||||
StaticMesh *sm_rotate=nullptr;
|
|
||||||
StaticMesh *sm_scale=nullptr;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
bool InitGizmo()
|
bool InitGizmo()
|
||||||
{
|
{
|
||||||
if(!InitGizmoResource(db))
|
if(!InitGizmoResource(GetRenderFramework()))
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
sm_move =GetGizmoMoveStaticMesh();
|
sm_move =GetGizmoMoveNode();
|
||||||
sm_rotate =GetGizmoRotateStaticMesh();
|
//sm_rotate =GetGizmoRotateStaticMesh();
|
||||||
sm_scale =GetGizmoScaleStaticMesh();
|
//sm_scale =GetGizmoScaleStaticMesh();
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InitGizmoSceneTree()
|
void InitGizmoSceneTree()
|
||||||
{
|
{
|
||||||
camera_control->Refresh();
|
SceneNode *root=GetSceneRoot();
|
||||||
CameraInfo *ci=camera_control->GetCameraInfo();
|
|
||||||
|
|
||||||
root.Clear();
|
root->Add(sm_move);
|
||||||
|
//root.Add(Duplication(sm_rotate->GetScene()));
|
||||||
//root.Add(Duplication(sm_move->GetScene()));
|
|
||||||
root.Add(Duplication(sm_rotate->GetScene()));
|
|
||||||
//root.CreateSubNode(sm_scale->GetScene());
|
//root.CreateSubNode(sm_scale->GetScene());
|
||||||
|
|
||||||
root.RefreshMatrix();
|
|
||||||
render_list->SetCamera(ci);
|
|
||||||
render_list->Expend(&root);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
bool Init(uint w,uint h)
|
bool Init() override
|
||||||
{
|
{
|
||||||
if(!SceneAppFramework::Init(w,h))
|
|
||||||
return(false);
|
|
||||||
|
|
||||||
if(!InitGizmo())
|
if(!InitGizmo())
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
InitGizmoSceneTree();
|
InitGizmoSceneTree();
|
||||||
|
|
||||||
camera->pos=Vector3f(32,32,32);
|
CameraControl *camera_control=GetCameraControl();
|
||||||
|
|
||||||
|
camera_control->SetPosition(Vector3f(32,32,32));
|
||||||
camera_control->SetTarget(Vector3f(0,0,0));
|
camera_control->SetTarget(Vector3f(0,0,0));
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using WorkObject::WorkObject;
|
||||||
|
|
||||||
~TestApp()
|
~TestApp()
|
||||||
{
|
{
|
||||||
FreeGizmoResource();
|
FreeGizmoResource();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildCommandBuffer(uint32 index) override
|
//void BuildCommandBuffer(uint32 index) override
|
||||||
{
|
//{
|
||||||
camera_control->Refresh();
|
// camera_control->Refresh();
|
||||||
|
//
|
||||||
const CameraInfo *ci=camera_control->GetCameraInfo();
|
// const CameraInfo *ci=camera_control->GetCameraInfo();
|
||||||
const ViewportInfo *vi=GetViewportInfo();
|
// const ViewportInfo *vi=GetViewportInfo();
|
||||||
|
|
||||||
const float screen_height=vi->GetViewportHeight();
|
// const float screen_height=vi->GetViewportHeight();
|
||||||
|
|
||||||
const Vector4f pos=ci->Project(GizmoPosition);
|
// const Vector4f pos=ci->Project(GizmoPosition);
|
||||||
|
|
||||||
//{
|
// //{
|
||||||
// Transform tm;
|
// // Transform tm;
|
||||||
|
|
||||||
// tm.SetScale(pos.w*16.0f/screen_height);
|
// // tm.SetScale(pos.w*16.0f/screen_height);
|
||||||
|
|
||||||
// root.SetLocalTransform(tm);
|
// // root.SetLocalTransform(tm);
|
||||||
//}
|
// //}
|
||||||
|
//}
|
||||||
|
};//class TestApp:public WorkObject
|
||||||
|
|
||||||
root.RefreshMatrix();
|
int os_main(int,os_char **)
|
||||||
render_list->UpdateLocalToWorld();
|
|
||||||
|
|
||||||
SceneAppFramework::BuildCommandBuffer(index);
|
|
||||||
}
|
|
||||||
};//class TestApp:public SceneAppFramework
|
|
||||||
|
|
||||||
int main(int,char **)
|
|
||||||
{
|
{
|
||||||
return RunApp<TestApp>(1024,1024);
|
return RunFramework<TestApp>(OS_TEXT("Gizmo"),1280,720);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user