From 71e98084928d6eb6416f87b01cd186fda8473383 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Mon, 20 Jan 2020 20:28:01 +0800 Subject: [PATCH] update Geometry3D example --- example/Vulkan/Geometry3D.cpp | 16 ++++++++++++++-- res/shader/FlatColor.frag | 5 ++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/example/Vulkan/Geometry3D.cpp b/example/Vulkan/Geometry3D.cpp index 41ccf0ed..6962356b 100644 --- a/example/Vulkan/Geometry3D.cpp +++ b/example/Vulkan/Geometry3D.cpp @@ -15,6 +15,10 @@ constexpr uint32_t SCREEN_HEIGHT=128; class TestApp:public CameraAppFramework { + Color4f color; + + vulkan::Buffer *ubo_color=nullptr; + private: SceneNode render_root; @@ -48,7 +52,7 @@ private: bool InitUBO(MDP *mdp) { - if(!InitCameraUBO(mdp->material_instance,mdp->material->GetUBO("world"))) + if(!InitCameraUBO(mdp->material_instance,"world")) return(false); mdp->material_instance->Update(); @@ -147,13 +151,21 @@ public: return(false); if(!InitMDP(&m3d,PRIM_LINES,OS_TEXT("res/shader/PositionColor3D.vert.spv"), - OS_TEXT("res/shader/FlatColor.frag.spv"))) + OS_TEXT("res/shader/VertexColor.frag.spv"))) return(false); if(!InitMDP(&m2d,PRIM_TRIANGLE_FAN, OS_TEXT("res/shader/OnlyPosition.vert.spv"), OS_TEXT("res/shader/FlatColor.frag.spv"))) return(false); + { + color.Set(1,1,0,1); + ubo_color=device->CreateUBO(sizeof(Vector4f),&color); + + m2d.material_instance->BindUBO("color_material",ubo_color); + m2d.material_instance->Update(); + } + CreateRenderObject(); if(!InitScene()) diff --git a/res/shader/FlatColor.frag b/res/shader/FlatColor.frag index 1517aca8..3fce7d30 100644 --- a/res/shader/FlatColor.frag +++ b/res/shader/FlatColor.frag @@ -1,9 +1,8 @@ #version 450 core -layout(location = 0) in vec4 FragmentColor; -layout(location = 0) out vec4 FragColor; +layout(location=0) out vec4 FragColor; -layout(binding=2) uniform ColorMaterial +layout(binding=1) uniform ColorMaterial { vec4 color; } color_material;