From the web documentation https://docs.unity3d.com/ScriptReference/Camera-cullingMatrix.html,the demo script use projectmatrix times worldToCamera to set the culling matrix.Which is obvious a VP matrix.
So,I assume,to query whether a point is culled by cullingMatrix,unity just do cullingMatrix.MultiplyPoint(pointPosition) and if the xyz value’s value is within [-1,1],then the point will not be culled.
Now I have my custom culling matrix,which is actually made so that I can determine if something is within my custom culling shape.Noticed that this matrix is not derived from VP matrix calculation BUT i manage to make it behave just like normal cullingMatrix
(Which is that if a point is within the culling shape,result of cullingMatrix.MultiplyPoint(pointPosition) will have xyz components both in [-1,1],and vice versa).
I test the above custom culling matrix in script and everything is correct.However when i assign it to camera.cullingMatrix,culling job does not work as expected.So i want to know how camera.cullingMatrix work.
If any unity guy or whoever know about it here,help plz.