Added frustum_planes in CameraInfo, added FrustumCheck function in MFCamera.h

This commit is contained in:
hyzboy 2024-07-02 23:43:25 +08:00
parent 0ba4674126
commit 1f7c8fa25b
3 changed files with 17 additions and 1 deletions

@ -1 +1 @@
Subproject commit 3e2f129abf1b0480133010830b97f6eb902f960b
Subproject commit 821bd3f4f056ad344a45c631aeb6c5d94579f0ee

View File

@ -33,6 +33,8 @@ constexpr const ShaderBufferSource SBS_CameraInfo=
mat4 vp;
mat4 inverse_vp;
vec4 frustum_planes[6];
mat4 sky;
vec3 pos; //eye

View File

@ -26,6 +26,20 @@ vec3 GetViewUp(mat4 cv)
{
return vec3(cv[0][1],cv[1][1],cv[2][1]);
}
)";
constexpr const char *FrustumCheck=R"(
bool FrustumCheck(vec4 pos, float radius)
{
for (int i = 0; i < 6; i++)
{
if (dot(pos, camera.frustum_planes[i]) + radius < 0.0)
{
return false;
}
}
return true;
}
)";
}//namespace func
STD_MTL_NAMESPACE_END