added a test that it's zero2one coordinate system at second_triangle.cpp
This commit is contained in:
@@ -15,11 +15,11 @@ constexpr uint32_t SCREEN_HEIGHT=720;
|
||||
|
||||
constexpr uint32_t VERTEX_COUNT=3;
|
||||
|
||||
constexpr float position_data[VERTEX_COUNT][2]=
|
||||
static float position_data[VERTEX_COUNT][2]=
|
||||
{
|
||||
{SCREEN_WIDTH*0.5, SCREEN_HEIGHT*0.25},
|
||||
{SCREEN_WIDTH*0.75, SCREEN_HEIGHT*0.75},
|
||||
{SCREEN_WIDTH*0.25, SCREEN_HEIGHT*0.75}
|
||||
{0.5, 0.25},
|
||||
{0.75, 0.75},
|
||||
{0.25, 0.75}
|
||||
};
|
||||
|
||||
constexpr float color_data[VERTEX_COUNT][4]=
|
||||
@@ -29,6 +29,8 @@ constexpr float color_data[VERTEX_COUNT][4]=
|
||||
{0,0,1,1}
|
||||
};
|
||||
|
||||
#define USE_ZERO2ONE_COORD //使用左上角0,0右下角1,1的坐标系
|
||||
|
||||
class TestApp:public VulkanApplicationFramework
|
||||
{
|
||||
private:
|
||||
@@ -41,8 +43,12 @@ private:
|
||||
private:
|
||||
|
||||
bool InitMaterial()
|
||||
{
|
||||
{
|
||||
#ifdef USE_ZERO2ONE_COORD
|
||||
MaterialCreateInfo *mci=mtl::CreateVertexColor2D(CoordinateSystem2D::ZeroToOne);
|
||||
#else
|
||||
MaterialCreateInfo *mci=mtl::CreateVertexColor2D(CoordinateSystem2D::Ortho);
|
||||
#endif//USE_ZERO2ONE_COORD
|
||||
|
||||
//material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/VertexColor2D"));
|
||||
|
||||
@@ -66,6 +72,16 @@ private:
|
||||
Primitive *primitive=db->CreatePrimitive(VERTEX_COUNT);
|
||||
if(!primitive)return(false);
|
||||
|
||||
#ifndef USE_ZERO2ONE_COORD //使用ortho坐标系
|
||||
|
||||
for(uint i=0;i<VERTEX_COUNT;i++)
|
||||
{
|
||||
position_data[i][0]*=SCREEN_WIDTH;
|
||||
position_data[i][1]*=SCREEN_HEIGHT;
|
||||
}
|
||||
|
||||
#endif//USE_ZERO2ONE_COORD
|
||||
|
||||
if(!primitive->Set(VAN::Position, db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data )))return(false);
|
||||
if(!primitive->Set(VAN::Color, db->CreateVBO(VF_V4F,VERTEX_COUNT,color_data )))return(false);
|
||||
|
||||
|
@@ -7,7 +7,7 @@ namespace hgl
|
||||
{
|
||||
namespace graph
|
||||
{
|
||||
/**
|
||||
/**
|
||||
* MVP矩阵
|
||||
*/
|
||||
struct MVPMatrix
|
||||
|
@@ -78,7 +78,6 @@ MaterialDescriptorManager::MaterialDescriptorManager(const UTF8String &name,cons
|
||||
dsl_ci[i].pBindings=nullptr;
|
||||
|
||||
sd_count+=sds_array[i].count;
|
||||
|
||||
}
|
||||
|
||||
if(sd_count<=0)
|
||||
@@ -116,7 +115,7 @@ MaterialDescriptorManager::MaterialDescriptorManager(const UTF8String &name,cons
|
||||
|
||||
++dsl_bind[i];
|
||||
|
||||
++sp;
|
||||
++sp;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -141,4 +140,4 @@ const int MaterialDescriptorManager::GetBinding(const DescriptorSetType &set_typ
|
||||
|
||||
return(binding_map[size_t(set_type)][size_t(desc_type)].Get(name,result)?result:-1);
|
||||
}
|
||||
VK_NAMESPACE_END
|
||||
VK_NAMESPACE_END
|
||||
|
@@ -22,8 +22,6 @@ MaterialCreateInfo *CreateVertexColor2D(const CoordinateSystem2D &cs)
|
||||
|
||||
if(cs==CoordinateSystem2D::Ortho)
|
||||
{
|
||||
// mci->AddStruct(GlobalDescriptor::ViewportInfo);
|
||||
|
||||
mci->AddUBO(VK_SHADER_STAGE_VERTEX_BIT,GlobalDescriptor::ViewportInfo);
|
||||
|
||||
sfGetPosition="vec4 GetPosition(){return viewport.ortho_matrix*vec4(Position,0,1);}";
|
||||
|
Reference in New Issue
Block a user