demostenes Posted July 26, 2016 Share Posted July 26, 2016 In case I have different textures for LOD0 (high res) and LOD1+ (low res/atlas), what happens, when mesh appears in LOD1+? Engine loads only low res/atlas textures, or is it loading both versions? Link to comment
ulf.schroeter Posted July 26, 2016 Share Posted July 26, 2016 I am quite sure that it loads both versions. Link to comment
silent Posted July 27, 2016 Share Posted July 27, 2016 demostenesIf you have object with two LODS (lod0, lod1) and two different surfaces for them with different materials: In case when you are looking at object when lod1 should be displayed - only texture for lod1 will be loaded; In case when you are moving close to the object and you have lod1 -> lod0 switch more detailed texture will be loading. At this time you will have 2 textures in memory simulatenosly. After short time lod1 texture will be unloaded. RenderManger will always try to load only necessary resources. Thanks! How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
demostenes Posted July 27, 2016 Author Share Posted July 27, 2016 Thanks, great! Btw, LOD0 texture will be loaded exactly in time, when LOD0 surface is activated, or there is some predicting logic, which starts loading little bit sooner? We are now designing system for character resource management and such information are crucial. In case I have 50 characters on screen, it is starting to be very tricky what to load and when. Maybe it would make sense to describe render manager logic (loading, unloading, caching....) in detail in documentation. Link to comment
silent Posted July 27, 2016 Share Posted July 27, 2016 demostenes No prediction logic, textures are loaded on demand. We will think about more detailed article about that - could you please tell us which question are particularly important for you? Thanks! How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
demostenes Posted July 27, 2016 Author Share Posted July 27, 2016 demostenes No prediction logic, textures are loaded on demand. We will think about more detailed article about that - could you please tell us which question are particularly important for you? Thanks! Logic of loading and unloading. But if there is no prediction, it will be probably simple. This means, we have to implement logic of ours. For example in case group of players will reach LOD0 distance, it will cause huge demand for textures and surfaces will be not textured for some time. We have to "predict" this demand and start loading much sooner (or load quickly some low res and start loading high res). Is it possible with current API? Link to comment
binstream Posted July 28, 2016 Share Posted July 28, 2016 Current streaming implementation is very straightforward. We plan to improve this in 2.4-2.5 releases. Link to comment
binstream Posted July 28, 2016 Share Posted July 28, 2016 There is a priority/group concept in the current filesystem API, which can be used for manual handling of loading queues: https://developer.unigine.com/en/docs/future/api/library/filesystem/class.filesystem Link to comment
demostenes Posted July 28, 2016 Author Share Posted July 28, 2016 There is a priority/group concept in the current filesystem API, which can be used for manual handling of loading queues: https://developer.unigine.com/en/docs/future/api/library/filesystem/class.filesystem Thanks, we will check it. Link to comment
Recommended Posts