SlideShare a Scribd company logo
1 of 49
Download to read offline
Virtual Reality for Computational Fluid Dynamics
Design and implementation of a Virtual Reality application for
Computational Fluid Dynamics
Studente: Dr. Lorenzo D’Eri
Relatore: Prof. Francesco Fabris
4 Dicembre 2017
Laurea Magistrale in Ingegneria Informatica
Dipartimento di Ingegneria e Architettura
Universit`a degli Studi di Trieste
1/14
Problem Formulation
Why Virtual Reality for CFD?
• CFD datasets are usually large, complex, three-dimensional and
time-dependent
2/14
Why Virtual Reality for CFD?
• CFD datasets are usually large, complex, three-dimensional and
time-dependent
• Visualization on a 2D screen in not optimal
2/14
Why Virtual Reality for CFD?
• CFD datasets are usually large, complex, three-dimensional and
time-dependent
• Visualization on a 2D screen in not optimal
• VR technologies offer immersive and intuitive interactions
2/14
Why Virtual Reality for CFD?
• CFD datasets are usually large, complex, three-dimensional and
time-dependent
• Visualization on a 2D screen in not optimal
• VR technologies offer immersive and intuitive interactions
• Suitable for CFD visualization
2/14
VTK and ParaView
• VTK
• Open-source software for 3D image processing and visualization
3/14
VTK and ParaView
• VTK
• Open-source software for 3D image processing and visualization
• Consists of a C++ library with Java and Python wrappers
3/14
VTK and ParaView
• VTK
• Open-source software for 3D image processing and visualization
• Consists of a C++ library with Java and Python wrappers
• ParaView
• Open-source data analysis and visualization application
3/14
VTK and ParaView
• VTK
• Open-source software for 3D image processing and visualization
• Consists of a C++ library with Java and Python wrappers
• ParaView
• Open-source data analysis and visualization application
• Built on top of VTK as a C++ application with a Qt GUI
3/14
VTK and ParaView: Architecture
Figure 1: ParaView and VTK architecture
4/14
Objectives of the development
Provide a VR environment for ParaView data that allows:
5/14
Objectives of the development
Provide a VR environment for ParaView data that allows:
• Visualization of the data
5/14
Objectives of the development
Provide a VR environment for ParaView data that allows:
• Visualization of the data
• Interaction with the data
5/14
Objectives of the development
Provide a VR environment for ParaView data that allows:
• Visualization of the data
• Interaction with the data
• Basic manipulation of the data (slicing, etc.)
5/14
Unity Application
What is Unity?
• Cross-platform all-purpose graphics and physics engine for sim-
ulations, video games and animations
6/14
What is Unity?
• Cross-platform all-purpose graphics and physics engine for sim-
ulations, video games and animations
• Hybrid approach to application development: object-oriented
and scripting-oriented
6/14
Why Unity?
• Allows prototyping and exploratory programming
7/14
Why Unity?
• Allows prototyping and exploratory programming
• suitable for more open-ended projects
7/14
Why Unity?
• Allows prototyping and exploratory programming
• suitable for more open-ended projects
• Official and community-built libraries for VR
7/14
Why Unity?
• Allows prototyping and exploratory programming
• suitable for more open-ended projects
• Official and community-built libraries for VR
• Ability to develop independently from ParaView
7/14
Why Unity?
• Allows prototyping and exploratory programming
• suitable for more open-ended projects
• Official and community-built libraries for VR
• Ability to develop independently from ParaView
• Existence of ParaView integrations
7/14
Unity Application
Main Features
Environment
7/14
Interaction
7/14
Scaling
7/14
Animation
7/14
Clipping
7/14
ParaUnity: ParaView + Unity
What is ParaUnity?
Open-source plugin for ParaView that exports to Unity
8/14
What is ParaUnity?
Open-source plugin for ParaView that exports to Unity
• Objects converted to X3D format
8/14
What is ParaUnity?
Open-source plugin for ParaView that exports to Unity
• Objects converted to X3D format
• Communication through disk I/O and TCP sockets
8/14
ParaUnity: limitations
• Disk I/O is slow
9/14
ParaUnity: limitations
• Disk I/O is slow
• Compatible only with Oculus Rift
9/14
ParaUnity: limitations
• Disk I/O is slow
• Compatible only with Oculus Rift
• Materials (colors) not being imported
9/14
ParaUnity: limitations
• Disk I/O is slow
• Compatible only with Oculus Rift
• Materials (colors) not being imported
• No object interaction allowed
9/14
ParaUnity: development
• Communication moved to RAM (named shared memory)
10/14
ParaUnity: development
• Communication moved to RAM (named shared memory)
• Import/export are now asynchronous
10/14
ParaUnity: development
• Communication moved to RAM (named shared memory)
• Import/export are now asynchronous
• Added HTC Vive support
10/14
ParaUnity: development
• Communication moved to RAM (named shared memory)
• Import/export are now asynchronous
• Added HTC Vive support
• Developed shaders for material import
10/14
ParaUnity: development
• Communication moved to RAM (named shared memory)
• Import/export are now asynchronous
• Added HTC Vive support
• Developed shaders for material import
• Implemented object interaction
10/14
Conclusions and future work
Resulting software system
Figure 2: System diagram at current stage
11/14
Project Objectives
Let us review the project objectives
! Visualization of the data
! Interaction with the data
! Basic manipulation of the data (slicing, etc.)
12/14
Future development
Open-ended project leaves space for further development.
Some ideas include:
• Move more ParaView features (e.g. contouring) to Unity
13/14
Future development
Open-ended project leaves space for further development.
Some ideas include:
• Move more ParaView features (e.g. contouring) to Unity
• Ability to chose displayed variable in Unity
13/14
Future development
Open-ended project leaves space for further development.
Some ideas include:
• Move more ParaView features (e.g. contouring) to Unity
• Ability to chose displayed variable in Unity
• Develop X3D alternative for better performance
13/14
Thank for your attention
Questions?
14/14

More Related Content

Similar to Design and implementation of a Virtual Reality application for Computational Fluid Dynamics

2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR SystemsMark Billinghurst
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...CollabNet
 
Lessons Learned from working with HTML5, GlassFish and NetBeans
Lessons Learned from working with HTML5, GlassFish and NetBeansLessons Learned from working with HTML5, GlassFish and NetBeans
Lessons Learned from working with HTML5, GlassFish and NetBeansidrsolutions
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationJoseph Labrecque
 
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)VMware Tanzu
 
Steganography: a tool for community driven development in TerraTech
Steganography: a tool for community driven development in TerraTechSteganography: a tool for community driven development in TerraTech
Steganography: a tool for community driven development in TerraTechRuss Clarke
 
Technology Roadmap by ericnel
Technology Roadmap by ericnelTechnology Roadmap by ericnel
Technology Roadmap by ericnelEric Nelson
 
Workday "Creating an Effective Developer Experience on Kubernetes"
Workday "Creating an Effective Developer Experience on Kubernetes"Workday "Creating an Effective Developer Experience on Kubernetes"
Workday "Creating an Effective Developer Experience on Kubernetes"Daniel Bryant
 
Software Quality in the Devops World: The Impact of Continuous Delivery on Te...
Software Quality in the Devops World: The Impact of Continuous Delivery on Te...Software Quality in the Devops World: The Impact of Continuous Delivery on Te...
Software Quality in the Devops World: The Impact of Continuous Delivery on Te...cornelia davis
 
WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)Oracle
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipVMware Tanzu
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipMatt Stine
 
IoT Architecture - are traditional architectures good enough or do we need n...
 IoT Architecture - are traditional architectures good enough or do we need n... IoT Architecture - are traditional architectures good enough or do we need n...
IoT Architecture - are traditional architectures good enough or do we need n...Guido Schmutz
 
Workshop web rtc what is
Workshop web rtc what isWorkshop web rtc what is
Workshop web rtc what isDouglas Tait
 
Demystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 SlidesDemystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 SlidesPaige Morgan
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyESUG
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceTsahi Levent-levi
 

Similar to Design and implementation of a Virtual Reality application for Computational Fluid Dynamics (20)

Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems
 
WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)
WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)
WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
 
Lessons Learned from working with HTML5, GlassFish and NetBeans
Lessons Learned from working with HTML5, GlassFish and NetBeansLessons Learned from working with HTML5, GlassFish and NetBeans
Lessons Learned from working with HTML5, GlassFish and NetBeans
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher Education
 
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
 
Steganography: a tool for community driven development in TerraTech
Steganography: a tool for community driven development in TerraTechSteganography: a tool for community driven development in TerraTech
Steganography: a tool for community driven development in TerraTech
 
Technology Roadmap by ericnel
Technology Roadmap by ericnelTechnology Roadmap by ericnel
Technology Roadmap by ericnel
 
Workday "Creating an Effective Developer Experience on Kubernetes"
Workday "Creating an Effective Developer Experience on Kubernetes"Workday "Creating an Effective Developer Experience on Kubernetes"
Workday "Creating an Effective Developer Experience on Kubernetes"
 
Software Quality in the Devops World: The Impact of Continuous Delivery on Te...
Software Quality in the Devops World: The Impact of Continuous Delivery on Te...Software Quality in the Devops World: The Impact of Continuous Delivery on Te...
Software Quality in the Devops World: The Impact of Continuous Delivery on Te...
 
WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
IoT Architecture - are traditional architectures good enough or do we need n...
 IoT Architecture - are traditional architectures good enough or do we need n... IoT Architecture - are traditional architectures good enough or do we need n...
IoT Architecture - are traditional architectures good enough or do we need n...
 
Workshop web rtc what is
Workshop web rtc what isWorkshop web rtc what is
Workshop web rtc what is
 
Responsive web - CC FE & UX
Responsive web -  CC FE & UXResponsive web -  CC FE & UX
Responsive web - CC FE & UX
 
Demystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 SlidesDemystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 Slides
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
 

Recently uploaded

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 

Recently uploaded (20)

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 

Design and implementation of a Virtual Reality application for Computational Fluid Dynamics

  • 1. Virtual Reality for Computational Fluid Dynamics Design and implementation of a Virtual Reality application for Computational Fluid Dynamics Studente: Dr. Lorenzo D’Eri Relatore: Prof. Francesco Fabris 4 Dicembre 2017 Laurea Magistrale in Ingegneria Informatica Dipartimento di Ingegneria e Architettura Universit`a degli Studi di Trieste 1/14
  • 3. Why Virtual Reality for CFD? • CFD datasets are usually large, complex, three-dimensional and time-dependent 2/14
  • 4. Why Virtual Reality for CFD? • CFD datasets are usually large, complex, three-dimensional and time-dependent • Visualization on a 2D screen in not optimal 2/14
  • 5. Why Virtual Reality for CFD? • CFD datasets are usually large, complex, three-dimensional and time-dependent • Visualization on a 2D screen in not optimal • VR technologies offer immersive and intuitive interactions 2/14
  • 6. Why Virtual Reality for CFD? • CFD datasets are usually large, complex, three-dimensional and time-dependent • Visualization on a 2D screen in not optimal • VR technologies offer immersive and intuitive interactions • Suitable for CFD visualization 2/14
  • 7. VTK and ParaView • VTK • Open-source software for 3D image processing and visualization 3/14
  • 8. VTK and ParaView • VTK • Open-source software for 3D image processing and visualization • Consists of a C++ library with Java and Python wrappers 3/14
  • 9. VTK and ParaView • VTK • Open-source software for 3D image processing and visualization • Consists of a C++ library with Java and Python wrappers • ParaView • Open-source data analysis and visualization application 3/14
  • 10. VTK and ParaView • VTK • Open-source software for 3D image processing and visualization • Consists of a C++ library with Java and Python wrappers • ParaView • Open-source data analysis and visualization application • Built on top of VTK as a C++ application with a Qt GUI 3/14
  • 11. VTK and ParaView: Architecture Figure 1: ParaView and VTK architecture 4/14
  • 12. Objectives of the development Provide a VR environment for ParaView data that allows: 5/14
  • 13. Objectives of the development Provide a VR environment for ParaView data that allows: • Visualization of the data 5/14
  • 14. Objectives of the development Provide a VR environment for ParaView data that allows: • Visualization of the data • Interaction with the data 5/14
  • 15. Objectives of the development Provide a VR environment for ParaView data that allows: • Visualization of the data • Interaction with the data • Basic manipulation of the data (slicing, etc.) 5/14
  • 17. What is Unity? • Cross-platform all-purpose graphics and physics engine for sim- ulations, video games and animations 6/14
  • 18. What is Unity? • Cross-platform all-purpose graphics and physics engine for sim- ulations, video games and animations • Hybrid approach to application development: object-oriented and scripting-oriented 6/14
  • 19. Why Unity? • Allows prototyping and exploratory programming 7/14
  • 20. Why Unity? • Allows prototyping and exploratory programming • suitable for more open-ended projects 7/14
  • 21. Why Unity? • Allows prototyping and exploratory programming • suitable for more open-ended projects • Official and community-built libraries for VR 7/14
  • 22. Why Unity? • Allows prototyping and exploratory programming • suitable for more open-ended projects • Official and community-built libraries for VR • Ability to develop independently from ParaView 7/14
  • 23. Why Unity? • Allows prototyping and exploratory programming • suitable for more open-ended projects • Official and community-built libraries for VR • Ability to develop independently from ParaView • Existence of ParaView integrations 7/14
  • 31. What is ParaUnity? Open-source plugin for ParaView that exports to Unity 8/14
  • 32. What is ParaUnity? Open-source plugin for ParaView that exports to Unity • Objects converted to X3D format 8/14
  • 33. What is ParaUnity? Open-source plugin for ParaView that exports to Unity • Objects converted to X3D format • Communication through disk I/O and TCP sockets 8/14
  • 35. ParaUnity: limitations • Disk I/O is slow • Compatible only with Oculus Rift 9/14
  • 36. ParaUnity: limitations • Disk I/O is slow • Compatible only with Oculus Rift • Materials (colors) not being imported 9/14
  • 37. ParaUnity: limitations • Disk I/O is slow • Compatible only with Oculus Rift • Materials (colors) not being imported • No object interaction allowed 9/14
  • 38. ParaUnity: development • Communication moved to RAM (named shared memory) 10/14
  • 39. ParaUnity: development • Communication moved to RAM (named shared memory) • Import/export are now asynchronous 10/14
  • 40. ParaUnity: development • Communication moved to RAM (named shared memory) • Import/export are now asynchronous • Added HTC Vive support 10/14
  • 41. ParaUnity: development • Communication moved to RAM (named shared memory) • Import/export are now asynchronous • Added HTC Vive support • Developed shaders for material import 10/14
  • 42. ParaUnity: development • Communication moved to RAM (named shared memory) • Import/export are now asynchronous • Added HTC Vive support • Developed shaders for material import • Implemented object interaction 10/14
  • 44. Resulting software system Figure 2: System diagram at current stage 11/14
  • 45. Project Objectives Let us review the project objectives ! Visualization of the data ! Interaction with the data ! Basic manipulation of the data (slicing, etc.) 12/14
  • 46. Future development Open-ended project leaves space for further development. Some ideas include: • Move more ParaView features (e.g. contouring) to Unity 13/14
  • 47. Future development Open-ended project leaves space for further development. Some ideas include: • Move more ParaView features (e.g. contouring) to Unity • Ability to chose displayed variable in Unity 13/14
  • 48. Future development Open-ended project leaves space for further development. Some ideas include: • Move more ParaView features (e.g. contouring) to Unity • Ability to chose displayed variable in Unity • Develop X3D alternative for better performance 13/14
  • 49. Thank for your attention Questions? 14/14