Although you can create this tool using a simple attribute vop and a ray sop but out of practice I used a wrangle to achieve the same result, also it looks more neat only one node.
This code has two parts:
Occlusion (Hidden Point Removal):
Every point shoots a ray at the camera and checks if it collided with any object using the intersect() command, if there was a hit the point will be deleted.
Culling:
For this we need first to apply a uv coordinates for the points in camera space, then check if it fall in the range of 0-1 and delete everything else.