diff --git a/example/Gizmo/CMakeLists.txt b/example/Gizmo/CMakeLists.txt index 0b6970c6..1cf23bab 100644 --- a/example/Gizmo/CMakeLists.txt +++ b/example/Gizmo/CMakeLists.txt @@ -19,7 +19,8 @@ CreateProject(04_Gizmo3DTest GizmoTest.cpp GizmoResource.h GizmoResource.cpp Gizmo3DMove.cpp - Gizmo3DScale.cpp - Gizmo3DRotate.cpp) + #Gizmo3DScale.cpp + #Gizmo3DRotate.cpp +) #CreateProject(03_BlenderAxis BlenderAxis.cpp) diff --git a/example/Gizmo/Gizmo.h b/example/Gizmo/Gizmo.h index cb354efb..d708aef5 100644 --- a/example/Gizmo/Gizmo.h +++ b/example/Gizmo/Gizmo.h @@ -34,10 +34,10 @@ enum class GizmoShape:uint bool InitGizmoResource(RenderResource *); void FreeGizmoResource(); -Mesh *GetGizmoRenderable(const GizmoShape &shape,const GizmoColor &color); +Mesh *GetGizmoMesh(const GizmoShape &shape,const GizmoColor &color); -StaticMesh *GetGizmoMoveStaticMesh(); -StaticMesh *GetGizmoScaleStaticMesh(); -StaticMesh *GetGizmoRotateStaticMesh(); +Mesh *GetGizmoMoveMesh(); +Mesh *GetGizmoScaleMesh(); +Mesh *GetGizmoRotateMesh(); VK_NAMESPACE_END diff --git a/example/Gizmo/Gizmo3DMove.cpp b/example/Gizmo/Gizmo3DMove.cpp index 1230e7e6..eb4f00f7 100644 --- a/example/Gizmo/Gizmo3DMove.cpp +++ b/example/Gizmo/Gizmo3DMove.cpp @@ -30,41 +30,41 @@ VK_NAMESPACE_BEGIN namespace { - static StaticMesh *sm_gizmo_move=nullptr; + static Mesh *sm_gizmo_move=nullptr; }//namespace -StaticMesh *GetGizmoMoveStaticMesh() +Mesh *GetGizmoMoveMesh() { return sm_gizmo_move; } -void ClearGizmoMoveStaticMesh() +void ClearGizmoMoveMesh() { SAFE_CLEAR(sm_gizmo_move); } -bool InitGizmoMoveStaticMesh() +bool InitGizmoMoveMesh() { - Mesh *sphere=GetGizmoRenderable(GizmoShape::Sphere,GizmoColor::White); + Mesh *sphere=GetGizmoMesh(GizmoShape::Sphere,GizmoColor::White); Mesh *cylinder[3] { - GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Red), - GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Green), - GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Blue), + GetGizmoMesh(GizmoShape::Cylinder,GizmoColor::Red), + GetGizmoMesh(GizmoShape::Cylinder,GizmoColor::Green), + GetGizmoMesh(GizmoShape::Cylinder,GizmoColor::Blue), }; Mesh *cone[3] { - GetGizmoRenderable(GizmoShape::Cone,GizmoColor::Red), - GetGizmoRenderable(GizmoShape::Cone,GizmoColor::Green), - GetGizmoRenderable(GizmoShape::Cone,GizmoColor::Blue), + GetGizmoMesh(GizmoShape::Cone,GizmoColor::Red), + GetGizmoMesh(GizmoShape::Cone,GizmoColor::Green), + GetGizmoMesh(GizmoShape::Cone,GizmoColor::Blue), }; Mesh *circle[3]= { - GetGizmoRenderable(GizmoShape::Circle,GizmoColor::Red), - GetGizmoRenderable(GizmoShape::Circle,GizmoColor::Green), - GetGizmoRenderable(GizmoShape::Circle,GizmoColor::Blue) + GetGizmoMesh(GizmoShape::Circle,GizmoColor::Red), + GetGizmoMesh(GizmoShape::Circle,GizmoColor::Green), + GetGizmoMesh(GizmoShape::Circle,GizmoColor::Blue) }; if(!sphere) @@ -140,7 +140,7 @@ bool InitGizmoMoveStaticMesh() } } - sm_gizmo_move=CreateGizmoStaticMesh(root_node); + sm_gizmo_move=CreateGizmoMesh(root_node); } if(!sm_gizmo_move) diff --git a/example/Gizmo/Gizmo3DRotate.cpp b/example/Gizmo/Gizmo3DRotate.cpp index 34a2ffec..0c6c88d3 100644 --- a/example/Gizmo/Gizmo3DRotate.cpp +++ b/example/Gizmo/Gizmo3DRotate.cpp @@ -24,11 +24,11 @@ bool InitGizmoRotateStaticMesh() { Mesh *torus[4] { - GetGizmoRenderable(GizmoShape::Torus,GizmoColor::Red), - GetGizmoRenderable(GizmoShape::Torus,GizmoColor::Green), - GetGizmoRenderable(GizmoShape::Torus,GizmoColor::Blue), + GetGizmoMesh(GizmoShape::Torus,GizmoColor::Red), + GetGizmoMesh(GizmoShape::Torus,GizmoColor::Green), + GetGizmoMesh(GizmoShape::Torus,GizmoColor::Blue), - GetGizmoRenderable(GizmoShape::Torus,GizmoColor::White), + GetGizmoMesh(GizmoShape::Torus,GizmoColor::White), }; for(auto *r:torus) diff --git a/example/Gizmo/Gizmo3DScale.cpp b/example/Gizmo/Gizmo3DScale.cpp index 976eb70f..49132e76 100644 --- a/example/Gizmo/Gizmo3DScale.cpp +++ b/example/Gizmo/Gizmo3DScale.cpp @@ -45,26 +45,26 @@ void ClearGizmoScaleStaticMesh() bool InitGizmoScaleStaticMesh() { - Mesh *center_cube=GetGizmoRenderable(GizmoShape::Cube,GizmoColor::White); + Mesh *center_cube=GetGizmoMesh(GizmoShape::Cube,GizmoColor::White); Mesh *cylinder[3] { - GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Red), - GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Green), - GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Blue), + GetGizmoMesh(GizmoShape::Cylinder,GizmoColor::Red), + GetGizmoMesh(GizmoShape::Cylinder,GizmoColor::Green), + GetGizmoMesh(GizmoShape::Cylinder,GizmoColor::Blue), }; Mesh *cube[3] { - GetGizmoRenderable(GizmoShape::Cube,GizmoColor::Red), - GetGizmoRenderable(GizmoShape::Cube,GizmoColor::Green), - GetGizmoRenderable(GizmoShape::Cube,GizmoColor::Blue), + GetGizmoMesh(GizmoShape::Cube,GizmoColor::Red), + GetGizmoMesh(GizmoShape::Cube,GizmoColor::Green), + GetGizmoMesh(GizmoShape::Cube,GizmoColor::Blue), }; Mesh *square[3]= { - GetGizmoRenderable(GizmoShape::Square,GizmoColor::Red), - GetGizmoRenderable(GizmoShape::Square,GizmoColor::Green), - GetGizmoRenderable(GizmoShape::Square,GizmoColor::Blue) + GetGizmoMesh(GizmoShape::Square,GizmoColor::Red), + GetGizmoMesh(GizmoShape::Square,GizmoColor::Green), + GetGizmoMesh(GizmoShape::Square,GizmoColor::Blue) }; if(!center_cube) diff --git a/example/Gizmo/GizmoResource.cpp b/example/Gizmo/GizmoResource.cpp index 712f659f..0db6c660 100644 --- a/example/Gizmo/GizmoResource.cpp +++ b/example/Gizmo/GizmoResource.cpp @@ -13,14 +13,14 @@ VK_NAMESPACE_BEGIN -bool InitGizmoMoveStaticMesh(); -void ClearGizmoMoveStaticMesh(); +bool InitGizmoMoveMesh(); +void ClearGizmoMoveMesh(); -bool InitGizmoScaleStaticMesh(); -void ClearGizmoScaleStaticMesh(); +bool InitGizmoScaleMesh(); +void ClearGizmoScaleMesh(); -bool InitGizmoRotateStaticMesh(); -void ClearGizmoRotateStaticMesh(); +bool InitGizmoRotateMesh(); +void ClearGizmoRotateMesh(); namespace { @@ -39,26 +39,26 @@ namespace static GizmoResource gizmo_line{}; static GizmoResource gizmo_triangle{}; - struct GizmoRenderable + struct GizmoMesh { Primitive *prim; - Mesh *renderable[size_t(GizmoColor::RANGE_SIZE)]; + Mesh *mesh[size_t(GizmoColor::RANGE_SIZE)]; }; - GizmoRenderable gizmo_rederable[size_t(GizmoShape::RANGE_SIZE)]{}; + GizmoMesh gizmo_mesh[size_t(GizmoShape::RANGE_SIZE)]{}; - void InitGizmoRenderable(const GizmoShape &gs,Primitive *prim,Pipeline *p) + void InitGizmoMesh(const GizmoShape &gs,Primitive *prim,Pipeline *p) { if(!prim) return; - GizmoRenderable *gr=gizmo_rederable+size_t(gs); + GizmoMesh *gr=gizmo_mesh+size_t(gs); gr->prim=prim; for(uint i=0;irenderable[i]=CreateMesh(prim,gizmo_triangle.mi[i],p); + gr->mesh[i]=CreateMesh(prim,gizmo_triangle.mi[i],p); } bool InitMI(GizmoResource *gr) @@ -88,9 +88,8 @@ namespace RenderPass *render_pass=device->GetRenderPass(); { - mtl::Material3DCreateConfig cfg(device->GetDevAttr(),"VertexLuminance3D",PrimitiveType::Lines); + mtl::Material3DCreateConfig cfg(PrimitiveType::Lines); - cfg.mtl_name="VertexLuminance3D"; //注意必须用不同名字,未来改名材质文件名+cfg hash名 cfg.local_to_world=true; cfg.position_format=VAT_VEC3; @@ -99,7 +98,7 @@ namespace if(!mci) return(false); - gizmo_line.mtl=gizmo_rr->CreateMaterial(mci); + gizmo_line.mtl=gizmo_rr->CreateMaterial("GizmoLine",mci); if(!gizmo_line.mtl) return(false); @@ -191,7 +190,7 @@ namespace using namespace inline_geometry; { - InitGizmoRenderable(GizmoShape::Square,CreatePlaneSqaure(gizmo_triangle.prim_creater),gizmo_triangle.pipeline); + InitGizmoMesh(GizmoShape::Square,CreatePlaneSqaure(gizmo_triangle.prim_creater),gizmo_triangle.pipeline); } { @@ -202,7 +201,7 @@ namespace cci.field_count=16; cci.has_center=false; - InitGizmoRenderable(GizmoShape::Circle,CreateCircle3DByIndexTriangles(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline); + InitGizmoMesh(GizmoShape::Circle,CreateCircle3DByIndexTriangles(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline); } { @@ -212,11 +211,11 @@ namespace cci.tangent=false; cci.tex_coord=false; - InitGizmoRenderable(GizmoShape::Cube,CreateCube(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline); + InitGizmoMesh(GizmoShape::Cube,CreateCube(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline); } { - InitGizmoRenderable(GizmoShape::Sphere,CreateSphere(gizmo_triangle.prim_creater,16),gizmo_triangle.pipeline); + InitGizmoMesh(GizmoShape::Sphere,CreateSphere(gizmo_triangle.prim_creater,16),gizmo_triangle.pipeline); } { @@ -227,7 +226,7 @@ namespace cci.numberSlices=16; //圆锥底部分割数 cci.numberStacks=3; //圆锥高度分割数 - InitGizmoRenderable(GizmoShape::Cone,CreateCone(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline); + InitGizmoMesh(GizmoShape::Cone,CreateCone(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline); } { @@ -237,7 +236,7 @@ namespace cci.numberSlices=16; //圆柱底部分割数 cci.radius =1; //圆柱半径 - InitGizmoRenderable(GizmoShape::Cylinder,CreateCylinder(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline); + InitGizmoMesh(GizmoShape::Cylinder,CreateCylinder(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline); } { @@ -248,12 +247,12 @@ namespace tci.numberSlices=64; tci.numberStacks=8; - InitGizmoRenderable(GizmoShape::Torus,CreateTorus(gizmo_triangle.prim_creater,&tci),gizmo_triangle.pipeline); + InitGizmoMesh(GizmoShape::Torus,CreateTorus(gizmo_triangle.prim_creater,&tci),gizmo_triangle.pipeline); } ENUM_CLASS_FOR(GizmoShape,int,i) { - if(!gizmo_rederable[i].prim) + if(!gizmo_mesh[i].prim) return(false); } } @@ -280,23 +279,23 @@ bool InitGizmoResource(RenderResource *rr) if(!InitGizmoResource2D(device)) return(false); - InitGizmoMoveStaticMesh(); - InitGizmoScaleStaticMesh(); - InitGizmoRotateStaticMesh(); + InitGizmoMoveMesh(); + //InitGizmoScaleMesh(); + //InitGizmoRotateMesh(); return(true); } void FreeGizmoResource() { - ClearGizmoRotateStaticMesh(); - ClearGizmoScaleStaticMesh(); - ClearGizmoMoveStaticMesh(); + //ClearGizmoRotateMesh(); + //ClearGizmoScaleMesh(); + ClearGizmoMoveMesh(); - for(GizmoRenderable &gr:gizmo_rederable) + for(GizmoMesh &gr:gizmo_mesh) { SAFE_CLEAR(gr.prim) - SAFE_CLEAR_OBJECT_ARRAY(gr.renderable) + SAFE_CLEAR_OBJECT_ARRAY(gr.mesh) } SAFE_CLEAR(gizmo_triangle.prim_creater); @@ -306,7 +305,7 @@ void FreeGizmoResource() SAFE_CLEAR(gizmo_line.vdm); } -Mesh *GetGizmoRenderable(const GizmoShape &shape,const GizmoColor &color) +Mesh *GetGizmoMesh(const GizmoShape &shape,const GizmoColor &color) { if(!gizmo_rr) return(nullptr); @@ -314,10 +313,10 @@ Mesh *GetGizmoRenderable(const GizmoShape &shape,const GizmoColor &color) RANGE_CHECK_RETURN_NULLPTR(shape) RANGE_CHECK_RETURN_NULLPTR(color) - return gizmo_rederable[size_t(shape)].renderable[size_t(color)]; + return gizmo_mesh[size_t(shape)].mesh[size_t(color)]; } -StaticMesh *CreateGizmoStaticMesh(SceneNode *root_node) +Mesh *CreateGizmoMesh(SceneNode *root_node) { if(!root_node) return(nullptr); diff --git a/example/Gizmo/GizmoResource.h b/example/Gizmo/GizmoResource.h index a14ee585..d9e385d0 100644 --- a/example/Gizmo/GizmoResource.h +++ b/example/Gizmo/GizmoResource.h @@ -36,7 +36,7 @@ constexpr const float GIZMO_CYLINDER_OFFSET =GIZMO_CYLINDER_HALF_LENGTH+GIZM constexpr const float GIZMO_TWO_AXIS_OFFSET =5.0F; ///<二轴调节点偏移量(方片或圆) -Mesh *GetGizmoRenderable(const GizmoShape &gs,const GizmoColor &); +Mesh *GetGizmoMesh(const GizmoShape &gs,const GizmoColor &); StaticMeshComponent *CreateGizmoStaticMeshComponent(SceneNode *);