As many people have potato PCs, how about adding a render distance option, just like in Minecraft, and it will just load some part of the map at a time so you would have better performance, and there will be a option to disable it too, so hows this idea? Cheers,
Beamng doesn't support that for now, but there is a level of detail system that makes farther objects less detailed, you can change that by lowering the "mesh" setting in the graphics options.
I suppose if you really wanted you could lower the FarClip value, but i'm not entirely sure how you would do that.
Since BeamNG is Torque based I looked at what possibilities there are. Apparently, Torque works purely with the LOD models of the .dae. Where the number (usually: 600, 300, 200, 100, 0) indicates how big the object is on the screen measured in pixels. You could load an empty object e.g. already at 32, but you would see it clearly disappear. There is certainly a code-based way to load and unload objects. Via. Lua you could set all objects further than a certain distance to NOT enableRender. This would be significantly easier and could possibly be anchored to a setting in the menu.
I don't think using Lua would be the way to go. Everytime you would want to check to enable/disable rendering of objects (every frame?), you would have to calculate the distance from the camera to every single object which is a very heavy calculation. Also scene objects can have multiple geometries contained in them, where the location of the scene objects are not related to the actual placement of the geometry (e.g. the forest where its scene object location in all maps is at 0,0,0 but the individual trees are obviously at different world coordinates and you can't get the individual tree locations). So I think its better and a lot more efficient to just have the far clipping plane in the rendering engine (one already exists but it's set very far out) able to be modified which is very easy to do, although only the devs can do that since they have the game engine source code.