renamed the name from "WorldMatrix" to "CameraMatrix"
This commit is contained in:
Submodule 3rdpty/MathGeoLib updated: 47599c77c4...2940b99b99
Submodule CMCMakeModule updated: e15c5ce039...4b71f19e46
2
CMCore
2
CMCore
Submodule CMCore updated: 162a6ce2f2...d065f24770
Submodule CMPlatform updated: 72b54414ac...ea2aaf3126
Submodule CMSceneGraph updated: aaf998351f...275dce7c49
@@ -37,7 +37,7 @@ private:
|
|||||||
|
|
||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
RenderableInstance *render_instance =nullptr;
|
RenderableInstance *render_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
GPUBuffer * ubo_color_material =nullptr;
|
GPUBuffer * ubo_color_material =nullptr;
|
||||||
GPUBuffer * ubo_line_config =nullptr;
|
GPUBuffer * ubo_line_config =nullptr;
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix =CreateUBO("world", sizeof(WorldMatrix), &cam.matrix);
|
ubo_camera_matrix =CreateUBO("camera", sizeof(CameraMatrix), &cam.matrix);
|
||||||
ubo_color_material =CreateUBO("color_material",sizeof(Vector4f), &color);
|
ubo_color_material =CreateUBO("color_material",sizeof(Vector4f), &color);
|
||||||
ubo_line_config =CreateUBO("line2d_config", sizeof(Line2DConfig), &line_2d_config);
|
ubo_line_config =CreateUBO("line2d_config", sizeof(Line2DConfig), &line_2d_config);
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(render_instance);
|
BuildCommandBuffer(render_instance);
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ private:
|
|||||||
|
|
||||||
bool InitUBO()
|
bool InitUBO()
|
||||||
{
|
{
|
||||||
if(!material_instance->BindUBO("world",GetCameraMatrixBuffer()))
|
if(!material_instance->BindUBO("camera",GetCameraMatrixBuffer()))
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
ubo_atomsphere=db->CreateUBO(sizeof(AtmosphereData),&atomsphere_data);
|
ubo_atomsphere=db->CreateUBO(sizeof(AtmosphereData),&atomsphere_data);
|
||||||
|
@@ -193,12 +193,12 @@ private:
|
|||||||
|
|
||||||
sampler=db->CreateSampler(&sampler_create_info);
|
sampler=db->CreateSampler(&sampler_create_info);
|
||||||
|
|
||||||
sp_gbuffer.material_instance->BindUBO("world",GetCameraMatrixBuffer());
|
sp_gbuffer.material_instance->BindUBO("camera",GetCameraMatrixBuffer());
|
||||||
sp_gbuffer.material_instance->BindSampler("TexColor" ,texture.color, sampler);
|
sp_gbuffer.material_instance->BindSampler("TexColor" ,texture.color, sampler);
|
||||||
sp_gbuffer.material_instance->BindSampler("TexNormal" ,texture.normal, sampler);
|
sp_gbuffer.material_instance->BindSampler("TexNormal" ,texture.normal, sampler);
|
||||||
sp_gbuffer.material_instance->Update();
|
sp_gbuffer.material_instance->Update();
|
||||||
|
|
||||||
sp_composition.material_instance->BindUBO("world",GetCameraMatrixBuffer());
|
sp_composition.material_instance->BindUBO("camera",GetCameraMatrixBuffer());
|
||||||
sp_composition.material_instance->BindUBO("lights",ubo_lights);
|
sp_composition.material_instance->BindUBO("lights",ubo_lights);
|
||||||
sp_composition.material_instance->BindSampler("GB_Color" ,gbuffer.rt->GetColorTexture((uint)GBufferAttachment::Color),sampler);
|
sp_composition.material_instance->BindSampler("GB_Color" ,gbuffer.rt->GetColorTexture((uint)GBufferAttachment::Color),sampler);
|
||||||
sp_composition.material_instance->BindSampler("GB_Normal" ,gbuffer.rt->GetColorTexture((uint)GBufferAttachment::Normal),sampler);
|
sp_composition.material_instance->BindSampler("GB_Normal" ,gbuffer.rt->GetColorTexture((uint)GBufferAttachment::Normal),sampler);
|
||||||
|
@@ -28,7 +28,7 @@ private:
|
|||||||
|
|
||||||
Sampler * sampler =nullptr;
|
Sampler * sampler =nullptr;
|
||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
GPUBuffer * ubo_color =nullptr;
|
GPUBuffer * ubo_color =nullptr;
|
||||||
|
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
@@ -65,7 +65,7 @@ private:
|
|||||||
sampler=db->CreateSampler();
|
sampler=db->CreateSampler();
|
||||||
|
|
||||||
material_instance->BindSampler("lum_texture",tile_font->GetTexture(),sampler);
|
material_instance->BindSampler("lum_texture",tile_font->GetTexture(),sampler);
|
||||||
material_instance->BindUBO("world",ubo_world_matrix);
|
material_instance->BindUBO("camera",ubo_camera_matrix);
|
||||||
material_instance->BindUBO("color_material",ubo_color);
|
material_instance->BindUBO("color_material",ubo_color);
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
|
|
||||||
@@ -81,9 +81,9 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&cam.matrix);
|
ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&cam.matrix);
|
||||||
|
|
||||||
if(!ubo_world_matrix)
|
if(!ubo_camera_matrix)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
color.One();
|
color.One();
|
||||||
@@ -181,7 +181,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(render_instance);
|
BuildCommandBuffer(render_instance);
|
||||||
}
|
}
|
||||||
|
@@ -42,7 +42,7 @@ private:
|
|||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
Renderable * render_obj =nullptr;
|
Renderable * render_obj =nullptr;
|
||||||
RenderableInstance *render_instance =nullptr;
|
RenderableInstance *render_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
|
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
|
|
||||||
@@ -155,7 +155,7 @@ private:
|
|||||||
sampler=db->CreateSampler();
|
sampler=db->CreateSampler();
|
||||||
|
|
||||||
material_instance->BindSampler("tex",tile_data->GetTexture(),sampler);
|
material_instance->BindSampler("tex",tile_data->GetTexture(),sampler);
|
||||||
material_instance->BindUBO("world",ubo_world_matrix);
|
material_instance->BindUBO("camera",ubo_camera_matrix);
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
@@ -170,9 +170,9 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&cam.matrix);
|
ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&cam.matrix);
|
||||||
|
|
||||||
if(!ubo_world_matrix)
|
if(!ubo_camera_matrix)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
@@ -227,7 +227,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(render_instance);
|
BuildCommandBuffer(render_instance);
|
||||||
}
|
}
|
||||||
|
@@ -28,7 +28,7 @@ private:
|
|||||||
|
|
||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
RenderableInstance *renderable_instance =nullptr;
|
RenderableInstance *renderable_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
|
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
|
|
||||||
@@ -58,13 +58,13 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&cam.matrix);
|
ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&cam.matrix);
|
||||||
|
|
||||||
if(!ubo_world_matrix)
|
if(!ubo_camera_matrix)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
if(!material_instance->BindUBO("world",ubo_world_matrix))return(false);
|
if(!material_instance->BindUBO("camera",ubo_camera_matrix))return(false);
|
||||||
if(!material_instance->BindUBO("frag_world",ubo_world_matrix))return(false);
|
if(!material_instance->BindUBO("frag_world",ubo_camera_matrix))return(false);
|
||||||
|
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
return(true);
|
return(true);
|
||||||
@@ -109,7 +109,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(renderable_instance);
|
BuildCommandBuffer(renderable_instance);
|
||||||
}
|
}
|
||||||
|
@@ -35,7 +35,7 @@ private:
|
|||||||
Renderable * ro_circle =nullptr;
|
Renderable * ro_circle =nullptr;
|
||||||
Renderable * ro_round_rectangle =nullptr;
|
Renderable * ro_round_rectangle =nullptr;
|
||||||
|
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
GPUBuffer * ubo_color_material =nullptr;
|
GPUBuffer * ubo_color_material =nullptr;
|
||||||
|
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
@@ -118,7 +118,7 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix =CreateUBO("world", sizeof(WorldMatrix),&cam.matrix);
|
ubo_camera_matrix =CreateUBO("camera", sizeof(CameraMatrix),&cam.matrix);
|
||||||
ubo_color_material =CreateUBO("color_material",sizeof(Vector4f),&color);
|
ubo_color_material =CreateUBO("color_material",sizeof(Vector4f),&color);
|
||||||
|
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
@@ -164,7 +164,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(&render_list);
|
BuildCommandBuffer(&render_list);
|
||||||
}
|
}
|
||||||
|
@@ -46,7 +46,7 @@ private:
|
|||||||
|
|
||||||
mdp->pipeline=CreatePipeline(mdp->material_instance,InlinePipeline::Solid3D,primitive);
|
mdp->pipeline=CreatePipeline(mdp->material_instance,InlinePipeline::Solid3D,primitive);
|
||||||
|
|
||||||
if(!mdp->material_instance->BindUBO("world",GetCameraMatrixBuffer()))
|
if(!mdp->material_instance->BindUBO("camera",GetCameraMatrixBuffer()))
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
mdp->material_instance->Update();
|
mdp->material_instance->Update();
|
||||||
|
@@ -204,14 +204,14 @@ private:
|
|||||||
material_instance->BindUBO("light",ubo_light);
|
material_instance->BindUBO("light",ubo_light);
|
||||||
material_instance->BindUBO("phong",ubo_phong);
|
material_instance->BindUBO("phong",ubo_phong);
|
||||||
|
|
||||||
if(!material_instance->BindUBO("world",GetCameraMatrixBuffer()))
|
if(!material_instance->BindUBO("camera",GetCameraMatrixBuffer()))
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
material_instance->BindUBO("fs_light",ubo_light);
|
material_instance->BindUBO("fs_light",ubo_light);
|
||||||
|
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
|
|
||||||
if(!axis_mi->BindUBO("world",GetCameraMatrixBuffer()))
|
if(!axis_mi->BindUBO("camera",GetCameraMatrixBuffer()))
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
axis_mi->Update();
|
axis_mi->Update();
|
||||||
|
@@ -16,7 +16,7 @@ class TestApp:public CameraAppFramework
|
|||||||
Camera cam;
|
Camera cam;
|
||||||
|
|
||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct:public RenderObject
|
struct:public RenderObject
|
||||||
@@ -65,12 +65,12 @@ public:
|
|||||||
|
|
||||||
ro->cam.Refresh();
|
ro->cam.Refresh();
|
||||||
|
|
||||||
ro->ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&ro->cam.matrix);
|
ro->ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&ro->cam.matrix);
|
||||||
|
|
||||||
if(!ro->ubo_world_matrix)
|
if(!ro->ubo_camera_matrix)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
ro->material_instance->BindUBO("world",ro->ubo_world_matrix);
|
ro->material_instance->BindUBO("camera",ro->ubo_camera_matrix);
|
||||||
ro->material_instance->Update();
|
ro->material_instance->Update();
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
@@ -131,7 +131,7 @@ public:
|
|||||||
if(!cube.sampler)return(false);
|
if(!cube.sampler)return(false);
|
||||||
|
|
||||||
cube.material_instance->BindSampler("tex",os.render_taget->GetColorTexture(),cube.sampler);
|
cube.material_instance->BindSampler("tex",os.render_taget->GetColorTexture(),cube.sampler);
|
||||||
cube.material_instance->BindUBO("world",GetCameraMatrixBuffer());
|
cube.material_instance->BindUBO("camera",GetCameraMatrixBuffer());
|
||||||
cube.material_instance->Update();
|
cube.material_instance->Update();
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -148,7 +148,7 @@ public:
|
|||||||
cube.scene_root.RefreshMatrix();
|
cube.scene_root.RefreshMatrix();
|
||||||
cube.scene_root.ExpendToList(&cube.render_list);
|
cube.scene_root.ExpendToList(&cube.render_list);
|
||||||
|
|
||||||
camera.eye.Set(5,5,5,1.0);
|
camera->pos.Set(5,5,5,1.0);
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
@@ -41,7 +41,7 @@ private:
|
|||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
Renderable * render_obj =nullptr;
|
Renderable * render_obj =nullptr;
|
||||||
RenderableInstance *render_instance =nullptr;
|
RenderableInstance *render_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
|
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ private:
|
|||||||
sampler=db->CreateSampler();
|
sampler=db->CreateSampler();
|
||||||
|
|
||||||
material_instance->BindSampler("tex",texture,sampler);
|
material_instance->BindSampler("tex",texture,sampler);
|
||||||
material_instance->BindUBO("world",ubo_world_matrix);
|
material_instance->BindUBO("camera",ubo_camera_matrix);
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
|
|
||||||
db->Add(texture);
|
db->Add(texture);
|
||||||
@@ -77,9 +77,9 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&cam.matrix);
|
ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&cam.matrix);
|
||||||
|
|
||||||
if(!ubo_world_matrix)
|
if(!ubo_camera_matrix)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
@@ -127,7 +127,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(render_instance);
|
BuildCommandBuffer(render_instance);
|
||||||
}
|
}
|
||||||
|
@@ -34,7 +34,7 @@ private:
|
|||||||
|
|
||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
RenderableInstance *render_instance =nullptr;
|
RenderableInstance *render_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
|
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
|
|
||||||
@@ -62,12 +62,12 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&cam.matrix);
|
ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&cam.matrix);
|
||||||
|
|
||||||
if(!ubo_world_matrix)
|
if(!ubo_camera_matrix)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
material_instance->BindUBO("world",ubo_world_matrix);
|
material_instance->BindUBO("camera",ubo_camera_matrix);
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
@@ -113,7 +113,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(render_instance);
|
BuildCommandBuffer(render_instance);
|
||||||
}
|
}
|
||||||
|
@@ -38,7 +38,7 @@ private:
|
|||||||
|
|
||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
RenderableInstance *renderable_instance =nullptr;
|
RenderableInstance *renderable_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
|
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
|
|
||||||
@@ -62,13 +62,13 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&cam.matrix);
|
ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&cam.matrix);
|
||||||
|
|
||||||
if(!ubo_world_matrix)
|
if(!ubo_camera_matrix)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
if(!material_instance->BindUBO("world",ubo_world_matrix))return(false);
|
if(!material_instance->BindUBO("camera",ubo_camera_matrix))return(false);
|
||||||
if(!material_instance->BindUBO("frag_world",ubo_world_matrix))return(false);
|
if(!material_instance->BindUBO("frag_world",ubo_camera_matrix))return(false);
|
||||||
|
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
return(true);
|
return(true);
|
||||||
@@ -115,7 +115,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(renderable_instance);
|
BuildCommandBuffer(renderable_instance);
|
||||||
}
|
}
|
||||||
|
@@ -53,7 +53,7 @@ private:
|
|||||||
Sampler * sampler =nullptr;
|
Sampler * sampler =nullptr;
|
||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
RenderableInstance *renderable_instance =nullptr;
|
RenderableInstance *renderable_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -85,12 +85,12 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&cam.matrix);
|
ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&cam.matrix);
|
||||||
|
|
||||||
if(!ubo_world_matrix)
|
if(!ubo_camera_matrix)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
if(!material_instance->BindUBO("world",ubo_world_matrix))return(false);
|
if(!material_instance->BindUBO("camera",ubo_camera_matrix))return(false);
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
@@ -137,7 +137,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(renderable_instance);
|
BuildCommandBuffer(renderable_instance);
|
||||||
}
|
}
|
||||||
|
@@ -37,7 +37,7 @@ private:
|
|||||||
|
|
||||||
MaterialInstance * material_instance =nullptr;
|
MaterialInstance * material_instance =nullptr;
|
||||||
RenderableInstance *render_instance =nullptr;
|
RenderableInstance *render_instance =nullptr;
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
|
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
|
|
||||||
@@ -65,12 +65,12 @@ private:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&cam.matrix);
|
ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&cam.matrix);
|
||||||
|
|
||||||
if(!ubo_world_matrix)
|
if(!ubo_camera_matrix)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
material_instance->BindUBO("world",ubo_world_matrix);
|
material_instance->BindUBO("camera",ubo_camera_matrix);
|
||||||
material_instance->Update();
|
material_instance->Update();
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
@@ -119,7 +119,7 @@ public:
|
|||||||
|
|
||||||
cam.Refresh();
|
cam.Refresh();
|
||||||
|
|
||||||
ubo_world_matrix->Write(&cam.matrix);
|
ubo_camera_matrix->Write(&cam.matrix);
|
||||||
|
|
||||||
BuildCommandBuffer(&render_list);
|
BuildCommandBuffer(&render_list);
|
||||||
}
|
}
|
||||||
|
@@ -300,7 +300,7 @@ class CameraAppFramework:public VulkanApplicationFramework
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
|
||||||
GPUBuffer * ubo_world_matrix =nullptr;
|
GPUBuffer * ubo_camera_matrix =nullptr;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@@ -340,7 +340,7 @@ public:
|
|||||||
|
|
||||||
camera->Refresh(); //更新矩阵计算
|
camera->Refresh(); //更新矩阵计算
|
||||||
|
|
||||||
ubo_world_matrix=db->CreateUBO(sizeof(WorldMatrix),&camera->matrix);
|
ubo_camera_matrix=db->CreateUBO(sizeof(CameraMatrix),&camera->matrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Resize(int w,int h)override
|
void Resize(int w,int h)override
|
||||||
@@ -351,7 +351,7 @@ public:
|
|||||||
|
|
||||||
GPUBuffer *GetCameraMatrixBuffer()
|
GPUBuffer *GetCameraMatrixBuffer()
|
||||||
{
|
{
|
||||||
return ubo_world_matrix;
|
return ubo_camera_matrix;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void BuildCommandBuffer(uint32_t index)=0;
|
virtual void BuildCommandBuffer(uint32_t index)=0;
|
||||||
@@ -359,7 +359,7 @@ public:
|
|||||||
virtual void Draw()override
|
virtual void Draw()override
|
||||||
{
|
{
|
||||||
camera->Refresh(); //更新相机矩阵
|
camera->Refresh(); //更新相机矩阵
|
||||||
ubo_world_matrix->Write(&camera->matrix); //写入缓冲区
|
ubo_camera_matrix->Write(&camera->matrix); //写入缓冲区
|
||||||
|
|
||||||
const uint32_t index=AcquireNextImage();
|
const uint32_t index=AcquireNextImage();
|
||||||
|
|
||||||
|
@@ -12,7 +12,7 @@ VK_NAMESPACE_BEGIN
|
|||||||
*/
|
*/
|
||||||
enum class ShaderDataSource
|
enum class ShaderDataSource
|
||||||
{
|
{
|
||||||
Global=0, ///<由全局系统提供的数据(如WorldMatrix)
|
Global=0, ///<由全局系统提供的数据(如CameraMatrix)
|
||||||
Private=1, ///<每种材质的私有数据
|
Private=1, ///<每种材质的私有数据
|
||||||
};//
|
};//
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user