Amerio.Stephane Posted August 22, 2024 Posted August 22, 2024 Hi, We were eager to update to 2.18.1 and finally take profit from Dx12... only to realize that the EasyBlend plugin is limited to Dx11 (yes it's documented, we just overlooked that part). In 2.19, you seems to still use the SD 7 version, which is also limited to Dx11. Is there any plan to have the EasyBlend plugin for Dx12? If this is a limitation by ScalableDisplay (limited technical support?), do you plan at some point to just scrap it and parse the .ol files yourselves? (the file is plain text and the warping & blending should be straight forward) We really would like to take profit from Dx12 performance increase and DLSS support! Thank you :)
silent Posted August 23, 2024 Posted August 23, 2024 Hi Stephane, Were there any changes in *.ol mesh formats in between 7 and 9? In version 2.19, you can utilize the SpiderVision plugin and configure it to work with *.ol files from Scalable Display, without the need for any additional plugins. It should be compatible with any API (DX11, DX12, or VK). If you encounter any visual artifacts, please send us your *.ol files for testing, and we will do our best to resolve the issues. Thanks! How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
Amerio.Stephane Posted August 23, 2024 Author Posted August 23, 2024 Indeed, I hadn't tried with 2.19 but it actually works with Dx12! So this are some very good news! Yet, somethings aren't clear for me: We use multiple OL files, corresponding to different cockpits and eye position (pilot/copilot for example), and previously we used the UnigineEasyBlend API to swap OL file at runtime. How can we do this now (or something equivalent) ? As changing eye position only actually requires changing the eye offset and view orientation, maybe it's possible now with a new API ? (for example to support a realtime eye tracker) Now, the OL file is imported in the SV file in a preprocess step. Is it possible to automate this? We can have quite a lot of OL files, for multiple eye position and multiple cockpit geometries... Before 2.19, I just had to click a single button 'Update Calibration' in ScalableDisplay for all simulators and all cockpits to generate a few dozens OL files. Importing them one by one manually will be tedious... As you now have full control of the warping/blending, would it be possible to exclude the console from it (ie render the console after warping the scene) How can I disable temporarily the warping? (equivalent to the previous easyblend 0 command) Thank you!
silent Posted August 26, 2024 Posted August 26, 2024 Are you referring to dynamic eye points? It has not yet been implemented, but from my understanding, it should not be very difficult to add, as long as the additional eye points are essentially offsets from the default position. I believe that question is similar to the first one. The getViewOffset() method was available in version 2.18 but was removed in version 2.19. A direct analogue will be added to the SV API in the upcoming hotfix (2.19.0.1). You can use the API to import projection files from a disk and assign them to individual PCs. A small example of the code will be provided shortly. Unfortunately, that would still be difficult to achieve. Could you please describe your use case for this? Are you using a master PC (e.g., a calibration PC) as an IG channel, and do you have a distorted view here? In 2.19.0.1 we will also update SV API so you can disable EasyBlend warping on fly. Thanks! How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
silent Posted August 27, 2024 Posted August 27, 2024 Here's code snippet for #3: // changing mesh for a selected view (2.19.0.1) int AppWorldLogic::update() { spider_vision_manager = Unigine::Plugins::SpiderVision::Manager::get(); int view_id = spider_vision_manager->findViewportID("left"); if (view_id == -1) return 1; auto config = spider_vision_manager->getConfig(); auto viewport = config->getViewport(view_id); if (Input::isKeyDown(Input::KEY_P)) { viewport->loadEasyBlendSettings("E:/EasyBlend/EasyBlendOLfiles/TestMeshes/ViewAngleA_+20degrees.ol"); } if (Input::isKeyDown(Input::KEY_O)) { // you can use the file with the same name that was before, ol mesh will be automatically reloaded viewport->loadEasyBlendSettings("E:/EasyBlend/EasyBlendOLfiles/TestMeshes/ViewAngleBC_+45degrees.ol"); } if (Input::isKeyDown(Input::KEY_L)) { viewport->removeEasyblendSetup(); } if (Input::isKeyDown(Input::KEY_K)) { bool enabled = viewport->getEasyblendData()->isEnabled(); viewport->getEasyblendData()->setEnabled(!enabled); } return 1; } Hope that helps :) 1 How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
Amerio.Stephane Posted August 27, 2024 Author Posted August 27, 2024 Thanks a lot! That will definitely help! But just to be clear: in a master/slave context, where all master+slaves have the same files on disk, is it sufficient to call viewport->loadEasyBlendSettings from the master only for each slave vioewport, or do I need to call it on every machine (ie is the call going through the syncker automatically or not)? Thanks!
silent Posted August 28, 2024 Posted August 28, 2024 The both ways should work, if I remember correctly. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
Amerio.Stephane Posted August 28, 2024 Author Posted August 28, 2024 Ok Thanks. On a side note, please update the SpiderVision documentation, as a few functions are missing from the doc (isEnabled, find*, viewoffset). About viewoffset (2.19.0.1), does it mean we can have a runtime eye position with a tracker, updating the camera frustums? Or is this a way to set the IG View offset (equivalent to CIGI ViewControl)? Maybe a sample would be great :)
silent Posted August 29, 2024 Posted August 29, 2024 Yes, documentation will be updated soon. You can find a sample in the attachment. It should only work with the SpiderVision version that we provided to you in the helpdesk. So far, we are not quite sure how offset feature should function, so we will be waiting for your feedback :) Thanks! sync_offset.zip 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