renamed MaterialInstance to MaterialParameters.

This commit is contained in:
hyzboy 2021-06-16 10:41:04 +08:00
parent 0f42ab3987
commit bc8848afa6
30 changed files with 79 additions and 66 deletions

View File

@ -35,7 +35,7 @@ private:
Camera cam; Camera cam;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
RenderableInstance *render_instance =nullptr; RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;
GPUBuffer * ubo_color_material =nullptr; GPUBuffer * ubo_color_material =nullptr;

View File

@ -37,7 +37,7 @@ private:
SceneNode render_root; SceneNode render_root;
RenderList render_list; RenderList render_list;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
Pipeline * pipeline_solid =nullptr; Pipeline * pipeline_solid =nullptr;
GPUBuffer * ubo_atomsphere =nullptr; GPUBuffer * ubo_atomsphere =nullptr;

View File

@ -70,7 +70,7 @@ private:
struct SubpassParam struct SubpassParam
{ {
Material * material; Material * material;
MaterialInstance * material_instance; MaterialParameters * material_instance;
Pipeline * pipeline_fan; Pipeline * pipeline_fan;
Pipeline * pipeline_triangles; Pipeline * pipeline_triangles;
};// };//

View File

@ -27,7 +27,7 @@ class TestApp:public VulkanApplicationFramework
private: private:
Sampler * sampler =nullptr; Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;
GPUBuffer * ubo_color =nullptr; GPUBuffer * ubo_color =nullptr;

View File

@ -39,7 +39,7 @@ class TestApp:public VulkanApplicationFramework
private: private:
Sampler * sampler =nullptr; Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
Renderable * render_obj =nullptr; Renderable * render_obj =nullptr;
RenderableInstance *render_instance =nullptr; RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;

View File

@ -26,7 +26,7 @@ private:
Camera cam; Camera cam;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr; RenderableInstance *renderable_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;

View File

@ -29,7 +29,7 @@ private:
RenderList render_list; RenderList render_list;
Material * material =nullptr; Material * material =nullptr;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
Renderable * ro_rectangle =nullptr; Renderable * ro_rectangle =nullptr;
Renderable * ro_circle =nullptr; Renderable * ro_circle =nullptr;

View File

@ -27,7 +27,7 @@ private:
struct MDP struct MDP
{ {
Material * material =nullptr; Material * material =nullptr;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
Pipeline * pipeline =nullptr; Pipeline * pipeline =nullptr;
}m3d,m2d; }m3d,m2d;

View File

@ -54,7 +54,7 @@ private:
struct MIR struct MIR
{ {
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr; RenderableInstance *renderable_instance =nullptr;
}mir_nearest,mir_linear,mir_nearest_hq,mir_linear_hq; }mir_nearest,mir_linear,mir_nearest_hq,mir_linear_hq;

View File

@ -41,10 +41,10 @@ private:
RenderList render_list; RenderList render_list;
Material * material =nullptr; Material * material =nullptr;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
Material * axis_material =nullptr; Material * axis_material =nullptr;
MaterialInstance * axis_mi =nullptr; MaterialParameters * axis_mi =nullptr;
PipelineData * pipeline_data =nullptr; PipelineData * pipeline_data =nullptr;
Pipeline * axis_pipeline =nullptr; Pipeline * axis_pipeline =nullptr;

View File

@ -15,7 +15,7 @@ class TestApp:public CameraAppFramework
{ {
Camera cam; Camera cam;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;
}; };

View File

@ -38,7 +38,7 @@ private:
Texture2D * texture =nullptr; Texture2D * texture =nullptr;
Sampler * sampler =nullptr; Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
Renderable * render_obj =nullptr; Renderable * render_obj =nullptr;
RenderableInstance *render_instance =nullptr; RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;

View File

@ -33,7 +33,7 @@ private:
Camera cam; Camera cam;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
RenderableInstance *render_instance =nullptr; RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;

View File

@ -36,7 +36,7 @@ private:
Camera cam; Camera cam;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr; RenderableInstance *renderable_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;

View File

@ -51,7 +51,7 @@ private:
Texture2D * texture =nullptr; Texture2D * texture =nullptr;
Sampler * sampler =nullptr; Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr; RenderableInstance *renderable_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;
Pipeline * pipeline =nullptr; Pipeline * pipeline =nullptr;

View File

@ -36,7 +36,7 @@ private:
SceneNode render_root; SceneNode render_root;
RenderList render_list; RenderList render_list;
MaterialInstance * material_instance =nullptr; MaterialParameters * material_instance =nullptr;
RenderableInstance *render_instance =nullptr; RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr; GPUBuffer * ubo_camera_info =nullptr;

View File

@ -36,7 +36,7 @@ namespace hgl
private: private:
Pipeline * last_pipeline; Pipeline * last_pipeline;
MaterialInstance * last_mi; MaterialParameters * last_mi;
uint32_t last_vbo; uint32_t last_vbo;
void Render(RenderableInstance *); void Render(RenderableInstance *);

View File

@ -20,7 +20,7 @@ namespace hgl
{ {
using PipelineSets =Sets<Pipeline *>; using PipelineSets =Sets<Pipeline *>;
using MaterialSets =Sets<Material *>; using MaterialSets =Sets<Material *>;
using MatInstSets =Sets<MaterialInstance *>; using MatInstSets =Sets<MaterialParameters *>;
protected: protected:

View File

@ -62,7 +62,7 @@ class ShaderResource;
class ShaderModule; class ShaderModule;
class VertexShaderModule; class VertexShaderModule;
class Material; class Material;
class MaterialInstance; class MaterialParameters;
class PipelineLayout; class PipelineLayout;
struct PipelineData; struct PipelineData;
enum class InlinePipeline; enum class InlinePipeline;

View File

@ -75,7 +75,7 @@ public:
public: public:
MaterialInstance * CreateInstance (); MaterialParameters * CreateInstance ();
};//class Material };//class Material
VK_NAMESPACE_END VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_MATERIAL_INCLUDE #endif//HGL_GRAPH_VULKAN_MATERIAL_INCLUDE

View File

@ -1,35 +1,48 @@
#ifndef HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE #ifndef HGL_GRAPH_VULKAN_MATERIAL_PARAMETERS_INCLUDE
#define HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE #define HGL_GRAPH_VULKAN_MATERIAL_PARAMETERS_INCLUDE
#include<hgl/graph/VK.h> #include<hgl/graph/VK.h>
#include<hgl/type/String.h> #include<hgl/type/String.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
class MaterialInstance class MaterialParameters
{ {
Material *material; Material *material;
DescriptorSetsType ds_type;
DescriptorSets *descriptor_sets; DescriptorSets *descriptor_sets;
private: private:
friend class Material; friend class Material;
MaterialInstance(Material *,DescriptorSets *); MaterialParameters(Material *,const DescriptorSetsType &type,DescriptorSets *);
public: public:
Material * GetMaterial (){return material;} Material * GetMaterial (){return material;}
DescriptorSets *GetDescriptorSets (){return descriptor_sets;} const DescriptorSetsType GetType (){return ds_type;}
DescriptorSets * GetDescriptorSets(){return descriptor_sets;}
public: 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 BindUBO(const AnsiString &name,GPUBuffer *ubo,bool dynamic=false);
bool BindSSBO(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); bool BindSampler(const AnsiString &name,Texture *tex,Sampler *sampler);
void Update(); void Update();
};//class MaterialInstance };//class MaterialParameters
VK_NAMESPACE_END VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE #endif//HGL_GRAPH_VULKAN_MATERIAL_PARAMETERS_INCLUDE

View File

@ -37,7 +37,7 @@ class RenderResource
Map<OSString,Texture *> texture_by_name; Map<OSString,Texture *> texture_by_name;
IDResManage<MaterialID, Material> rm_material; ///<材质合集 IDResManage<MaterialID, Material> rm_material; ///<材质合集
IDResManage<MaterialInstanceID, MaterialInstance> rm_material_instance; ///<材质实例合集 IDResManage<MaterialInstanceID, MaterialParameters> rm_material_instance; ///<材质实例合集
IDResManage<DescriptorSetsID, DescriptorSets> rm_desc_sets; ///<描述符合集 IDResManage<DescriptorSetsID, DescriptorSets> rm_desc_sets; ///<描述符合集
IDResManage<RenderableID, Renderable> rm_renderables; ///<可渲染对象合集 IDResManage<RenderableID, Renderable> rm_renderables; ///<可渲染对象合集
IDResManage<BufferID, GPUBuffer> rm_buffers; ///<顶点缓冲区合集 IDResManage<BufferID, GPUBuffer> rm_buffers; ///<顶点缓冲区合集
@ -53,7 +53,7 @@ public:
public: //Add public: //Add
MaterialID Add(Material * mtl ){return rm_material.Add(mtl);} 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);} DescriptorSetsID Add(DescriptorSets * ds ){return rm_desc_sets.Add(ds);}
RenderableID Add(Renderable * r ){return rm_renderables.Add(r);} RenderableID Add(Renderable * r ){return rm_renderables.Add(r);}
BufferID Add(GPUBuffer * buf ){return rm_buffers.Add(buf);} 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 UTF8String &mtl_name,const OSString &vertex_shader_filename,const OSString &geometry_shader_filename,const OSString &fragment_shader_filename);
Material * CreateMaterial(const OSString &); Material * CreateMaterial(const OSString &);
MaterialInstance * CreateMaterialInstance(Material *); MaterialParameters * CreateMaterialInstance(Material *);
MaterialInstance * CreateMaterialInstance(const OSString &); MaterialParameters * CreateMaterialInstance(const OSString &);
Renderable * CreateRenderable(const uint32_t vertex_count=0); Renderable * CreateRenderable(const uint32_t vertex_count=0);
TextRenderable * CreateTextRenderable(Material *); TextRenderable * CreateTextRenderable(Material *);
RenderableInstance *CreateRenderableInstance(Renderable *r,MaterialInstance *mi,Pipeline *p); RenderableInstance *CreateRenderableInstance(Renderable *r,MaterialParameters *mi,Pipeline *p);
Sampler * CreateSampler(VkSamplerCreateInfo *sci=nullptr); Sampler * CreateSampler(VkSamplerCreateInfo *sci=nullptr);
@ -110,7 +110,7 @@ public: //texture
public: //Get public: //Get
Material * GetMaterial (const MaterialID &id){return rm_material.Get(id);} 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);} DescriptorSets * GetDescSets (const DescriptorSetsID &id){return rm_desc_sets.Get(id);}
Renderable * GetRenderable (const RenderableID &id){return rm_renderables.Get(id);} Renderable * GetRenderable (const RenderableID &id){return rm_renderables.Get(id);}
GPUBuffer * GetBuffer (const BufferID &id){return rm_buffers.Get(id);} GPUBuffer * GetBuffer (const BufferID &id){return rm_buffers.Get(id);}

View File

@ -13,7 +13,7 @@ VK_NAMESPACE_BEGIN
class RenderableInstance ///可渲染对象实例 class RenderableInstance ///可渲染对象实例
{ {
Pipeline * pipeline; Pipeline * pipeline;
MaterialInstance * mat_inst; MaterialParameters * mat_inst;
Renderable * render_obj; Renderable * render_obj;
DescriptorSets * descriptor_sets; ///<渲染实例专用描述符合集一般用于存LocalToWorld等等 DescriptorSets * descriptor_sets; ///<渲染实例专用描述符合集一般用于存LocalToWorld等等
@ -26,16 +26,16 @@ class RenderableInstance
private: 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: public:
virtual ~RenderableInstance(); virtual ~RenderableInstance();
Pipeline * GetPipeline (){return pipeline;} Pipeline * GetPipeline (){return pipeline;}
MaterialInstance * GetMaterialInstance (){return mat_inst;} MaterialParameters * GetMaterialInstance (){return mat_inst;}
Renderable * GetRenderable (){return render_obj;} Renderable * GetRenderable (){return render_obj;}
const AABB & GetBoundingBox ()const{return render_obj->GetBoundingBox();} const AABB & GetBoundingBox ()const{return render_obj->GetBoundingBox();}
@ -95,6 +95,6 @@ public:
CompOperator(const RenderableInstance *,Comp) CompOperator(const RenderableInstance *,Comp)
};//class RenderableInstance };//class RenderableInstance
RenderableInstance *CreateRenderableInstance(Renderable *,MaterialInstance *,Pipeline *); RenderableInstance *CreateRenderableInstance(Renderable *,MaterialParameters *,Pipeline *);
VK_NAMESPACE_END VK_NAMESPACE_END
#endif//HGL_GRAPH_RENDERABLE_INSTANCE_INCLUDE #endif//HGL_GRAPH_RENDERABLE_INSTANCE_INCLUDE

View File

@ -55,11 +55,11 @@ enum class DescriptorSetsType
{ {
//设计使其对应shader中的sets //设计使其对应shader中的sets
Material=0, ///<材质中永远不变的参数 Material=0, ///<材质中永远不变的参数
MaterialTexture, ///<材质中的纹理参数 Texture, ///<材质中的纹理参数
MaterialValues, ///<材质中的变量参数 Values, ///<材质中的变量参数
RenderableInstance, ///<渲染实例参数 Renderable, ///<渲染实例参数(如Local2World matrix)
Global, ///<全局参数 Global, ///<全局参数(如太阳光等)
};// };//
#ifndef VK_DESCRIPTOR_TYPE_BEGIN_RANGE #ifndef VK_DESCRIPTOR_TYPE_BEGIN_RANGE

View File

@ -44,7 +44,7 @@ namespace hgl
} }
{ {
MaterialInstance *mi=ri->GetMaterialInstance(); MaterialParameters *mi=ri->GetMaterialInstance();
if(mi!=last_mi) if(mi!=last_mi)
{ {

View File

@ -18,8 +18,8 @@ int Comparator<RenderNodePointer>::compare(const RenderNodePointer &obj_one,cons
int off; int off;
//比较材质 //比较材质
hgl::graph::MaterialInstance *mi1=obj_one->ri->GetMaterialInstance(); hgl::graph::MaterialParameters *mi1=obj_one->ri->GetMaterialInstance();
hgl::graph::MaterialInstance *mi2=obj_two->ri->GetMaterialInstance(); hgl::graph::MaterialParameters *mi2=obj_two->ri->GetMaterialInstance();
off=mi1->GetMaterial()-mi2->GetMaterial(); off=mi1->GetMaterial()-mi2->GetMaterial();

View File

@ -4,18 +4,18 @@
#include<hgl/graph/VKDescriptorSets.h> #include<hgl/graph/VKDescriptorSets.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
MaterialInstance::MaterialInstance(Material *m,DescriptorSets *ds) MaterialParameters::MaterialParameters(Material *m,DescriptorSets *ds)
{ {
material=m; material=m;
descriptor_sets=ds; descriptor_sets=ds;
} }
MaterialInstance::~MaterialInstance() MaterialParameters::~MaterialParameters()
{ {
delete descriptor_sets; 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) if(name.IsEmpty()||!ubo)
return(false); return(false);
@ -31,7 +31,7 @@ bool MaterialInstance::BindUBO(const AnsiString &name,GPUBuffer *ubo,bool dynami
return(true); 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) if(name.IsEmpty()||!ssbo)
return(false); return(false);
@ -47,7 +47,7 @@ bool MaterialInstance::BindSSBO(const AnsiString &name,GPUBuffer *ssbo,bool dyna
return(true); 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) if(name.IsEmpty()||!tex||!sampler)
return(false); return(false);
@ -63,17 +63,17 @@ bool MaterialInstance::BindSampler(const AnsiString &name,Texture *tex,Sampler *
return(true); return(true);
} }
void MaterialInstance::Update() void MaterialParameters::Update()
{ {
descriptor_sets->Update(); descriptor_sets->Update();
} }
MaterialInstance *Material::CreateInstance() MaterialParameters *Material::CreateInstance()
{ {
DescriptorSets *ds=CreateMIDescriptorSets(); DescriptorSets *ds=CreateMIDescriptorSets();
if(!ds)return(nullptr); if(!ds)return(nullptr);
return(new MaterialInstance(this,ds)); return(new MaterialParameters(this,ds));
} }
VK_NAMESPACE_END VK_NAMESPACE_END

View File

@ -50,11 +50,11 @@ IndexBuffer *RenderResource::CreateIBO(IndexType index_type,uint32_t count,const
return(buf); return(buf);
} }
MaterialInstance *RenderResource::CreateMaterialInstance(Material *mtl) MaterialParameters *RenderResource::CreateMaterialInstance(Material *mtl)
{ {
if(!mtl)return(nullptr); if(!mtl)return(nullptr);
MaterialInstance *mi=mtl->CreateInstance(); MaterialParameters *mi=mtl->CreateInstance();
if(mi) if(mi)
Add(mi); Add(mi);
@ -62,7 +62,7 @@ MaterialInstance *RenderResource::CreateMaterialInstance(Material *mtl)
return mi; return mi;
} }
MaterialInstance *RenderResource::CreateMaterialInstance(const OSString &mtl_filename) MaterialParameters *RenderResource::CreateMaterialInstance(const OSString &mtl_filename)
{ {
Material *mtl=this->CreateMaterial(mtl_filename); Material *mtl=this->CreateMaterial(mtl_filename);
@ -96,7 +96,7 @@ TextRenderable *RenderResource::CreateTextRenderable(Material *mtl)
return tr; return tr;
} }
RenderableInstance *RenderResource::CreateRenderableInstance(Renderable *r,MaterialInstance *mi,Pipeline *p) RenderableInstance *RenderResource::CreateRenderableInstance(Renderable *r,MaterialParameters *mi,Pipeline *p)
{ {
if(!p||!mi||!r) if(!p||!mi||!r)
return(nullptr); return(nullptr);

View File

@ -21,7 +21,7 @@ Pipeline *RenderTarget::CreatePipeline(Material *mtl,const InlinePipeline &ip,co
return p; 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); if(!mi)return(nullptr);
@ -40,7 +40,7 @@ Pipeline *RenderTarget::CreatePipeline(Material *mtl,PipelineData *pd,const Prim
return(p); 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); 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); 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); return CreatePipeline(mi->GetMaterial(),filename,prim,prim_restart);
} }

View File

@ -8,7 +8,7 @@ VK_NAMESPACE_BEGIN
using namespace util; 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; render_obj=r;
mat_inst=mi; mat_inst=mi;
@ -35,7 +35,7 @@ RenderableInstance::~RenderableInstance()
delete[] buffer_size; 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); if(!r||!mi||!p)return(nullptr);