Added frustum_planes in CameraInfo, added FrustumCheck function in MFCamera.h
This commit is contained in:
parent
0ba4674126
commit
1f7c8fa25b
@ -1 +1 @@
|
|||||||
Subproject commit 3e2f129abf1b0480133010830b97f6eb902f960b
|
Subproject commit 821bd3f4f056ad344a45c631aeb6c5d94579f0ee
|
@ -33,6 +33,8 @@ constexpr const ShaderBufferSource SBS_CameraInfo=
|
|||||||
mat4 vp;
|
mat4 vp;
|
||||||
mat4 inverse_vp;
|
mat4 inverse_vp;
|
||||||
|
|
||||||
|
vec4 frustum_planes[6];
|
||||||
|
|
||||||
mat4 sky;
|
mat4 sky;
|
||||||
|
|
||||||
vec3 pos; //eye
|
vec3 pos; //eye
|
||||||
|
@ -26,6 +26,20 @@ vec3 GetViewUp(mat4 cv)
|
|||||||
{
|
{
|
||||||
return vec3(cv[0][1],cv[1][1],cv[2][1]);
|
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
|
}//namespace func
|
||||||
STD_MTL_NAMESPACE_END
|
STD_MTL_NAMESPACE_END
|
||||||
|
Loading…
x
Reference in New Issue
Block a user