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格式
|
||||
|
||||
// bool reverse_depth; ///<使用反向深度
|
||||
|
||||
public:
|
||||
|
||||
Material3DCreateConfig(const GPUDeviceAttribute *da,const AnsiString &name,const Prim &p):MaterialCreateConfig(da,name,p)
|
||||
@ -22,10 +24,12 @@ public:
|
||||
local_to_world=false;
|
||||
|
||||
position_format=VAT_VEC3;
|
||||
|
||||
// reverse_depth=false;
|
||||
}
|
||||
};//struct Material3DCreateConfig:public MaterialCreateConfig
|
||||
|
||||
//MaterialCreateInfo *CreateVertexColor2D(const Material2DCreateConfig *);
|
||||
MaterialCreateInfo *CreateVertexColor3D(const Material3DCreateConfig *);
|
||||
//MaterialCreateInfo *CreatePureColor2D(const Material2DCreateConfig *);
|
||||
//MaterialCreateInfo *CreatePureTexture2D(const Material2DCreateConfig *);
|
||||
//MaterialCreateInfo *CreateRectTexture2D(Material2DCreateConfig *);
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include<hgl/type/String.h>
|
||||
#include<hgl/graph/RenderTargetOutputConfig.h>
|
||||
#include<hgl/graph/VK.h>
|
||||
#include<hgl/graph/mtl/SamplerName.h>
|
||||
|
||||
STD_MTL_NAMESPACE_BEGIN
|
||||
class MaterialCreateInfo;
|
||||
|
@ -22,7 +22,10 @@ bool Std3DMaterial::CustomVertexShader(ShaderCreateInfoVertex *vsc)
|
||||
mci->SetLocalToWorld(VK_SHADER_STAGE_ALL_GRAPHICS);
|
||||
|
||||
vsc->AddAssign();
|
||||
vsc->AddFunction(func::GetPosition3DL2W);
|
||||
}
|
||||
else
|
||||
vsc->AddFunction(func::GetPosition3D);
|
||||
|
||||
mci->AddUBO(VK_SHADER_STAGE_VERTEX_BIT,
|
||||
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
|
||||
STD_MTL_NAMESPACE_END
|
||||
|
Loading…
x
Reference in New Issue
Block a user