SlideShare a Scribd company logo
YARCA YET ANOTHER RAYCASTING APPLICATION Michele Pilloni  Elda Paja Davide Mottin PROJECT REPORT  FOR  COMPUTER GRAPHICS COURSE
PROBLEM STATEMENT The scope of this project is to extend NASA’s  World Wind to perform ray casting both on the  surface of the world and on arbitrary 3D objects.
YARCA ENVIRONMENT
SYSTEM ARCHITECTURE
RAY CASTING Ray casting on the terrain Ray casting on arbitrary 3D objects
RAY CASTING ON THE TERRAIN Transmitters  Ray Casting Technique  Ray Casting with barriers  Groups of transmitters
TRANSMITTERS  3D model objects of two types:  Antennas Bulbs They  support different types of signals (i.e. linear, Gaussian, etc…) To manage transmitters, associate:  A sector, as big as the coverage area of their signals A matrix which is mapped to the sector  A sector image to represent the coverage area of the transmitter  The color of the image will vary in compliance with the values of the matrix
RAY CASTING TECHNIQUE
RAY CASTING ALGORITHM
RAY CASTING ALGORITHM
GROUPS OF TRANSMITTERS  We can put more than one transmitter on the terrain.  Different types of transmitters transmit different types of signals  In case we have signals of the same type that are within the coverage area of one another, they intersect.  Except for the intersection, the resultant transmission is also computed and this is shown graphically using a more intensive color.  On the other hand, signals of different types cannot intersect with one another, even if they were close together.
The values of the resulting matrix containing all the given matrices will be calculated as :   GROUPS OF TRANSMITTERS:  MATRIX COMPUTATION  We focus our attention in  the intersection area:
GROUPS OF TRANSMITTERS:  MATRIX COMPUTATION  Compare  t1  with  t2.  If they intersect, compute resulting matrices setting the resulting value in the intersection part for t1 and 0 in that of t2.  Computation is performed  on pairs of matrices:
Repeat step 1 with  t i  for i = 1 … n  Repeat comparing  t i  for i = 2 … n  and  t i+j   for  j = 3 … n,  until no comparisons are needed Compute images starting by the matrices  GROUPS OF TRANSMITTERS:  MATRIX COMPUTATION
WHY GROUPING TRANSMITTERS? The main problem of casting each image individually was that the borders were not so well defined, mainly because world wind performs some operations, to improve the quality of the textures such as Gaussian filtering. This kind of indexing and grouping offers great flexibility when moving, adding, removing, or stopping a transmitter, updating the current view accordingly, coming out with an high quality texture
RAY CASTING ON 3D OBJECTS  Barrier Layer  Compute texture  Texture mapping  Multipass Texture Mapping
BARRIERS Barrier is an object containing:  a sector for the extent of the object base that is a world wind object, and  the barrier itself that is a Model to render a 3D object using openGL primitives.
BARRIERS Directionable Barriers bounding box as a sphere can distinguish which of their faces are illuminated by the transmission and which are in shadow can determine which is the nearest point to the transmission center define the near plane
COMPUTE TEXTURE To perform ray casting on the object surface the transmitter needs to know for each barrier  b : At what distance  b  is positioned For each point of the base sector of  b , the maximal height to which the transmission can reach Whether there are other barriers that can hide totally or partially the transmission on  b.
COMPUTATION OF THE DISTANCE FROM THE TRANSMITTER TO THE BARRIER:  Set the frustum, defining  the eye position,  the eye direction, which is from the transmitter to the centroid of the barrier,  the up vector, and  the near clipping distance.
MAXIMAL HEIGHT TO WHICH THE TRANSMISSION CAN REACH Split the cone of transmission into an infinite number of circles Choose one of this circles and assign it a color  Looking at the direction and position where the barrier is supposed to be prospectively through this circle we can see the extension of the transmission for that particular perspective Save such information in what we call a “ stencil ” buffer, that is color buffer used as a mask and is represented by the selected circle All the values of the stencil buffer that do not coincide with the given color of the selected circle, are considered to be out of the transmission area, as they are higher than the maximum transmission height
RAY CASTING ON BARRIERS ALGORITHM  For each Transmitter  For each Barrier with center ≤ transmission radius  set the frustum based on the bounding box  calculate the “stencil buffer” and save it  clean the color buffer  calculate depth buffer and save it  disable depth test so that nothing is overwritten in the depth buffer render other barriers starting from the most distant, in order to know whether there are other barriers in front of the one that is being considered and read values from the color buffer. Calculate the texture by combining the information taken from the three buffers.
Textures are images that are mapped in a 3D world  In our case, textures are images representing the transmission area  To perform the texture mapping we need to map texture coordinates to vertices of the object that define the face where the texture will be mapped Generate texture coordinates  Automatically using glTexGen. Determine the positioning of the different sides/faces of the object wrt the transmitter. TEXTURE MAPPING
DETERMINE THE POSITIONING OF THE OBJECT FACES Consider the normal vector of each face of the object and compute the scalar product between such vector and the vector of eye direction:  If the product is  positive, it means that the angle between the two vectors is less than 90°, and texturing should be enabled.  Otherwise, if the product is  negative, the angle is greater than 90°, and  texturing should be disabled.
MULTIPASS TEXTURE MAPPING For every barrier that has to be rendered and has a texture on it:  If the barrier has not been rendered before, draw it normally and map the texture on it;  If the barrier has been already rendered, draw a fully transparent barrier over it with only the texture visible: Blending technique is used.
MULTIPASS TEXTURE MAPPING Multi Passing Scheme
FUTURE WORK  Further improvements Increase computation velocity Achieve better precision  Consider barriers of other shapes and dimensions  Consider flying objects Adaption to the latest version of the world wind framework
CONCLUSIONS  The developed system solves problems regarding ray casting in world wind environment  It has a modular architecture that allows great expendability  The two proposed techniques are different approaches to this problem

More Related Content

DOCX
Using scale coordination and semantic information for robust 3 d object recog...
PPT
Formont.ppt
PPTX
Rgb(d) Scene Labeling- features and algorithms
PDF
6 texture mapping computer graphics
PPTX
Texture mapping overview
PDF
painterly_droplets_2015
PPT
DCS-IGARSS11_v2-aguilera.ppt
PDF
Pattern Perception and Map Design
Using scale coordination and semantic information for robust 3 d object recog...
Formont.ppt
Rgb(d) Scene Labeling- features and algorithms
6 texture mapping computer graphics
Texture mapping overview
painterly_droplets_2015
DCS-IGARSS11_v2-aguilera.ppt
Pattern Perception and Map Design

What's hot (20)

PDF
Texture and Glyph Design
PPTX
Global illumination
PPTX
3 d display-methods
PDF
Voxel based global-illumination
PPTX
Normal Mapping / Computer Graphics - IK
DOCX
Variable length signature for near-duplicate
PPT
Locally_adaptive.ppt
PPT
Probabilistic Approaches to Shadow Maps Filtering
PDF
Interferogram Filtering Using Gaussians Scale Mixtures in Steerable Wavelet D...
PPTX
DPI 1 and DPI 2 Texture Mapping
PPTX
Neural Scene Representation & Rendering: Introduction to Novel View Synthesis
PPTX
On constructing z dimensional Image By DIBR Synthesized Images
PDF
Calculation of sinuosity in GRASS GIS
PDF
Derive hypsometric curves in GRASS GIS
PPTX
Rendering
PPTX
Land mine detection
PDF
Create swath profiles in GRASS GIS
PPT
Shading in OpenGL
PPTX
texture mapping in computer graphics
PPT
Texture Mapping
Texture and Glyph Design
Global illumination
3 d display-methods
Voxel based global-illumination
Normal Mapping / Computer Graphics - IK
Variable length signature for near-duplicate
Locally_adaptive.ppt
Probabilistic Approaches to Shadow Maps Filtering
Interferogram Filtering Using Gaussians Scale Mixtures in Steerable Wavelet D...
DPI 1 and DPI 2 Texture Mapping
Neural Scene Representation & Rendering: Introduction to Novel View Synthesis
On constructing z dimensional Image By DIBR Synthesized Images
Calculation of sinuosity in GRASS GIS
Derive hypsometric curves in GRASS GIS
Rendering
Land mine detection
Create swath profiles in GRASS GIS
Shading in OpenGL
texture mapping in computer graphics
Texture Mapping
Ad

Viewers also liked (9)

PDF
A graphic library and an application for simple curve manipolation
PPT
PPTX
Ray tracing
PPT
CS 354 Ray Casting & Tracing
PPTX
Ray tracing
PPTX
Ray tracing
PDF
Introduction to Monte Carlo Ray Tracing, OpenCL Implementation (CEDEC 2014)
PPT
computer graphics
PPT
lecture1 introduction to computer graphics(Computer graphics tutorials)
A graphic library and an application for simple curve manipolation
Ray tracing
CS 354 Ray Casting & Tracing
Ray tracing
Ray tracing
Introduction to Monte Carlo Ray Tracing, OpenCL Implementation (CEDEC 2014)
computer graphics
lecture1 introduction to computer graphics(Computer graphics tutorials)
Ad

Similar to YARCA (Yet Another Raycasting Application) Project (20)

PDF
Scratch a pixel - Reflection
PPT
november6.ppt
PDF
Graphics
PPTX
Ray casting algorithm by mhm
PDF
Improved Alpha-Tested Magnification for Vector Textures and Special Effects
PDF
Cudaray
PPTX
Rendering Algorithms.pptx
PPTX
raycasting. ppt
PDF
CUDA by Example : Constant Memory and Events : Notes
PPT
Shadow Techniques for Real-Time and Interactive Applications
PPT
Advanced Lighting for Interactive Applications
PPTX
Cgp lecture1 introduction
PPTX
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
PPT
newappsonbaseinnovtions
PPTX
Penn graphics
PDF
Rendering Techniques in Virtual Reality.pdf
PPTX
Introduce to 3d rendering engine
PDF
[2018 GDC] Real-Time Ray-Tracing Techniques for Integration into Existing Ren...
PDF
Ribeiro visfaces07
PDF
YARCA (Yet Another Raycasting Application) Project
Scratch a pixel - Reflection
november6.ppt
Graphics
Ray casting algorithm by mhm
Improved Alpha-Tested Magnification for Vector Textures and Special Effects
Cudaray
Rendering Algorithms.pptx
raycasting. ppt
CUDA by Example : Constant Memory and Events : Notes
Shadow Techniques for Real-Time and Interactive Applications
Advanced Lighting for Interactive Applications
Cgp lecture1 introduction
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
newappsonbaseinnovtions
Penn graphics
Rendering Techniques in Virtual Reality.pdf
Introduce to 3d rendering engine
[2018 GDC] Real-Time Ray-Tracing Techniques for Integration into Existing Ren...
Ribeiro visfaces07
YARCA (Yet Another Raycasting Application) Project

More from graphitech (20)

PDF
A graphic library and an application for simple curve manipolation
PPTX
A graphic library and an application for simple curve manipolation
PDF
A graphic library and an application for simple curve manipolation
PPT
Rescue Mission
PPT
Rescue Mission
PDF
Mashup - Sustainability
PPT
Mashup - Sustainability
PDF
Multiple Screens
PPT
Multiple Screens
PPT
Graph Matching
PPT
Shape Analysis
PDF
Human Interaction Library
PPT
Human Interaction Library
PDF
WebCams Mapping on Nasa World Wind
PDF
Street Builder
PPT
Street Builder
PDF
Live Video in World Wind
PPT
Live Video in World Wind
PPT
Terrain Modification
PDF
Terrain Modification
A graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolation
A graphic library and an application for simple curve manipolation
Rescue Mission
Rescue Mission
Mashup - Sustainability
Mashup - Sustainability
Multiple Screens
Multiple Screens
Graph Matching
Shape Analysis
Human Interaction Library
Human Interaction Library
WebCams Mapping on Nasa World Wind
Street Builder
Street Builder
Live Video in World Wind
Live Video in World Wind
Terrain Modification
Terrain Modification

Recently uploaded (20)

PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Complications of Minimal Access Surgery at WLH
PDF
Pre independence Education in Inndia.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
master seminar digital applications in india
PDF
01-Introduction-to-Information-Management.pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Cell Structure & Organelles in detailed.
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Complications of Minimal Access Surgery at WLH
Pre independence Education in Inndia.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
master seminar digital applications in india
01-Introduction-to-Information-Management.pdf
Supply Chain Operations Speaking Notes -ICLT Program
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Pharmacology of Heart Failure /Pharmacotherapy of CHF
human mycosis Human fungal infections are called human mycosis..pptx
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Cell Structure & Organelles in detailed.
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
102 student loan defaulters named and shamed – Is someone you know on the list?

YARCA (Yet Another Raycasting Application) Project

  • 1. YARCA YET ANOTHER RAYCASTING APPLICATION Michele Pilloni Elda Paja Davide Mottin PROJECT REPORT FOR COMPUTER GRAPHICS COURSE
  • 2. PROBLEM STATEMENT The scope of this project is to extend NASA’s World Wind to perform ray casting both on the surface of the world and on arbitrary 3D objects.
  • 5. RAY CASTING Ray casting on the terrain Ray casting on arbitrary 3D objects
  • 6. RAY CASTING ON THE TERRAIN Transmitters Ray Casting Technique Ray Casting with barriers Groups of transmitters
  • 7. TRANSMITTERS 3D model objects of two types: Antennas Bulbs They support different types of signals (i.e. linear, Gaussian, etc…) To manage transmitters, associate: A sector, as big as the coverage area of their signals A matrix which is mapped to the sector A sector image to represent the coverage area of the transmitter The color of the image will vary in compliance with the values of the matrix
  • 11. GROUPS OF TRANSMITTERS We can put more than one transmitter on the terrain. Different types of transmitters transmit different types of signals In case we have signals of the same type that are within the coverage area of one another, they intersect. Except for the intersection, the resultant transmission is also computed and this is shown graphically using a more intensive color. On the other hand, signals of different types cannot intersect with one another, even if they were close together.
  • 12. The values of the resulting matrix containing all the given matrices will be calculated as : GROUPS OF TRANSMITTERS: MATRIX COMPUTATION We focus our attention in the intersection area:
  • 13. GROUPS OF TRANSMITTERS: MATRIX COMPUTATION Compare t1 with t2. If they intersect, compute resulting matrices setting the resulting value in the intersection part for t1 and 0 in that of t2. Computation is performed on pairs of matrices:
  • 14. Repeat step 1 with t i for i = 1 … n Repeat comparing t i for i = 2 … n and t i+j for j = 3 … n, until no comparisons are needed Compute images starting by the matrices GROUPS OF TRANSMITTERS: MATRIX COMPUTATION
  • 15. WHY GROUPING TRANSMITTERS? The main problem of casting each image individually was that the borders were not so well defined, mainly because world wind performs some operations, to improve the quality of the textures such as Gaussian filtering. This kind of indexing and grouping offers great flexibility when moving, adding, removing, or stopping a transmitter, updating the current view accordingly, coming out with an high quality texture
  • 16. RAY CASTING ON 3D OBJECTS Barrier Layer Compute texture Texture mapping Multipass Texture Mapping
  • 17. BARRIERS Barrier is an object containing: a sector for the extent of the object base that is a world wind object, and the barrier itself that is a Model to render a 3D object using openGL primitives.
  • 18. BARRIERS Directionable Barriers bounding box as a sphere can distinguish which of their faces are illuminated by the transmission and which are in shadow can determine which is the nearest point to the transmission center define the near plane
  • 19. COMPUTE TEXTURE To perform ray casting on the object surface the transmitter needs to know for each barrier b : At what distance b is positioned For each point of the base sector of b , the maximal height to which the transmission can reach Whether there are other barriers that can hide totally or partially the transmission on b.
  • 20. COMPUTATION OF THE DISTANCE FROM THE TRANSMITTER TO THE BARRIER: Set the frustum, defining the eye position, the eye direction, which is from the transmitter to the centroid of the barrier, the up vector, and the near clipping distance.
  • 21. MAXIMAL HEIGHT TO WHICH THE TRANSMISSION CAN REACH Split the cone of transmission into an infinite number of circles Choose one of this circles and assign it a color Looking at the direction and position where the barrier is supposed to be prospectively through this circle we can see the extension of the transmission for that particular perspective Save such information in what we call a “ stencil ” buffer, that is color buffer used as a mask and is represented by the selected circle All the values of the stencil buffer that do not coincide with the given color of the selected circle, are considered to be out of the transmission area, as they are higher than the maximum transmission height
  • 22. RAY CASTING ON BARRIERS ALGORITHM For each Transmitter For each Barrier with center ≤ transmission radius set the frustum based on the bounding box calculate the “stencil buffer” and save it clean the color buffer calculate depth buffer and save it disable depth test so that nothing is overwritten in the depth buffer render other barriers starting from the most distant, in order to know whether there are other barriers in front of the one that is being considered and read values from the color buffer. Calculate the texture by combining the information taken from the three buffers.
  • 23. Textures are images that are mapped in a 3D world In our case, textures are images representing the transmission area To perform the texture mapping we need to map texture coordinates to vertices of the object that define the face where the texture will be mapped Generate texture coordinates Automatically using glTexGen. Determine the positioning of the different sides/faces of the object wrt the transmitter. TEXTURE MAPPING
  • 24. DETERMINE THE POSITIONING OF THE OBJECT FACES Consider the normal vector of each face of the object and compute the scalar product between such vector and the vector of eye direction: If the product is positive, it means that the angle between the two vectors is less than 90°, and texturing should be enabled. Otherwise, if the product is negative, the angle is greater than 90°, and texturing should be disabled.
  • 25. MULTIPASS TEXTURE MAPPING For every barrier that has to be rendered and has a texture on it: If the barrier has not been rendered before, draw it normally and map the texture on it; If the barrier has been already rendered, draw a fully transparent barrier over it with only the texture visible: Blending technique is used.
  • 26. MULTIPASS TEXTURE MAPPING Multi Passing Scheme
  • 27. FUTURE WORK Further improvements Increase computation velocity Achieve better precision Consider barriers of other shapes and dimensions Consider flying objects Adaption to the latest version of the world wind framework
  • 28. CONCLUSIONS The developed system solves problems regarding ray casting in world wind environment It has a modular architecture that allows great expendability The two proposed techniques are different approaches to this problem

Editor's Notes

  • #21: To find out the distance from the transmitter to the barrier: (1) we set the frustum, defining the eye position, the eye direction, which is from the transmitter to the centroid of the barrier, the up vector and the near clipping distance. (2) DEPTH_TEST is enabled to render the barrier. (3) the result of the DEPTH_TEST is written on the Depth Buffer. This matrix is saved. (4) associate the values of the Depth Buffer to world wind distances. The idea is that the values inside the Depth Buffer do not have unit measures though they already express information about distances. We need to make some kind of calibration to do the right mapping between values and real distances. We use proportion for this purpose. A known point, for which we know the position in our matrix, is considered. We chose the vertex of the barrier nearest to the transmission center. Having this known point, we do know this information about it: a. the corresponding value in the depth matrix b. the distance to the transmitter, which is calculated as the distance from the transmitter to this point of the barrier In this way, we can build a correspondence between the values of the depth buffer to the distances, to calculate the actual distance for each point.
  • #22: The diameter of the circles is as wide as the transmission at the specified height.
  • #23: It is important not to forget to disable the depth buffer test before performing the “stencil” buffer and the color buffer test, otherwise it would destroy the view in the 2nd and the 5th step, because every new object would have to pass this test first.