似乎一切正常了
This commit is contained in:
parent
9d02859f46
commit
f3a8028e7c
@ -28,8 +28,16 @@ constexpr uint32_t SCREEN_HEIGHT=128;
|
|||||||
using Texture2DPointer=vulkan::Texture2D *;
|
using Texture2DPointer=vulkan::Texture2D *;
|
||||||
|
|
||||||
constexpr VkFormat position_candidate_format[]={FMT_RGBA32F,FMT_RGBA16F};
|
constexpr VkFormat position_candidate_format[]={FMT_RGBA32F,FMT_RGBA16F};
|
||||||
constexpr VkFormat color_candidate_format []={FMT_RGBA32F,FMT_RGBA16F,FMT_RGB16UN,FMT_RGB16SN,FMT_RGBA8UN,FMT_RGBA8SN,FMT_RGBA8U,FMT_RGB565,FMT_BGR565};
|
constexpr VkFormat color_candidate_format []={FMT_RGBA32F,
|
||||||
constexpr VkFormat normal_candidate_format []={FMT_RGBA32F,FMT_RGBA16F};
|
FMT_RGBA16F,FMT_RGB16UN,FMT_RGB16SN,
|
||||||
|
FMT_RGBA8UN,FMT_RGBA8SN,FMT_RGBA8U,
|
||||||
|
FMT_BGRA8UN,FMT_BGRA8SN,FMT_BGRA8U,
|
||||||
|
FMT_ABGR8UN,FMT_ABGR8SN,FMT_ABGR8U,
|
||||||
|
FMT_RGB565,FMT_BGR565};
|
||||||
|
constexpr VkFormat normal_candidate_format []={FMT_RGBA32F,
|
||||||
|
FMT_RGBA16F,
|
||||||
|
FMT_A2RGB10UN,FMT_A2RGB10SN,FMT_A2BGR10UN,
|
||||||
|
FMT_A2BGR10SN};
|
||||||
constexpr VkFormat depth_candidate_format []={FMT_D32F,FMT_D32F_S8U,FMT_X8_D24,FMT_D24UN_S8U,FMT_D16UN,FMT_D16UN_S8U};
|
constexpr VkFormat depth_candidate_format []={FMT_D32F,FMT_D32F_S8U,FMT_X8_D24,FMT_D24UN_S8U,FMT_D16UN,FMT_D16UN_S8U};
|
||||||
|
|
||||||
class TestApp:public CameraAppFramework
|
class TestApp:public CameraAppFramework
|
||||||
@ -222,11 +230,8 @@ private:
|
|||||||
bool InitGBufferPipeline(SubpassParam *sp)
|
bool InitGBufferPipeline(SubpassParam *sp)
|
||||||
{
|
{
|
||||||
AutoDelete<vulkan::PipelineCreater> pipeline_creater=new vulkan::PipelineCreater(device,sp->material,gbuffer.renderpass,gbuffer.extent);
|
AutoDelete<vulkan::PipelineCreater> pipeline_creater=new vulkan::PipelineCreater(device,sp->material,gbuffer.renderpass,gbuffer.extent);
|
||||||
pipeline_creater->SetDepthTest(true);
|
|
||||||
pipeline_creater->SetDepthWrite(true);
|
|
||||||
pipeline_creater->SetDepthCompareOp(VK_COMPARE_OP_ALWAYS);
|
|
||||||
//pipeline_creater->SetCullMode(VK_CULL_MODE_BACK_BIT);
|
//pipeline_creater->SetCullMode(VK_CULL_MODE_BACK_BIT);
|
||||||
pipeline_creater->SetCullMode(VK_CULL_MODE_NONE);
|
pipeline_creater->CloseCullFace();
|
||||||
pipeline_creater->Set(PRIM_TRIANGLES);
|
pipeline_creater->Set(PRIM_TRIANGLES);
|
||||||
|
|
||||||
sp->pipeline=pipeline_creater->Create();
|
sp->pipeline=pipeline_creater->Create();
|
||||||
@ -327,7 +332,7 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
ro_sphere=CreateRenderableSphere(db,mtl,16);
|
ro_sphere=CreateRenderableSphere(db,mtl,64);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -368,12 +373,12 @@ private:
|
|||||||
{
|
{
|
||||||
CreateRenderObject(sp->material);
|
CreateRenderObject(sp->material);
|
||||||
render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_cube),scale(50,50,50));
|
render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_cube),scale(50,50,50));
|
||||||
//render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_plane_grid));
|
render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_plane_grid));
|
||||||
//render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_torus));
|
render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_torus));
|
||||||
//render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_cube ),translate(-10, 0, 5)*scale(10,10,10));
|
render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_cube ),translate(-10, 0, 5)*scale(10,10,10));
|
||||||
//render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_sphere ),translate( 10, 0, 5)*scale(10,10,10));
|
render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_sphere ),translate( 10, 0, 5)*scale(40,40,40));
|
||||||
//render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_cylinder ),translate( 0, 16, 0));
|
render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_cylinder ),translate( 0, 16, 0));
|
||||||
//render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_cone ),translate( 0,-16, 0));
|
render_root.Add(db->CreateRenderableInstance(sp->pipeline,sp->desc_sets,ro_cone ),translate( 0,-16, 0));
|
||||||
|
|
||||||
render_root.RefreshMatrix();
|
render_root.RefreshMatrix();
|
||||||
render_root.ExpendToList(&render_list);
|
render_root.ExpendToList(&render_list);
|
||||||
|
@ -276,7 +276,7 @@ public:
|
|||||||
camera.width=w;
|
camera.width=w;
|
||||||
camera.height=h;
|
camera.height=h;
|
||||||
camera.center.Set(0,0,0,1);
|
camera.center.Set(0,0,0,1);
|
||||||
camera.eye.Set(100,100,100,1);
|
camera.eye.Set(100,100,0,1); //xyz三个值不要一样,以方便调试
|
||||||
camera.znear=-1;
|
camera.znear=-1;
|
||||||
camera.zfar=1;
|
camera.zfar=1;
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ namespace hgl
|
|||||||
float height; ///<视图高
|
float height; ///<视图高
|
||||||
|
|
||||||
float fov=60; ///<水平FOV
|
float fov=60; ///<水平FOV
|
||||||
float znear=0,zfar=1000; ///<Z轴上离眼睛的距离
|
float znear=-1,zfar=1; ///<Z轴上离眼睛的距离
|
||||||
|
|
||||||
Vector4f eye; ///<眼睛坐标
|
Vector4f eye; ///<眼睛坐标
|
||||||
Vector4f center; ///<视点坐标
|
Vector4f center; ///<视点坐标
|
||||||
|
@ -156,8 +156,8 @@ bool Device::CreateDepthAttachment( List<VkAttachmentReference> &ref_list,List<V
|
|||||||
desc->flags = 0;
|
desc->flags = 0;
|
||||||
desc->samples = VK_SAMPLE_COUNT_1_BIT;
|
desc->samples = VK_SAMPLE_COUNT_1_BIT;
|
||||||
desc->loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; //LOAD_OP_CLEAR代表LOAD时清空内容
|
desc->loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; //LOAD_OP_CLEAR代表LOAD时清空内容
|
||||||
desc->storeOp = VK_ATTACHMENT_STORE_OP_STORE; //STORE_OP_STROE代表SOTRE时储存内容
|
desc->storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; //DONT CARE表示不在意
|
||||||
desc->stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; //DONT CARE表示不在意
|
desc->stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE;
|
||||||
desc->stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
|
desc->stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
|
||||||
desc->initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; //代表不关心初始布局
|
desc->initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; //代表不关心初始布局
|
||||||
desc->finalLayout = depth_final_layout;
|
desc->finalLayout = depth_final_layout;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user