Jump to content

LOD , effected by camera FOV


photo

Recommended Posts

How do I get the LOD of the terrain to be affected by the value of the camera's FOV?

Currently, the FOV seems to vary depending on  just the distance of the camera.

Link to comment

dongju.jeong

What is the typical zoom level you want to achieve? ObjectTerrainGlobal has some limitations on multiple cameras and zoom levels.

These limitations were eliminated with new Landscape Terrain object: https://developer.unigine.com/en/docs/2.10/objects/objects/terrain/landscape_terrain/

Which one you are using in your project? Do you consider upgrade to the latest Landscape Terrain for this project?

Thanks!

  • Like 1

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

I need x8~ x10 zoom level.

Currently I have version 2.9.

I am using a georeferenced terrain made from actual local data(ecw files).
(To use Cigi,Ig api)

 

 

Does your mean that the problem has been updated in 2.10?

in 2.10,
If I use my data to make an ObjectLandscapeTerrain instead of ObjectTerrainGlobal , does it solve the problem?

 

 

 

Link to comment
Quote

I need x8~ x10 zoom level.

Hello! this is not a very large zoom. have you tried changed render_distance_scale? maybe this will be enough. 
 

if this is not enough you can try one trick: translate player modelview forward, but projection backward

zoom_camera->setModelview(inverse(inverse(main_mode_view) * translate(Vec3(0,0, -distance)))); // translate modelview forvard
zoom_camera->setProjection(perspective(main_fov/zoom_factor, 1.0f, distance + 0.1, z_far) * translate(vec3(0, 0, -distance))); // translate projection matrix backward

 

Link to comment

render->setDistanceScale(zoom_factor) // or zoom_factor * 3 - check another param, what better. 

hmm.. may be you can show some video/screenshot with haze affects?

Link to comment

this is just Fov  set 6 [ for x10 -> 60 / 10]

image.png.e935d7fdde9d5b9d977d750ab8718e05.png

 

 

this is Fov set 60 and

camera->setModelview(Math::inverse(Math::inverse(camera->getModelview()) * Math::translate(Vec3(0, 0, -5000))));    // I'm not sure I                                                                                                                                                                                                            should set the distance 5000.

camera->setProjection(perspective(60 / 10, 1.f,  0.01, 20000) * translate(vec3(0, 0, -5000)));

image.png.abcd87c0466999d12d013f732aa4c4f0.png

 

The distant landscape is also a little different. Mountain not  rendered a little.

Edited by dongju.jeong
Link to comment

Regarding the terrain culling artifacts, I guess you need to tune  culling parameters, such as:

  • Frustum Culling Padding
  • Subpixel Polygons Reduction
  • Back Face Culling
  • Oblique Frustum Culling

in the terrain_global_base material: https://developer.unigine.com/en/docs/2.9/content/materials/library/terrain_global_base/#parameters

You need to experiment a little to find the best ones for your current terrain.

 

  • Like 1

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment
×
×
  • Create New...