added GetPosition3D in Std3DMaterial
This commit is contained in:
parent
1101bcae9d
commit
dbea7764fb
@ -11,6 +11,8 @@ struct Material3DCreateConfig:public MaterialCreateConfig
|
|||||||
|
|
||||||
VAT position_format; ///<position格式
|
VAT position_format; ///<position格式
|
||||||
|
|
||||||
|
// bool reverse_depth; ///<使用反向深度
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Material3DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p):MaterialCreateConfig(da,name,p)
|
Material3DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p):MaterialCreateConfig(da,name,p)
|
||||||
@ -22,10 +24,12 @@ public:
|
|||||||
local_to_world=false;
|
local_to_world=false;
|
||||||
|
|
||||||
position_format=VAT_VEC3;
|
position_format=VAT_VEC3;
|
||||||
|
|
||||||
|
// reverse_depth=false;
|
||||||
}
|
}
|
||||||
};//struct Material3DCreateConfig:public MaterialCreateConfig
|
};//struct Material3DCreateConfig:public MaterialCreateConfig
|
||||||
|
|
||||||
//MaterialCreateInfo *CreateVertexColor2D(const Material2DCreateConfig *);
|
MaterialCreateInfo *CreateVertexColor3D(const Material3DCreateConfig *);
|
||||||
//MaterialCreateInfo *CreatePureColor2D(const Material2DCreateConfig *);
|
//MaterialCreateInfo *CreatePureColor2D(const Material2DCreateConfig *);
|
||||||
//MaterialCreateInfo *CreatePureTexture2D(const Material2DCreateConfig *);
|
//MaterialCreateInfo *CreatePureTexture2D(const Material2DCreateConfig *);
|
||||||
//MaterialCreateInfo *CreateRectTexture2D(Material2DCreateConfig *);
|
//MaterialCreateInfo *CreateRectTexture2D(Material2DCreateConfig *);
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include<hgl/type/String.h>
|
#include<hgl/type/String.h>
|
||||||
#include<hgl/graph/RenderTargetOutputConfig.h>
|
#include<hgl/graph/RenderTargetOutputConfig.h>
|
||||||
#include<hgl/graph/VK.h>
|
#include<hgl/graph/VK.h>
|
||||||
|
#include<hgl/graph/mtl/SamplerName.h>
|
||||||
|
|
||||||
STD_MTL_NAMESPACE_BEGIN
|
STD_MTL_NAMESPACE_BEGIN
|
||||||
class MaterialCreateInfo;
|
class MaterialCreateInfo;
|
||||||
|
@ -22,7 +22,10 @@ bool Std3DMaterial::CustomVertexShader(ShaderCreateInfoVertex *vsc)
|
|||||||
mci->SetLocalToWorld(VK_SHADER_STAGE_ALL_GRAPHICS);
|
mci->SetLocalToWorld(VK_SHADER_STAGE_ALL_GRAPHICS);
|
||||||
|
|
||||||
vsc->AddAssign();
|
vsc->AddAssign();
|
||||||
|
vsc->AddFunction(func::GetPosition3DL2W);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
vsc->AddFunction(func::GetPosition3D);
|
||||||
|
|
||||||
mci->AddUBO(VK_SHADER_STAGE_VERTEX_BIT,
|
mci->AddUBO(VK_SHADER_STAGE_VERTEX_BIT,
|
||||||
DescriptorSetType::Global,
|
DescriptorSetType::Global,
|
||||||
|
@ -52,5 +52,19 @@ vec4 GetPosition2D()
|
|||||||
}
|
}
|
||||||
)"
|
)"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
constexpr const char *GetPosition3D=R"(
|
||||||
|
vec4 GetPosition3D()
|
||||||
|
{
|
||||||
|
return vec4(Position,1);
|
||||||
|
}
|
||||||
|
)";
|
||||||
|
|
||||||
|
constexpr const char *GetPosition3DL2W=R"(
|
||||||
|
vec4 GetPosition3D()
|
||||||
|
{
|
||||||
|
return GetLocalToWorld()*vec4(Position,1);
|
||||||
|
}
|
||||||
|
)";
|
||||||
}//namespace func
|
}//namespace func
|
||||||
STD_MTL_NAMESPACE_END
|
STD_MTL_NAMESPACE_END
|
||||||
|
Loading…
x
Reference in New Issue
Block a user