dongju.jeong Posted March 3, 2020 Posted March 3, 2020 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.
silent Posted March 3, 2020 Posted March 3, 2020 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! 1 How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
dongju.jeong Posted March 4, 2020 Author Posted March 4, 2020 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?
cash-metall Posted March 5, 2020 Posted March 5, 2020 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
dongju.jeong Posted March 5, 2020 Author Posted March 5, 2020 This trick affects up to the haze. render->setDistanceScale() I am not sure what is changing
cash-metall Posted March 5, 2020 Posted March 5, 2020 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?
dongju.jeong Posted March 6, 2020 Author Posted March 6, 2020 (edited) this is just Fov set 6 [ for x10 -> 60 / 10] 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))); The distant landscape is also a little different. Mountain not rendered a little. Edited March 6, 2020 by dongju.jeong
silent Posted March 6, 2020 Posted March 6, 2020 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. 1 How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
Recommended Posts