I'm trying to get an OpenGL application working in c++. OpenGL appears to be culling far & near objects.
The screenshot should be a load of square tiles but the squares that are a certain distance too close or too far from the camera are not rendered. This means that only a narrow strip of the squares is actually rendered (between what I believe to be the near & far plane).
I'm not using frustum culling, the only culling I have enabled is back face culling. Does OpenGL have some sort of frustum culling on by default? Is there something that I need to enable using glEnable to get all of my triangles to actually render? Enabling GL_DEPTH_TEST stops absolutely everything from rendering no matter if I call glFrustum(...) afterwards.
Thanks.

Somewhere in your code you should intialize a projectionMatrix:
or
something like the line above. The zNear and zFar specify the lower and farest boundaries of your frustrum. Thoose values will map your fragment position to [-1, +1].
Every fragment with a
z == nearwill be mapped to -1. Everything with a depth less than near will be discarded.Try to find thoose near and far parameters and change their values to something that fit your scene. Avoid 0 as a near value, you can also try to move your camera to see some changes happening.