Problem with occlusion query in OpenGL

there are many triangles in the scene and i want to get the fully visible triangles from them.

Now, i use occlusion query and get the triangles which could contribute to the number of pixel.

But some tiny triangles which is fully visible couldn’t contribute to the number of pixel.

Occlusion querying couldn’t get that triangle because of the number of pixel that triangle return being zero.

Is there problem above? how do i get the exact answer through using occlusion query or other methods?

Thanks a lot.

But some tiny triangles which is fully visible couldn’t contribute to the number of pixel.

The triangle doesn’t contribute to the image, so how can you see it? And if you can’t see it, is it really “fully visible?”

Occlusion queries can only tell you what gets rasterized. If a triangle is too small to be worth rasterizing, then it will not be rasterized and the occlusion query will dutifully tell you that it was not rasterized.

More to the point, what do you mean by “fully visible” if that isn’t the same as, “contributes to the visible image?”

Thanks.

we can regard “fully visible” as “visible”.

there are many triangles that some tiny triangles is visible although it couldn’t contribute to the image.

look at the two images below. i get the visible triangles and color them black(the original color is green) [image 1]. And when i enlarge them a bit, the vase turn out to the second image.

some visible tiny triangles which couldn’t contribute to the image become the problem.

Actually, i want to get the whole visible triangles although it is so tiny that it can not contribute to the image. Because, i want to see them when i enlarge them.

Image 1:

Image 2:

Maybe i can not solve the problem in the image space.