diff --git a/example/2dVector/line.cpp b/example/2dVector/line.cpp index 7ed9e56d..49114601 100644 --- a/example/2dVector/line.cpp +++ b/example/2dVector/line.cpp @@ -35,7 +35,7 @@ private: Camera cam; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; RenderableInstance *render_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_color_material =nullptr; diff --git a/example/Vulkan/Atomsphere.cpp b/example/Vulkan/Atomsphere.cpp index caeccb88..73ed802f 100644 --- a/example/Vulkan/Atomsphere.cpp +++ b/example/Vulkan/Atomsphere.cpp @@ -37,7 +37,7 @@ private: SceneNode render_root; RenderList render_list; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; Pipeline * pipeline_solid =nullptr; GPUBuffer * ubo_atomsphere =nullptr; diff --git a/example/Vulkan/DeferredModel.cpp b/example/Vulkan/DeferredModel.cpp index 5af299c6..46b2069b 100644 --- a/example/Vulkan/DeferredModel.cpp +++ b/example/Vulkan/DeferredModel.cpp @@ -70,7 +70,7 @@ private: struct SubpassParam { Material * material; - MaterialInstance * material_instance; + MaterialParameters * material_instance; Pipeline * pipeline_fan; Pipeline * pipeline_triangles; };// diff --git a/example/Vulkan/DrawText.cpp b/example/Vulkan/DrawText.cpp index e04f9531..0a8989cc 100644 --- a/example/Vulkan/DrawText.cpp +++ b/example/Vulkan/DrawText.cpp @@ -27,7 +27,7 @@ class TestApp:public VulkanApplicationFramework private: Sampler * sampler =nullptr; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_color =nullptr; diff --git a/example/Vulkan/DrawTile.cpp b/example/Vulkan/DrawTile.cpp index 8281779c..0e57725a 100644 --- a/example/Vulkan/DrawTile.cpp +++ b/example/Vulkan/DrawTile.cpp @@ -39,7 +39,7 @@ class TestApp:public VulkanApplicationFramework private: Sampler * sampler =nullptr; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; Renderable * render_obj =nullptr; RenderableInstance *render_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; diff --git a/example/Vulkan/FragCoordTest.cpp b/example/Vulkan/FragCoordTest.cpp index 8a1d4272..2ebf7659 100644 --- a/example/Vulkan/FragCoordTest.cpp +++ b/example/Vulkan/FragCoordTest.cpp @@ -26,7 +26,7 @@ private: Camera cam; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; RenderableInstance *renderable_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; diff --git a/example/Vulkan/Geometry2D.cpp b/example/Vulkan/Geometry2D.cpp index 0c568447..d588e94c 100644 --- a/example/Vulkan/Geometry2D.cpp +++ b/example/Vulkan/Geometry2D.cpp @@ -29,7 +29,7 @@ private: RenderList render_list; Material * material =nullptr; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; Renderable * ro_rectangle =nullptr; Renderable * ro_circle =nullptr; diff --git a/example/Vulkan/Geometry3D.cpp b/example/Vulkan/Geometry3D.cpp index 9375b7a9..d43b562e 100644 --- a/example/Vulkan/Geometry3D.cpp +++ b/example/Vulkan/Geometry3D.cpp @@ -27,7 +27,7 @@ private: struct MDP { Material * material =nullptr; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; Pipeline * pipeline =nullptr; }m3d,m2d; diff --git a/example/Vulkan/HQFilterTexture.cpp b/example/Vulkan/HQFilterTexture.cpp index 18931472..cdfc6103 100644 --- a/example/Vulkan/HQFilterTexture.cpp +++ b/example/Vulkan/HQFilterTexture.cpp @@ -54,7 +54,7 @@ private: struct MIR { - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; RenderableInstance *renderable_instance =nullptr; }mir_nearest,mir_linear,mir_nearest_hq,mir_linear_hq; diff --git a/example/Vulkan/InlineGeometryScene.cpp b/example/Vulkan/InlineGeometryScene.cpp index 4f2c266d..f94d4f29 100644 --- a/example/Vulkan/InlineGeometryScene.cpp +++ b/example/Vulkan/InlineGeometryScene.cpp @@ -41,10 +41,10 @@ private: RenderList render_list; Material * material =nullptr; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; Material * axis_material =nullptr; - MaterialInstance * axis_mi =nullptr; + MaterialParameters * axis_mi =nullptr; PipelineData * pipeline_data =nullptr; Pipeline * axis_pipeline =nullptr; diff --git a/example/Vulkan/OffscreenRender.cpp b/example/Vulkan/OffscreenRender.cpp index 87b190ab..f63d1db4 100644 --- a/example/Vulkan/OffscreenRender.cpp +++ b/example/Vulkan/OffscreenRender.cpp @@ -15,7 +15,7 @@ class TestApp:public CameraAppFramework { Camera cam; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; }; diff --git a/example/Vulkan/RectanglePrimitive.cpp b/example/Vulkan/RectanglePrimitive.cpp index 359f1977..f93d3393 100644 --- a/example/Vulkan/RectanglePrimitive.cpp +++ b/example/Vulkan/RectanglePrimitive.cpp @@ -38,7 +38,7 @@ private: Texture2D * texture =nullptr; Sampler * sampler =nullptr; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; Renderable * render_obj =nullptr; RenderableInstance *render_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; diff --git a/example/Vulkan/first_triangle.cpp b/example/Vulkan/first_triangle.cpp index 5bab7742..bc92a12b 100644 --- a/example/Vulkan/first_triangle.cpp +++ b/example/Vulkan/first_triangle.cpp @@ -33,7 +33,7 @@ private: Camera cam; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; RenderableInstance *render_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; diff --git a/example/Vulkan/indices_rect.cpp b/example/Vulkan/indices_rect.cpp index dd7c27e3..2aa4a2da 100644 --- a/example/Vulkan/indices_rect.cpp +++ b/example/Vulkan/indices_rect.cpp @@ -36,7 +36,7 @@ private: Camera cam; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; RenderableInstance *renderable_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; diff --git a/example/Vulkan/texture_rect.cpp b/example/Vulkan/texture_rect.cpp index 0e90df3c..bc6aba39 100644 --- a/example/Vulkan/texture_rect.cpp +++ b/example/Vulkan/texture_rect.cpp @@ -51,7 +51,7 @@ private: Texture2D * texture =nullptr; Sampler * sampler =nullptr; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; RenderableInstance *renderable_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; Pipeline * pipeline =nullptr; diff --git a/example/Vulkan/two_triangle.cpp b/example/Vulkan/two_triangle.cpp index cbe2858f..e278af4e 100644 --- a/example/Vulkan/two_triangle.cpp +++ b/example/Vulkan/two_triangle.cpp @@ -36,7 +36,7 @@ private: SceneNode render_root; RenderList render_list; - MaterialInstance * material_instance =nullptr; + MaterialParameters * material_instance =nullptr; RenderableInstance *render_instance =nullptr; GPUBuffer * ubo_camera_info =nullptr; diff --git a/inc/hgl/graph/RenderList.h b/inc/hgl/graph/RenderList.h index e5951f22..8bdc97ea 100644 --- a/inc/hgl/graph/RenderList.h +++ b/inc/hgl/graph/RenderList.h @@ -36,7 +36,7 @@ namespace hgl private: Pipeline * last_pipeline; - MaterialInstance * last_mi; + MaterialParameters * last_mi; uint32_t last_vbo; void Render(RenderableInstance *); diff --git a/inc/hgl/graph/SceneTreeToRenderList.h b/inc/hgl/graph/SceneTreeToRenderList.h index 4b1bb446..d197cab3 100644 --- a/inc/hgl/graph/SceneTreeToRenderList.h +++ b/inc/hgl/graph/SceneTreeToRenderList.h @@ -20,7 +20,7 @@ namespace hgl { using PipelineSets =Sets; using MaterialSets =Sets; - using MatInstSets =Sets; + using MatInstSets =Sets; protected: diff --git a/inc/hgl/graph/VK.h b/inc/hgl/graph/VK.h index 798c51ad..84be6bfa 100644 --- a/inc/hgl/graph/VK.h +++ b/inc/hgl/graph/VK.h @@ -62,7 +62,7 @@ class ShaderResource; class ShaderModule; class VertexShaderModule; class Material; -class MaterialInstance; +class MaterialParameters; class PipelineLayout; struct PipelineData; enum class InlinePipeline; diff --git a/inc/hgl/graph/VKMaterial.h b/inc/hgl/graph/VKMaterial.h index c6d408b9..fa40d263 100644 --- a/inc/hgl/graph/VKMaterial.h +++ b/inc/hgl/graph/VKMaterial.h @@ -75,7 +75,7 @@ public: public: - MaterialInstance * CreateInstance (); + MaterialParameters * CreateInstance (); };//class Material VK_NAMESPACE_END #endif//HGL_GRAPH_VULKAN_MATERIAL_INCLUDE diff --git a/inc/hgl/graph/VKMaterialInstance.h b/inc/hgl/graph/VKMaterialInstance.h index 1734c209..d5a29023 100644 --- a/inc/hgl/graph/VKMaterialInstance.h +++ b/inc/hgl/graph/VKMaterialInstance.h @@ -1,35 +1,48 @@ -#ifndef HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE -#define HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE +#ifndef HGL_GRAPH_VULKAN_MATERIAL_PARAMETERS_INCLUDE +#define HGL_GRAPH_VULKAN_MATERIAL_PARAMETERS_INCLUDE #include #include VK_NAMESPACE_BEGIN -class MaterialInstance +class MaterialParameters { Material *material; + DescriptorSetsType ds_type; + DescriptorSets *descriptor_sets; private: friend class Material; - MaterialInstance(Material *,DescriptorSets *); + MaterialParameters(Material *,const DescriptorSetsType &type,DescriptorSets *); public: - Material * GetMaterial (){return material;} - DescriptorSets *GetDescriptorSets (){return descriptor_sets;} + Material * GetMaterial (){return material;} + const DescriptorSetsType GetType (){return ds_type;} + DescriptorSets * GetDescriptorSets(){return descriptor_sets;} public: - ~MaterialInstance(); + #define MP_TYPE_IS(name) const bool is##name()const{return ds_type==DescriptorSetsType::name;} + MP_TYPE_IS(Material) + MP_TYPE_IS(Texture) + MP_TYPE_IS(Values) + MP_TYPE_IS(Renderable) + MP_TYPE_IS(Global) + #undef MP_TYPE_IS + +public: + + virtual ~MaterialParameters(); bool BindUBO(const AnsiString &name,GPUBuffer *ubo,bool dynamic=false); bool BindSSBO(const AnsiString &name,GPUBuffer *ubo,bool dynamic=false); bool BindSampler(const AnsiString &name,Texture *tex,Sampler *sampler); void Update(); -};//class MaterialInstance +};//class MaterialParameters VK_NAMESPACE_END -#endif//HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE \ No newline at end of file +#endif//HGL_GRAPH_VULKAN_MATERIAL_PARAMETERS_INCLUDE \ No newline at end of file diff --git a/inc/hgl/graph/VKRenderResource.h b/inc/hgl/graph/VKRenderResource.h index 360fdbc6..e2750c55 100644 --- a/inc/hgl/graph/VKRenderResource.h +++ b/inc/hgl/graph/VKRenderResource.h @@ -37,7 +37,7 @@ class RenderResource Map texture_by_name; IDResManage rm_material; ///<材质合集 - IDResManage rm_material_instance; ///<材质实例合集 + IDResManage rm_material_instance; ///<材质实例合集 IDResManage rm_desc_sets; ///<描述符合集 IDResManage rm_renderables; ///<可渲染对象合集 IDResManage rm_buffers; ///<顶点缓冲区合集 @@ -53,7 +53,7 @@ public: public: //Add MaterialID Add(Material * mtl ){return rm_material.Add(mtl);} - MaterialInstanceID Add(MaterialInstance * mi ){return rm_material_instance.Add(mi);} + MaterialInstanceID Add(MaterialParameters * mi ){return rm_material_instance.Add(mi);} DescriptorSetsID Add(DescriptorSets * ds ){return rm_desc_sets.Add(ds);} RenderableID Add(Renderable * r ){return rm_renderables.Add(r);} BufferID Add(GPUBuffer * buf ){return rm_buffers.Add(buf);} @@ -93,13 +93,13 @@ public: //Material Material * CreateMaterial(const UTF8String &mtl_name,const OSString &vertex_shader_filename,const OSString &geometry_shader_filename,const OSString &fragment_shader_filename); Material * CreateMaterial(const OSString &); - MaterialInstance * CreateMaterialInstance(Material *); - MaterialInstance * CreateMaterialInstance(const OSString &); + MaterialParameters * CreateMaterialInstance(Material *); + MaterialParameters * CreateMaterialInstance(const OSString &); Renderable * CreateRenderable(const uint32_t vertex_count=0); TextRenderable * CreateTextRenderable(Material *); - RenderableInstance *CreateRenderableInstance(Renderable *r,MaterialInstance *mi,Pipeline *p); + RenderableInstance *CreateRenderableInstance(Renderable *r,MaterialParameters *mi,Pipeline *p); Sampler * CreateSampler(VkSamplerCreateInfo *sci=nullptr); @@ -110,7 +110,7 @@ public: //texture public: //Get Material * GetMaterial (const MaterialID &id){return rm_material.Get(id);} - MaterialInstance * GetMaterialInstance (const MaterialInstanceID &id){return rm_material_instance.Get(id);} + MaterialParameters * GetMaterialInstance (const MaterialInstanceID &id){return rm_material_instance.Get(id);} DescriptorSets * GetDescSets (const DescriptorSetsID &id){return rm_desc_sets.Get(id);} Renderable * GetRenderable (const RenderableID &id){return rm_renderables.Get(id);} GPUBuffer * GetBuffer (const BufferID &id){return rm_buffers.Get(id);} diff --git a/inc/hgl/graph/VKRenderableInstance.h b/inc/hgl/graph/VKRenderableInstance.h index 811dd2b5..54ab07f2 100644 --- a/inc/hgl/graph/VKRenderableInstance.h +++ b/inc/hgl/graph/VKRenderableInstance.h @@ -13,7 +13,7 @@ VK_NAMESPACE_BEGIN class RenderableInstance ///可渲染对象实例 { Pipeline * pipeline; - MaterialInstance * mat_inst; + MaterialParameters * mat_inst; Renderable * render_obj; DescriptorSets * descriptor_sets; ///<渲染实例专用描述符合集,一般用于存LocalToWorld等等 @@ -26,16 +26,16 @@ class RenderableInstance private: - friend RenderableInstance *CreateRenderableInstance(Renderable *,MaterialInstance *,Pipeline *); + friend RenderableInstance *CreateRenderableInstance(Renderable *,MaterialParameters *,Pipeline *); - RenderableInstance(Renderable *,MaterialInstance *,Pipeline *,const uint32_t,VkBuffer *,VkDeviceSize *); + RenderableInstance(Renderable *,MaterialParameters *,Pipeline *,const uint32_t,VkBuffer *,VkDeviceSize *); public: virtual ~RenderableInstance(); Pipeline * GetPipeline (){return pipeline;} - MaterialInstance * GetMaterialInstance (){return mat_inst;} + MaterialParameters * GetMaterialInstance (){return mat_inst;} Renderable * GetRenderable (){return render_obj;} const AABB & GetBoundingBox ()const{return render_obj->GetBoundingBox();} @@ -95,6 +95,6 @@ public: CompOperator(const RenderableInstance *,Comp) };//class RenderableInstance -RenderableInstance *CreateRenderableInstance(Renderable *,MaterialInstance *,Pipeline *); +RenderableInstance *CreateRenderableInstance(Renderable *,MaterialParameters *,Pipeline *); VK_NAMESPACE_END #endif//HGL_GRAPH_RENDERABLE_INSTANCE_INCLUDE diff --git a/inc/hgl/graph/shader/ShaderResource.h b/inc/hgl/graph/shader/ShaderResource.h index a8775bd1..123f4d62 100644 --- a/inc/hgl/graph/shader/ShaderResource.h +++ b/inc/hgl/graph/shader/ShaderResource.h @@ -55,11 +55,11 @@ enum class DescriptorSetsType { //设计使其对应shader中的sets - Material=0, ///<材质中永远不变的参数 - MaterialTexture, ///<材质中的纹理参数 - MaterialValues, ///<材质中的变量参数 - RenderableInstance, ///<渲染实例参数 - Global, ///<全局参数 + Material=0, ///<材质中永远不变的参数 + Texture, ///<材质中的纹理参数 + Values, ///<材质中的变量参数 + Renderable, ///<渲染实例参数(如Local2World matrix) + Global, ///<全局参数(如太阳光等) };// #ifndef VK_DESCRIPTOR_TYPE_BEGIN_RANGE diff --git a/src/SceneGraph/RenderList.cpp b/src/SceneGraph/RenderList.cpp index ac43901d..cf892bce 100644 --- a/src/SceneGraph/RenderList.cpp +++ b/src/SceneGraph/RenderList.cpp @@ -44,7 +44,7 @@ namespace hgl } { - MaterialInstance *mi=ri->GetMaterialInstance(); + MaterialParameters *mi=ri->GetMaterialInstance(); if(mi!=last_mi) { diff --git a/src/SceneGraph/SceneTreeToRenderList.cpp b/src/SceneGraph/SceneTreeToRenderList.cpp index 29bbf424..86b110c8 100644 --- a/src/SceneGraph/SceneTreeToRenderList.cpp +++ b/src/SceneGraph/SceneTreeToRenderList.cpp @@ -18,8 +18,8 @@ int Comparator::compare(const RenderNodePointer &obj_one,cons int off; //比较材质 - hgl::graph::MaterialInstance *mi1=obj_one->ri->GetMaterialInstance(); - hgl::graph::MaterialInstance *mi2=obj_two->ri->GetMaterialInstance(); + hgl::graph::MaterialParameters *mi1=obj_one->ri->GetMaterialInstance(); + hgl::graph::MaterialParameters *mi2=obj_two->ri->GetMaterialInstance(); off=mi1->GetMaterial()-mi2->GetMaterial(); diff --git a/src/SceneGraph/Vulkan/VKMaterialInstance.cpp b/src/SceneGraph/Vulkan/VKMaterialInstance.cpp index 05f7f2bc..c69a270b 100644 --- a/src/SceneGraph/Vulkan/VKMaterialInstance.cpp +++ b/src/SceneGraph/Vulkan/VKMaterialInstance.cpp @@ -4,18 +4,18 @@ #include VK_NAMESPACE_BEGIN -MaterialInstance::MaterialInstance(Material *m,DescriptorSets *ds) +MaterialParameters::MaterialParameters(Material *m,DescriptorSets *ds) { material=m; descriptor_sets=ds; } -MaterialInstance::~MaterialInstance() +MaterialParameters::~MaterialParameters() { delete descriptor_sets; } -bool MaterialInstance::BindUBO(const AnsiString &name,GPUBuffer *ubo,bool dynamic) +bool MaterialParameters::BindUBO(const AnsiString &name,GPUBuffer *ubo,bool dynamic) { if(name.IsEmpty()||!ubo) return(false); @@ -31,7 +31,7 @@ bool MaterialInstance::BindUBO(const AnsiString &name,GPUBuffer *ubo,bool dynami return(true); } -bool MaterialInstance::BindSSBO(const AnsiString &name,GPUBuffer *ssbo,bool dynamic) +bool MaterialParameters::BindSSBO(const AnsiString &name,GPUBuffer *ssbo,bool dynamic) { if(name.IsEmpty()||!ssbo) return(false); @@ -47,7 +47,7 @@ bool MaterialInstance::BindSSBO(const AnsiString &name,GPUBuffer *ssbo,bool dyna return(true); } -bool MaterialInstance::BindSampler(const AnsiString &name,Texture *tex,Sampler *sampler) +bool MaterialParameters::BindSampler(const AnsiString &name,Texture *tex,Sampler *sampler) { if(name.IsEmpty()||!tex||!sampler) return(false); @@ -63,17 +63,17 @@ bool MaterialInstance::BindSampler(const AnsiString &name,Texture *tex,Sampler * return(true); } -void MaterialInstance::Update() +void MaterialParameters::Update() { descriptor_sets->Update(); } -MaterialInstance *Material::CreateInstance() +MaterialParameters *Material::CreateInstance() { DescriptorSets *ds=CreateMIDescriptorSets(); if(!ds)return(nullptr); - return(new MaterialInstance(this,ds)); + return(new MaterialParameters(this,ds)); } VK_NAMESPACE_END \ No newline at end of file diff --git a/src/SceneGraph/Vulkan/VKRenderResource.cpp b/src/SceneGraph/Vulkan/VKRenderResource.cpp index 64b2189d..ddc79bc6 100644 --- a/src/SceneGraph/Vulkan/VKRenderResource.cpp +++ b/src/SceneGraph/Vulkan/VKRenderResource.cpp @@ -50,11 +50,11 @@ IndexBuffer *RenderResource::CreateIBO(IndexType index_type,uint32_t count,const return(buf); } -MaterialInstance *RenderResource::CreateMaterialInstance(Material *mtl) +MaterialParameters *RenderResource::CreateMaterialInstance(Material *mtl) { if(!mtl)return(nullptr); - MaterialInstance *mi=mtl->CreateInstance(); + MaterialParameters *mi=mtl->CreateInstance(); if(mi) Add(mi); @@ -62,7 +62,7 @@ MaterialInstance *RenderResource::CreateMaterialInstance(Material *mtl) return mi; } -MaterialInstance *RenderResource::CreateMaterialInstance(const OSString &mtl_filename) +MaterialParameters *RenderResource::CreateMaterialInstance(const OSString &mtl_filename) { Material *mtl=this->CreateMaterial(mtl_filename); @@ -96,7 +96,7 @@ TextRenderable *RenderResource::CreateTextRenderable(Material *mtl) return tr; } -RenderableInstance *RenderResource::CreateRenderableInstance(Renderable *r,MaterialInstance *mi,Pipeline *p) +RenderableInstance *RenderResource::CreateRenderableInstance(Renderable *r,MaterialParameters *mi,Pipeline *p) { if(!p||!mi||!r) return(nullptr); diff --git a/src/SceneGraph/Vulkan/VKRenderTargetPipeline.cpp b/src/SceneGraph/Vulkan/VKRenderTargetPipeline.cpp index d60035ba..c7f3edea 100644 --- a/src/SceneGraph/Vulkan/VKRenderTargetPipeline.cpp +++ b/src/SceneGraph/Vulkan/VKRenderTargetPipeline.cpp @@ -21,7 +21,7 @@ Pipeline *RenderTarget::CreatePipeline(Material *mtl,const InlinePipeline &ip,co return p; } -Pipeline *RenderTarget::CreatePipeline(MaterialInstance *mi,const InlinePipeline &ip,const Prim &prim,const bool prim_restart) +Pipeline *RenderTarget::CreatePipeline(MaterialParameters *mi,const InlinePipeline &ip,const Prim &prim,const bool prim_restart) { if(!mi)return(nullptr); @@ -40,7 +40,7 @@ Pipeline *RenderTarget::CreatePipeline(Material *mtl,PipelineData *pd,const Prim return(p); } -Pipeline *RenderTarget::CreatePipeline(MaterialInstance *mi,PipelineData *pd,const Prim &prim,const bool prim_restart) +Pipeline *RenderTarget::CreatePipeline(MaterialParameters *mi,PipelineData *pd,const Prim &prim,const bool prim_restart) { return CreatePipeline(mi->GetMaterial(),pd,prim,prim_restart); } @@ -54,7 +54,7 @@ Pipeline *RenderTarget::CreatePipeline(Material *mtl,const OSString &pipeline_fi return CreatePipeline(mtl,pd,prim,prim_restart); } -Pipeline *RenderTarget::CreatePipeline(MaterialInstance *mi,const OSString &filename,const Prim &prim,const bool prim_restart) +Pipeline *RenderTarget::CreatePipeline(MaterialParameters *mi,const OSString &filename,const Prim &prim,const bool prim_restart) { return CreatePipeline(mi->GetMaterial(),filename,prim,prim_restart); } diff --git a/src/SceneGraph/Vulkan/VKRenderableInstance.cpp b/src/SceneGraph/Vulkan/VKRenderableInstance.cpp index 59a8c52b..0350deac 100644 --- a/src/SceneGraph/Vulkan/VKRenderableInstance.cpp +++ b/src/SceneGraph/Vulkan/VKRenderableInstance.cpp @@ -8,7 +8,7 @@ VK_NAMESPACE_BEGIN using namespace util; -RenderableInstance::RenderableInstance(Renderable *r,MaterialInstance *mi,Pipeline *p,const uint32_t count,VkBuffer *bl,VkDeviceSize *bs) +RenderableInstance::RenderableInstance(Renderable *r,MaterialParameters *mi,Pipeline *p,const uint32_t count,VkBuffer *bl,VkDeviceSize *bs) { render_obj=r; mat_inst=mi; @@ -35,7 +35,7 @@ RenderableInstance::~RenderableInstance() delete[] buffer_size; } -RenderableInstance *CreateRenderableInstance(Renderable *r,MaterialInstance *mi,Pipeline *p) +RenderableInstance *CreateRenderableInstance(Renderable *r,MaterialParameters *mi,Pipeline *p) { if(!r||!mi||!p)return(nullptr);