For any vertex of the scene, you must run the vertex shader so that their coordinates are transformed from the model space to the clip space.
After that, primitives that are not contained in the clipping volume (which means that they are either off-screen in the clip space or too far or too close) are trimmed so that they are not processed further and the pixel shader will not be launched for them.
This is the same for OpenGL and OpenGL ES. You can find the details in the OpenGL ES spec (2.13 Primitive Clipping) or in the OpenGL specification (same heading).
This means that with a lot of geometry, most of which are outside the truncated cone, it will slightly affect the rendering time, but much less than if the whole geometry was actually displayed . Only per-vertex transformations need to be performed; rasterization and operations with pixels (fragment shader, actual recording in the framebuffer) will not be performed for them.
It also means that if you perform many operations on vertices and fewer operations on pixels, then it may be more important to write additional visibility checks for your scene.
source share