CN107093207A - A kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU - Google Patents

A kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU Download PDF

Info

Publication number
CN107093207A
CN107093207A CN201710237761.2A CN201710237761A CN107093207A CN 107093207 A CN107093207 A CN 107093207A CN 201710237761 A CN201710237761 A CN 201710237761A CN 107093207 A CN107093207 A CN 107093207A
Authority
CN
China
Prior art keywords
coordinate system
axis
diffusion
minx
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710237761.2A
Other languages
Chinese (zh)
Other versions
CN107093207B (en
Inventor
程若桢
陈静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201710237761.2A priority Critical patent/CN107093207B/en
Publication of CN107093207A publication Critical patent/CN107093207A/en
Application granted granted Critical
Publication of CN107093207B publication Critical patent/CN107093207B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Image Generation (AREA)

Abstract

The present invention provides a kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU, the array of vertices generation processing of leakage range of scatter is carried out by CPU, after the array of vertices that t reveals range of scatter is loaded into PBO by CPU, when performing array of vertices generation processing for next spreading moment and being loaded into another PBO, array of vertices is transferred to three-D grain object and drawing modification from PBO by GPU, concentration value volume data and per-vertex lighting transmissivity volume data are calculated into write-in three-D grain by GPGPU, screen pixels point color value is completed by sampled three-dimensional texture to calculate, realize the generation of diffusion concentration data and the dynamic and visual integration based on sphere under natural gas leaking diffusion conditions.The present invention uses multi-scale sampling policy optimization texture mapping efficiency, and improving dynamic using the characteristic of CPU and GPU asynchronous process renders performance, illustrates the overall picture and details of concentration distribution in natural gas leaking diffusion process.

Description

A kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU
Technical field
It is more particularly to a kind of to be directed to natural gas the present invention relates to GPGPU and three-dimensional geographic information visualization technique field Diffusion concentration data generation under the conditions of Release and dispersion and the method for the dynamic and visual integration based on sphere.
Background technology
The leakage diffusion accident of natural gas jeopardizes the transportation safety of national energy, often brings immeasurable economic loss And casualties.The timely and accurately concentration distribution scope after Natural Gas Prediction Release and dispersion, for the Emergency decision after accident It is very necessary.
For the Visualization of natural gas leakage range of scatter, the common method that relevant document is proposed be combine GIS and Model of atmospheric diffusion, Zhang Bincai, Gaussian plume model and its GIS Integrated research [J] the environment prison of Zhao Jun air pollution diffusions Test tube is managed and technology, and 2008,05:17-19+55;Air pollution diffusion simulation systems of the Ou Yangkun based on three peacekeeping Temporal GISs Research is with realizing [D] Tsing-Hua University, 2011;Block toxic gas diffusion process model building under Zheng Maohui, Jin Min, Guo Fei .GIS supports With simulation [J] Wuhan University Journals (information science version), 2013,08:935-939;Simple flood is stepped on, Fan Xiangtao, the prosperous subways of Wang Jin Website harmful gases diffusion three-dimensional visualization studies [J] Surveying and mappings, 2013,01:136-138+141.In combination GIS and greatly Gas diffusion model is expressed during natural gas leaking range of scatter, and many researchs lay particular emphasis on Release and dispersion scope on two-dimensional map Visualization;Release and dispersion scope is mainly based upon Marching Cubes algorithms in the diffusion simulations of three dimensions and draws concentration etc. The three-dimensional visualization in value face, has problems in that:(1) concentration contour surface can only represent in data the structure of part contour surface and Spatial relationship, it is impossible to reflect the overall picture and details of concentration distribution in natural gas leaking diffusion process;(2) for large-scale concentration Data, the determination of concentration equivalent point and the structure of concentration contour surface have impact on rendering efficiency, therefore often by concentration equivalent point The generation of data is used as preprocessing process, it is difficult to realize concentration data generation and visual integration.
Volume Rendering Techniques are one kind of scientific visualization technology, can produce the general image of three-dimensional data, including body Interior useful details.Therefore, Volume Rendering Techniques can solve the problem that above-mentioned first problem.Relevant document combination Volume Rendering Techniques are realized The visualization of 3 d data field.The research and application of Real-time Smoke simulations of Hou Meihua, Wu Zhihong, the Chen Kai people based on OSG [J] computer engineering and design, 2011,06:2088-2091;Recklessly from and, Liu Po, Gong Jianhua, Wang Qun are based on virtual earth The design of typhoon Dynamic and Multi dimensional visualization system and realization [J] Wuhan University Journals (information science version), 2015,10:1299- 1305.3 d data field in document for volume drawing is the Regular datasets that can directly use, and is not related to volume data Generating process.In terms of current Volume Rendering Techniques are also not applied to natural gas leakage diffusion simulations.
GPGPU be using GPU carry out general-purpose computations technology, classical GPGPU technologies by GPU graphics pipelines big rule Mould computation capability, the parallel computation of general-purpose algorithm is realized by texture mapping function, has significantly speeded up general-purpose computations mistake Journey.The combination of GPGPU technologies and Volume Rendering Techniques can solve the problem that above-mentioned Second Problem, it is possible to achieve diffusion concentration data are generated With the integration of dynamic and visual.Nuclear proliferation performance technology [D] science and techniques of defence in Bian Yanshan three-dimensional digitals battlefield University, 2010.GPGPU technologies and Volume Rendering Techniques are combined in document realizes the dynamic diffusion of three-dimensional digital battlefield Radionuclide Process.This method, which is disadvantageous in that to calculate GPGPU, obtains nucleic diffusion volume data and real based on nucleic diffusion volume data Existing volume drawing division is not carried out volume data generation and the integration of dynamic and visual for two processes.Counted using GPGPU Calculate and obtain not accounting for the influence of three-dimensional sphere during nucleic diffusion volume data, and use fixed three-dimensional diffusion scope, it is difficult to The intactly not overall picture of range of scatter in the same time in displaying dynamic process.
Relational language:
GPGPU general-purpose computations graphics processors
GIS GIS-Geographic Information System
GPU graphics processors
CPU central processing units
OpenGL open graphic libraries, are the 2D/3D figures API received the most extensively in industry field
PBO pixel buffers object
FBO frame buffer zones object
The content of the invention
The purpose of the present invention is the deficiency for the existing three dimensional dynamic FEM for natural gas leaking range of scatter, Propose a kind of generation of the diffusion concentration data based on GPGPU and volume drawing being directed under natural gas leaking diffusion conditions and based on ball The method of the dynamic and visual integration in face.
Technical scheme provides a kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU, bag Include procedure below,
First, initialization draw environment, using OpenGL create two PBO and FBO, create three-D grain object and 2 d texture object is used for the result of calculation for storing GPGPU, definition diffusion coordinate system and voxel coordinate system, initialization viewpoint, light Position of the source in WGS84 coordinate systems;
If current spreading moment is t, the array of vertices generation processing of following leakage range of scatter is first carried out based on CPU,
Step a1, by CPU diffusion coordinate system in, calculate spreading moment t when natural gas respectively x-axis, y-axis, z-axis expansion Dissipate the minimum M inx in x-axis apart from Rx, Ry, Rz and range of scatter;
Step a2, by CPU in diffusion coordinate system, by the LOD ranks of the sampled distance in range of scatter and three-dimensional scenic It is associated, with deltaX, deltaY, deltaZ distance respectively in x-axis, y-axis, z-axis under the LOD ranks of current three-dimensional scenic Direction is sampled, and generation t reveals the array of vertices of range of scatter, and readjusts Rx, Ry, Rz so that x-axis, y-axis, z-axis side To sampled point number be 2 whole power;The body bounding box for spreading Release and dispersion scope in coordinate system is transformed into WGS84 to sit Mark system, is then transformed into world coordinate system, obtains the body bounding box of Release and dispersion scope in world coordinate system;It is parallel by two The body bounding box of plane and Release and dispersion scope in world coordinate system builds the new body bounding box after expanding, and one of them is put down Corresponding points of the face by ((Rx+Minx)/2,0, Rz) in world coordinate system, another plane, which is passed through in world coordinate system, to be leaked Four summits of range of scatter body bounding box bottom surface;
Step a3, is loaded into an idle PBO by the array of vertices that t reveals range of scatter by CPU, makes t=t+ DeltaT, deltaT are time interval, for next current spreading moment return to step a1, perform step a1-a3, will be new Spreading moment t leakage range of scatter array of vertices be loaded into another PBO;
After the array of vertices that t reveals range of scatter is loaded into PBO by CPU, step is performed for next spreading moment During a1-a3, by GPU by array of vertices from PBO be transferred to array of vertices size identical three-D grain object, and complete following Drawing modification,
Two cuboids are drawn, by concentration value volume data and per-vertex lighting transmissivity volume data by way of texture mapping Realize that GPGPU is calculated in fragment shader, result of calculation is rendered and FBO is output to, then concentration value volume data and summit light According to transmissivity volume data texture cache is written into respectively as three-D grain;A rectangle is drawn, by screen point color value data By way of texture mapping, with reference to concentration value volume data three-D grain and per-vertex lighting transmissivity volume data three-D grain Sampling, realizes that GPGPU is calculated in fragment shader, and result of calculation write-in 2 d texture is simultaneously directly rendered into screen, realizes Diffusion concentration data are generated and visual integration.
Moreover, in step 1, be defined as follows for diffusion coordinate system and voxel coordinate system,
Diffusion coordinate system is defined as with source of leaks p0Subpoint on ground is origin, and following wind direction is x-axis, with ground On face perpendicular to x-axis direction be y-axis, using perpendicular to ground straight up direction as z-axis;In diffusion coordinate system, range of scatter By cuboid bounding box (Minx ,-Ry, 0), (Rx ,-Ry, 0), (Rx, Ry, 0), (Minx, Ry, 0), (Minx ,-Ry, Rz), (Rx ,-Ry, Rz), (Rx, Ry, Rz), (Minx, Ry, Rz) determine, Rx, Ry, Rz be respectively x-axis, y-axis, z-axis maximally diffuse away from From Minx is minimum value of the range of scatter in x-axis;
Voxel coordinate system is defined as to spread in coordinate system (Minx ,-Ry, 0) for origin, x-axis, y-axis, z-axis direction with Spread coordinate system identical;In voxel coordinate system, range of scatter is by cuboid bounding box (0,0,0), (M-1,0,0), (M-1, N- 1,0), (0, N-1,0), (0,0, L-1), (M-1,0, L-1), (M-1, N-1, L-1), (0, N-1, L-1) are determined, M-1, N-1, L- 1 is respectively that x-axis, y-axis, z-axis maximally diffuse distance, and M, N, L represent the sampled point number of x-axis, y-axis, z-axis respectively.
Moreover, in step a1, x-axis, y-axis, diffusion length Rx, Ry, Rz, Minx of z-axis calculating side in diffusion coordinate system Method is as follows,
(1) calculate Minx method be,
As t < T, Minx=0 is made, Minx values are preserved;
As t >=T,
1. Minx=x0 is initialized, x0 is preset initial value, calculates the concentration value c at (Minx, 0, H) place;
If 2. c < c0, make Minx=Minx+delta, delta recalculate (Minx, 0, H) place to preset step-length Concentration value c, until c >=c0, into 3.;If c >=c0, it is directly entered 3.;
If 3. c >=c0, makes Minx=Minx-1, the concentration value c at (Minx, 0, H) place is recalculated, until c < c0, is protected Deposit Minx values;
(2) calculate Rx method be,
1. Rx=Minx+x0 is initialized, x0 is preset initial value, calculates the concentration value c at (Rx, 0, H) place;
If 2. c >=c0, makes Rx=Rx+delta, delta recalculate the concentration value at (Rx, 0, H) place to preset step-length C, until c < c0, into 3.;If 3. c < c0, be directly entered;
If 3. c < c0, make Rx=Rx-1, the concentration value c at (Rx, 0, H) place is recalculated, until c >=c0, Rx is preserved Value;(3) calculate Ry method be,
1. Ry=0, Temp_x=Rx, center_x=0 are initialized;Temp_x is the variable of interim storage x values, Center_x is corresponding x values at Ry;
2. the concentration value c at (Temp_x, Ry, H) place is calculated, if c >=c0, Ry=Ry+1 is made, recalculate (Temp_x, Ry, H) place concentration value c, until c < c0, into 3.;If 3. c < c0, be directly entered;
3. center_x=Temp_x, Temp_x=Temp_x-1 are made, the concentration value c at (Temp_x, Ry, H) place is calculated, if C < c0, then preserve Ry values;If c >=c0, return 2., repeat 2. -3.;
(4) calculate Rz method be,
1. Rz=H, Temp_x=center_x, x_left=Temp_x, x_right=Temp_x are initialized;Temp_x、 X_left, x_right are the variable of interim storage x values, and center_x is corresponding x values at Ry;
2. the concentration value c at (Temp_x, 0, Rz) place is calculated, if c >=c0, Rz=Rz+1 is made, recalculate (Temp_x, 0, Rz) the concentration value c at place, until c < c0, into 3.;If 3. c < c0, be directly entered;
3. x_left=Temp_x-1, x_right=Temp_x+1 are made, (x_left, 0, Rz) place's concentration c 1, (x_ is judged Right, 0, Rz) place's concentration c 2 and given concentration value c0Size,
If c1 < c0 and c2 < c0, Rz values are preserved;
If c1 >=c0 and c2 < c0, Temp_x=Temp_x-1, return 2., repeat 2. -3.;
If c1 < c0 and c2 >=c0, Temp_x=Temp_x+1, return 2., repeat 2. -3..
Moreover, in step a2, the visualization precision for revealing range of scatter is divided into several ranks, by range of scatter Sampled distance it is associated with the LOD ranks of three-dimensional scenic, optimal M, N, L value is obtained by the strategy of multi-scale sampling, it is excellent Change texture mapping efficiency.
Moreover, set two PBO is designated as PBO0 and PBO1 respectively,
If CPU binds PBO0, the array of vertices generation processing of leakage range of scatter is carried out, by spreading moment t summit battle array List and array of vertices is transferred to three-D grain object from PBO0 and drawn into PBO0, GPU;
While array of vertices is transferred to three-D grain object from PBO0 and drawn by GPU, CPU binding PBO1 enter The array of vertices generation processing of row leakage range of scatter, PBO1 is loaded into by next spreading moment t array of vertices;
Array of vertices is transferred to three-D grain object from PBO1 and drawn by GPU, while CPU binds PBO0 again, And so on, the continuous alternate transport array of vertices of PBO0, PBO1 to three-D grain object.
Moreover, GPU drawing modification comprises the following steps,
Step b1, draws a cuboid big with three-D grain object etc., by texture mapping function, by three-dimensional first Texture object is mapped to cuboid, and by GPGPU technologies, the array of vertices of leakage range of scatter is realized in vertex shader Coordinate Conversion, realizes the general-purpose computations of the array of vertices concentration value of leakage range of scatter in fragment shader;By result of calculation Render and be output to FBO, then the concentration value volume data of diffusion space is written into texture cache as new three-D grain;
Step b2, draws a cuboid big with three-D grain object etc., by texture mapping function, by three-dimensional again Texture object is mapped to cuboid, and by GPGPU technologies, the array of vertices of leakage range of scatter is realized in vertex shader Coordinate Conversion, in fragment shader, the ray sent from summit to light source expand in world coordinate system after Release and dispersion Space point sampling is carried out by step-length in scope body bounding box, with reference to the sampling to three-D grain in step b2, Release and dispersion is realized The general-purpose computations of volume data summit light transmittance, result of calculation is rendered and FBO is output to, then the top of Release and dispersion volume data Point light transmittance is written into texture cache as new three-D grain;
Step b3, finally draws the rectangle of a screen size, by texture mapping function, by etc. big 2 d texture pair As being mapped to rectangle, by GPGPU technologies, the Coordinate Conversion on rectangle summit is realized in vertex shader, in fragment shader In expanded from the ray that viewpoint is sent to screen pixels point in world coordinate system after Release and dispersion scope body bounding box in by Step-length carries out space point sampling, with reference to the sampling to three-D grain in step b1 and step b2, realizes screen pixels point color value Calculating, most rectangle is exported to screen at last, realizes the three-dimensional visualization of t natural gas leaking range of scatter.
Moreover, in step b2, the sampling in the bounding box after expansion is, it is necessary to judge whether sampled point is located at leakage diffusion In the range of, including sampled point from world coordinate system is transformed into WGS84 coordinate systems, if the elevation of sampled point is less than the corresponding height of Rz Journey is simultaneously more than 0, then sample abandons the sampled point in the range of Release and dispersion, otherwise;If sample is in Release and dispersion model In enclosing, then sampled point is transformed into diffusion coordinate system, then voxel coordinate system is transformed into from diffusion coordinate system, then mapping is somebody's turn to do The three-D grain coordinate of sampled point, samples at texture coordinate to three-D grain.
Moreover, in step b3, the sampling in the bounding box after expansion is, it is necessary to judge whether sampled point is located at leakage diffusion In the range of, including sampled point from world coordinate system is transformed into WGS84 spherical coordinate systems, if to be less than Rz corresponding for the elevation of sampled point Elevation is simultaneously more than 0, then sample abandons the sampled point in the range of Release and dispersion, otherwise;If sample is in Release and dispersion In the range of, then sampled point is transformed into diffusion coordinate system, then voxel coordinate system is transformed into from diffusion coordinate system, then mapping is obtained The three-D grain coordinate of the sampled point, samples at texture coordinate to three-D grain.
Concentration value volume data and per-vertex lighting transmissivity volume data are creatively calculated write-in three by the present invention by GPGPU Texture is tieed up, the calculating of screen pixels point color value is then completed by sampled three-dimensional texture, passes through three continuous drawing process Realize the generation of diffusion concentration data and visual integration;By the LOD levels of the sampled distance of diffusion space and three-dimensional scenic Not Xiang Guanlian, the texture mapping efficiency by the policy optimization of multi-scale sampling;Using the characteristic of CPU and GPU asynchronous process come The not asynchronous generation and transmission of range of scatter array of vertices in the same time is realized, dynamic is improved and renders performance;Coordinate system will be spread The body bounding box of middle Release and dispersion scope has been transformed into world coordinate system, and the Release and dispersion in world coordinate system after expansion Sampled in scope body bounding box, it is contemplated that the influence of three-dimensional sphere, realize the visualization based on sphere.The present invention can Support the diffusion concentration data generation under natural gas leaking diffusion conditions and the dynamic and visual integration based on sphere.
Brief description of the drawings
Fig. 1 is the diffusion coordinate system schematic diagram of the embodiment of the present invention.
Fig. 2 is the voxel coordinate system schematic diagram of the embodiment of the present invention.
Fig. 3 is the calculating Rx and Minx of embodiment of the present invention flow chart.
Fig. 4 is the calculating Ry of embodiment of the present invention flow chart.
Fig. 5 is the calculating Rz of embodiment of the present invention flow chart.
Fig. 6 is the Release and dispersion scope body bounding box schematic diagram after expanding in the world coordinate system of the embodiment of the present invention.
Fig. 7 is the flow chart of the embodiment of the present invention.
Embodiment
Technical solution of the present invention is described in detail below in conjunction with drawings and examples.
The leakage model used in the present invention is that aperture reveals model, and small hole leaking intensity depends on combustion gas in leakage process Flow velocity, its basis for estimation be critical pressure ratio CPR:
WhenWhen, the flow velocity of aperture leakage can reach velocity of sound, and its leakage intensity is:
WhenWhen, the flow velocity of aperture leakage is subsonic speed, and its leakage intensity is:
In formula, q-small hole leaking intensity, kg/s;C0Reveal coefficient in-aperture;A-leakage open area, m2;P0- environment pressure Power, Pa;P-leakage center pressure, Pa;T-leakage center temperature;Z-compressibility factor;R-gas constant, J/ (kmol* K);M-gas molar quality, kg/mol;K-combustion gas isentropic index.
Gauss plume dispersion model and Gauss puff diffusion model are based in the present invention, the mobile tobacco group of instantaneous point source is used Integral mode is distributed to solve the concentration of natural gas of continuous point source:
In formula, the mean concentration of certain point (x, y, z) place gas leakage, kg/m in C (x, y, z, t)-diffusion coordinate system3; Q-slip, kg/s;σx、σy、σz- lower wind direction, beam wind are to the diffusion parameter with gas in vertical direction, m;U-average wind Speed, m/s;T-spreading moment, s;The total time of T-natural gas leakage, s;H-effective source height, m.
Embodiment is using method of the invention, using OpenGL and GLSL shading languages, based on osgEarth three-dimensional renderings The generation of the diffusion concentration data based on GPGPU and volume drawing under engine implementation natural gas leaking diffusion conditions and based on sphere Dynamic and visual integration.
A kind of dynamic and visual method of natural gas leaking diffusion based on GPGPU provided in an embodiment of the present invention, including Procedure below,
First, initialization draw environment, using OpenGL create two PBO and FBO, create three-D grain object and 2 d texture object is used for the result of calculation for storing GPGPU, definition diffusion coordinate system and voxel coordinate system, initialization viewpoint, light Position of the source in WGS84 coordinate systems;
If current spreading moment is t, the array of vertices generation processing of following leakage range of scatter is first carried out based on CPU,
Step a1, by CPU diffusion coordinate system in, calculate spreading moment t when natural gas respectively x-axis, y-axis, z-axis expansion Dissipate the minimum M inx in x-axis apart from Rx, Ry, Rz and range of scatter;
Step a2, by CPU in diffusion coordinate system, by the LOD ranks of the sampled distance in range of scatter and three-dimensional scenic It is associated, with deltaX, deltaY, deltaZ distance respectively in x-axis, y-axis, z-axis under the LOD ranks of current three-dimensional scenic Direction is sampled, and generation t reveals the array of vertices of range of scatter, and readjusts Rx, Ry, Rz so that x-axis, y-axis, z-axis side To sampled point number be 2 whole power;The body bounding box for spreading Release and dispersion scope in coordinate system is transformed into WGS84 to sit Mark system, is then transformed into world coordinate system, obtains the body bounding box of Release and dispersion scope in world coordinate system;It is parallel by two The body bounding box of plane and Release and dispersion scope in world coordinate system builds the new body bounding box after expanding, and one of them is put down Corresponding points of the face by ((Rx+Minx)/2,0, Rz) in world coordinate system, another plane, which is passed through in world coordinate system, to be leaked Four summits of range of scatter body bounding box bottom surface;
Step a3, is loaded into an idle PBO by the array of vertices that t reveals range of scatter by CPU, makes t=t+ DeltaT, deltaT are time interval, for next current spreading moment return to step a1, perform step a1-a3, will be new Spreading moment t leakage range of scatter array of vertices be loaded into another PBO;
After the array of vertices that t reveals range of scatter is loaded into PBO by CPU, step is performed for next spreading moment t During a1-a3, by GPU by array of vertices from PBO be transferred to array of vertices size identical three-D grain object, and complete following Drawing modification,
Two cuboids are drawn, by concentration value volume data and per-vertex lighting transmissivity volume data by way of texture mapping Realize that GPGPU is calculated in fragment shader, result of calculation is rendered and FBO is output to, then concentration value volume data and summit light According to transmissivity volume data texture cache is written into respectively as three-D grain;A rectangle is drawn, by screen point color value data By way of texture mapping, with reference to concentration value volume data three-D grain and per-vertex lighting transmissivity volume data three-D grain Sampling, realizes that GPGPU is calculated in fragment shader, and result of calculation write-in 2 d texture is simultaneously directly rendered into screen, realizes Diffusion concentration data are generated and visual integration.
When it is implemented, can realize that automatic flow operation is based on there is provided one of the above using computer software mode The dynamic and visual method of GPGPU natural gas leaking diffusion.
For ease of designing as follows there is provided embodiment idiographic flow for the sake of reference implementation, referring to Fig. 7:
Step 1, environment is drawn in initialization, is created two PBO and FBO using OpenGL PBO, FBO technology, is created Three-D grain object and 2 d texture object are used for the result of calculation for storing GPGPU, definition diffusion coordinate system and voxel coordinate system, Initialize the position of viewpoint, light source in WGS84 coordinate systems;
Initialization step can be performed by CPU.
Present invention definition diffusion coordinate system (as shown in Figure 1) and voxel coordinate system (as shown in Figure 2):
Diffusion coordinate system is defined as with source of leaks p0Subpoint on ground is origin, and following wind direction is x-axis, with ground On face perpendicular to x-axis direction be y-axis, using perpendicular to ground straight up direction as z-axis, diffusion coordinate system in, range of scatter By cuboid bounding box (Minx ,-Ry, 0), (Rx ,-Ry, 0), (Rx, Ry, 0), (Minx, Ry, 0), (Minx ,-Ry, Rz), (Rx ,-Ry, Rz), (Rx, Ry, Rz), (Minx, Ry, Rz) determine, Rx, Ry, Rz be respectively x-axis, y-axis, z-axis maximally diffuse away from From Minx is minimum value of the range of scatter in x-axis.
Voxel coordinate system is defined as to spread in coordinate system (Minx ,-Ry, 0) for origin, x-axis, y-axis, z-axis direction with Coordinate system is spread identical, i.e., following wind direction is x-axis, using on ground perpendicular to x-axis direction as y-axis, with perpendicular perpendicular to ground Straight upward direction is z-axis.In voxel coordinate system, range of scatter by cuboid bounding box (0,0,0), (M-1,0,0), (M-1, N-1,0), (0, N-1,0), (0,0, L-1), (M-1,0, L-1), (M-1, N-1, L-1), (0, N-1, L-1) determine, M-1, N-1, L-1 is respectively that x-axis, y-axis, z-axis maximally diffuse distance, and M, N, L represent the sampled point number of x-axis, y-axis, z-axis respectively.
Voxel coordinate system midpoint (i, j, k) correspondence diffusion coordinate system midpoint (i × deltaX+Minx, j × deltaY-Ry, k × deltaZ), wherein, i=0,1 ..., M-1;J=0,1 ..., N-1;K=0,1 ..., L-1;M-1, N-1, L-1 are respectively x Axle, y-axis, the ultimate range of z-axis, M, N, L represent the sampled point number of x-axis, y-axis, z-axis respectively;deltaX、deltaY、 DeltaZ is sampled distance.In voxel coordinate system, range of scatter by cuboid bounding box (0,0,0), (M-1,0,0), (M-1, N-1,0), (0, N-1,0), (0,0, L-1), (M-1,0, L-1), (M-1, N-1, L-1), (0, N-1, L-1) are determined.
In embodiment, environment is drawn in initialization, creates two PBO, respectively PBO0, PBO1.Create three three-D grains Object texture0, texture1, texture2, array of vertices, the leakage diffusion for being used separately as storage leakage range of scatter are dense Angle value volume data, light transmittance volume data.A 2 d texture object texture3 is created to be used as rendering screen.Create one FBO, as render to texture.
The position for initializing source of leaks is psource(lon, lat, h), the initial position of viewpoint is peye(lon, lat, h), The position of light source is plig(lon, lat, h), psource、peye、pligIt is WGS84 coordinates.By viewpoint position peyeAnd light source position pligWorld coordinate system is transformed into from WGS84 coordinate systems, then can obtain the world coordinates Eye of viewpointworld(xw,yw,zw) and light source World coordinates Lightworld(xw,yw,zw)。
When it is implemented, can voluntarily be determined source of leaks, viewpoint and light source in WGS84 coordinate systems according to actual conditions Position.
Step 2, in diffusion coordinate system, for source of leaks psource, total time T of natural gas leakage, spreading moment t and Low danger concentration c0, calculate diffusion length Rx, Ry, Rz and Minx;
The present invention is proposed:
For Minx, if spreading moment t is less than natural gas leakage total time T, Minx is made to be equal to 0;Otherwise assigned for Minx One smaller value (the predeterminable value of those skilled in the art), concentration is calculated according to concentration of natural gas calculation formula C (x, y, z, t) C, makes the concentration c at t Minx be more than prescribed concentration c0, Minx is then gradually reduced, until corresponding concentration c is less than or waits In prescribed concentration c0;
For Rx, a higher value (the predeterminable value of those skilled in the art) is assigned for Rx first, according to concentration of natural gas Calculation formula C (x, y, z, t) calculates concentration c, the concentration c at t Rx is less than prescribed concentration c0, is then gradually reduced Rx, Until corresponding concentration c is more than or equal to prescribed concentration c0;
For Ry, start from (Rx, 0, H) place, gradually increase y values, according to concentration of natural gas calculation formula C (x, y, z, t) Concentration c is calculated, until concentration c is less than prescribed concentration c0, the y preserved now is Ry.If reducing after x, the concentration c at (x, Ry, H) place Less than prescribed concentration c0, then Ry is maximum, otherwise continues to increase y values solution Ry;
For Rz, obtain after the corresponding x values of Ry, start from (x, 0, H) place, gradually increase z values, according to concentration of natural gas meter Calculate formula C (x, y, z, t) and calculate concentration c, until concentration c is less than prescribed concentration c0, the z preserved now is Rz.If reducing x or increasing During big x, the concentration c at (x, 0, Rz) place is respectively less than prescribed concentration c0, then Rz is maximum, otherwise, is more than along concentration c and specifies dense The side for spending c0 repeats aforesaid operations continuation solution Rz.
It is implemented as follows in embodiment:
Initialize total time T, spreading moment t, low danger concentration c 0, x0 and the delta of natural gas leakage;
Such as Fig. 3, the method for calculating Minx is:
As t < T:Minx=0 is made, Minx values are preserved;
As t >=T:
1. Minx=x0 is initialized, the concentration value c at (Minx, 0, H) place, the predeterminable initial value of those skilled in the art is calculated The span of x0 values, preferably x0 is 0≤x0≤10;
If 2. c < c0, make Minx=Minx+delta (the predeterminable step-length delta values of those skilled in the art, for example Desirable 50 or 100 or 200), the concentration value c at (Minx, 0, H) place is recalculated, until c >=c0, into 3.;If c >=c0, directly Tap into 3.;
If 3. c >=c0, makes Minx=Minx-1, the concentration value c at (Minx, 0, H) place is recalculated, until c < c0, is protected Deposit Minx values.
Such as Fig. 3, the method for calculating Rx is:
1. Rx=Minx+x0 (the predeterminable initial value x0 values of those skilled in the art, span preferred x0 are initialized For 0x0≤10), the concentration value c at (Rx, 0, H) place is calculated;
If 2. c >=c0, making Rx=Rx+delta, (the predeterminable step-length delta values of those skilled in the art for example can use 50 or 100 or 200), the concentration value c at (Rx, 0, H) place is recalculated, until c < c0, into 3.;If c < c0, are directly entered ③;
If 3. c < c0, make Rx=Rx-1, the concentration value c at (Rx, 0, H) place is recalculated, until c >=c0, Rx is preserved Value.
The present embodiment takes x0=10, delta=100.
Such as Fig. 4, the method for calculating Ry is:
1. Ry=0, Temp_x=Rx, center_x=0 are initialized;Temp_x is the variable of interim storage x values, Center_x is corresponding x values at Ry;
2. the concentration value c at (Temp_x, Ry, H) place is calculated, if c >=c0, Ry=Ry+1 is made, recalculate (Temp_x, Ry, H) place concentration value c, until c < c0, into 3.;If 3. c < c0, be directly entered;
3. center_x=Temp_x, Temp_x=Temp_x-1 are made, the concentration value c at (Temp_x, Ry, H) place is calculated, if C < c0, then preserve Ry values;If c >=c0, return 2., repeat 2. -3.;
Such as Fig. 5, the method for calculating Rz is:
1. Rz=H, Temp_x=center_x, x_left=Temp_x, x_right=Temp_x are initialized;Temp_x、 X_left, x_right are the variable of interim storage x values, and center_x is corresponding x values at Ry;
2. the concentration value c at (Temp_x, 0, Rz) place is calculated, if c >=c0, Rz=Rz+1 is made, recalculate (Temp_x, 0, Rz) the concentration value c at place, until c < c0, into 3.;If 3. c < c0, be directly entered;
3. x_left=Temp_x-1, x_right=Temp_x+1 are made, (x_left, 0, Rz) place's concentration c 1, (x_ is judged Right, 0, Rz) place's concentration c 2 and given concentration value c0Size:
If c1 < c0 and c2 < c0, Rz values are preserved;
If c1 >=c0 and c2 < c0, Temp_x=Temp_x-1, return 2., repeat 2. -3.;
If c1 < c0 and c2 >=c0, Temp_x=Temp_x+1, return 2., repeat 2. -3..
When it is implemented, leakage duration of fault T, spreading moment t and low danger can voluntarily be determined according to actual conditions Concentration c0
It is step 3, in diffusion coordinate system, the sampled distance in range of scatter is associated with the LOD ranks of three-dimensional scenic, Adopted respectively in x-axis, y-axis, z-axis direction with deltaX, deltaY, deltaZ distance under the LOD ranks of current three-dimensional scenic Sample, generation t reveals the array of vertices of range of scatter, and readjust Rx, Ry, Rz so that x-axis, y-axis, z-axis direction are adopted Sampling point number is 2 whole power.The body bounding box for spreading Release and dispersion scope in coordinate system is transformed into WGS84 coordinate systems, Then be transformed into world coordinate system, obtain the body bounding box of Release and dispersion scope in world coordinate system (such as Fig. 6 is shown in solid). Body bounding box now is surrounded and formed by two spheres and four planes, is leaked and is expanded in two parallel planes and world coordinate system The new body bounding box after expanding can be built by dissipating the body bounding box of scope, as shown in Fig. 6 dotted lines.
Present invention further propose that, the visualization precision for revealing range of scatter is divided into several ranks, model will be spread Sampled distance in enclosing is associated with the LOD ranks of three-dimensional scenic, the texture mapping effect by the policy optimization of multi-scale sampling Rate:
The LOD ranks of current three-dimensional scenic be with viewpoint drawing close or remote from and dynamic change, use current three-dimensional The corresponding sampled distance of LOD ranks of scene is sampled in leakage range of scatter, generates the array of vertices of Release and dispersion scope.Order Index K=log2M (K round numbers), i.e. M=2K, similarly to N, L again assignment, make the whole power that M, N, L are 2, and according to M, N, L readjust Rx, Ry, Rz.The strategy of multi-scale sampling is meeting the same of Release and dispersion scope three-dimensional visualization visual acuity When, optimal M, N, L value is resulted in, the size of three-D grain when having together decided on texture mapping due to M, N, L, therefore pass through The strategy of multi-scale sampling can optimize texture mapping efficiency.
In step 3, the sample space point in the range of three-dimensional diffusion changing over time, accurately calculating can be with minimum Data volume intactly show in dynamic process not the overall picture of range of scatter in the same time:
Diffusion coordinate system in by x-axis, y-axis, z-axis maximally diffuse apart from Rx, Ry, Rz and range of scatter in x-axis most Sample space point in the leakage range of scatter that small value Minx is determined, can intactly show the overall picture of certain moment range of scatter.And , so every time can be with the minimum sampling of change and the change of Rx, Ry, Rz, Minx over time also can correspondingly change Point data amount accurately expresses the scope of Release and dispersion.
In embodiment, the visualization precision for revealing range of scatter is divided into 5 ranks, the LOD ranks with three-dimensional scenic It is associated, represented with LOD1~LOD5, i.e., in diffusion coordinate system, when being sampled under different LOD ranks to diffusion space Use different sampled distances:
When the LOD ranks of current three-dimensional scenic are for LOD5 or more than LOD5, deltaX=deltaY=deltaZ=1m;
When the LOD ranks of current three-dimensional scenic are LOD4, deltaX=deltaY=deltaZ=2m;
When the LOD ranks of current three-dimensional scenic are LOD3, deltaX=deltaY=deltaZ=4m;
When the LOD ranks of current three-dimensional scenic are LOD2, deltaX=deltaY=deltaZ=8m;
When the LOD ranks of current three-dimensional scenic are for LOD1 or less than LOD1, deltaX=deltaY=deltaZ=16m. With deltaX, deltaY, deltaZ distance respectively in x, y, z direction sample space coordinate, array of vertices is generated.Make M-1= (Rx-Minx)/deltaX, N-1=2 × Ry/deltaY, L-1=Rz/deltaZ, takes K=log_2M (K round numbers), i.e. M=2 ^K, similarly to N, L again assignment, make Rx=(M-1) × deltaX+Minx, Ry=(N-1) × deltaY/2, Rz=(L-1) × deltaZ.X-axis, y-axis, the sampled point number in z-axis direction are respectively M, N, L, and array of vertices is three-dimensional array VolumeArray [M] [N] [L], the coordinate on any summit is diffusion coordinate (i × deltaX+Minx, j × deltaY-Ry, k × deltaZ), its In, i=0,1 ..., M-1;J=0,1 ..., N-1;K=0,1 ..., L-1.The element value for initializing three-dimensional array is 0.It will expand Dissipate the summit (Minx ,-Ry, 0) of body bounding box of leakage range of scatter in coordinate system, (Rx ,-Ry, 0), (Rx, Ry, 0), (Minx, Ry, 0), (Minx ,-Ry, Rz), (Rx ,-Ry, Rz), (Rx, Ry, Rz), (Minx, Ry, Rz) are transformed into WGS84 respectively In coordinate system, reconvert into world coordinate system, obtain world coordinate system in Release and dispersion scope body bounding box summit p1, p2、p3、p4、p5、p6、p7、p8.The coordinate points ((Rx+Minx)/2,0, Rz) spread in coordinate system are transformed into WGS84 coordinates In system, reconvert obtains its locus pc in world coordinate system into world coordinate system.As shown in Figure 6 by two Parallel plane (one of plane passes through pc, and another plane passes through p1, p2, p3, p4) and Release and dispersion in world coordinate system The body bounding box of scope can build the new body bounding box after expanding.When it is implemented, can be voluntarily true according to actual conditions Determine the visualization precision grade and sampled distance deltaX under different accuracy rank of Release and dispersion scope, deltaY, deltaZ。
Step 4, for spreading moment t, array of vertices is transferred to three-dimensional with array of vertices size identical by GPU from PBO Texture object simultaneously performs three continuous drawing process, while CPU will realize the summit battle array spreading moment t=t+deltaT List into another PBO.Using the characteristic of CPU and GPU asynchronous process, the leakage for spreading moment t and subsequent time is spread The array of vertices of scope, the renewal in texture source and the duplication of texture are alternately performed using two PBO, realize that leakage is not expanded in the same time Dissipate the asynchronous generation and drafting of the array of vertices of scope.
The present invention is proposed, the asynchronous generation of the array of vertices of Release and dispersion scope in the same time is realized not using two PBO And drafting:
CPU is responsible for performing range of scatter Rx, Ry, Rz and Minx for calculating spreading moment t=t+deltaT, generation summit battle array Row, by array of vertices be loaded into PBO a series of processes, GPU be responsible for by array of vertices from PBO0 be transferred to three-D grain object with And perform three continuous drawing process.
Array of vertices is transferred to three-D grain object by spreading moment t, GPU from PBO0, and performs three continuous draftings Process.Meanwhile, CPU binding PBO1 and performing calculate spreading moment t=t+deltaT range of scatter Rx, Ry, Rz and Minx, Generate array of vertices, array of vertices is loaded into a series of PBO1 processes.When spreading moment t=t+deltaT arrives, GPU will It is already loaded into the PBO1 finished and is transferred to three-D grain object, while CPU binds PBO0 again, when being that PBO0 transmits next diffusion The array of vertices at quarter.And so on, the continuous alternate transport array of vertices of PBO0, PBO1 to three-D grain object.Make full use of CPU With the characteristic of GPU asynchronous process, texture source is updated to PBO by CPU, and GPU is from other PBO copy textures and performs drawing process, Due to Asynchronous DMA transmission, renewal and drawing process can be performed simultaneously, improved dynamic and rendered performance.
In embodiment, set interval deltaT=10s.PBO0 summit will be already loaded into spreading moment t, GPU Array VolumeArray [M] [N] [L] is transferred to three-D grain object texture0 (size is M × N × L) and performs three companies Continuous drawing process.The characteristic of CPU and GPU asynchronous process can be made full use of using PBO, OpenGL can be in PBO0 and texture Asynchronous DMA transmission is performed between object texture0, so array of vertices is transferred into three-D grain object from PBO0 in GPU While three continuous drawing process of texture0 and execution, CPU binds PBO1 and performs calculating spreading moment t=t+ DeltaT range of scatter Rx, Ry, Rz and Minx, the three-dimensional array VolumeArray [M] [N] [L] for generating array of vertices, general Array of vertices VolumeArray [M] [N] [L] is loaded into a series of PBO1 processes.When spreading moment t=t+deltaT arrives, GPU will be already loaded into the PBO1 that finishes and be transferred to three-D grain object texture0, while CPU binds PBO0 again, it is PBO0 Transmit the array of vertices of next spreading moment.And so on, the continuous alternate transport array of vertices of PBO0, PBO1 to three-D grain pair As texture0, it is possible to achieve the not asynchronous generation and drafting of the array of vertices of Release and dispersion scope in the same time.Make full use of not With the asynchronous behavior between processor, texture source is updated to PBO by CPU, and GPU was drawn from other PBO copy textures and performing Journey, due to Asynchronous DMA transmission, renewal and drawing process can be performed simultaneously, improved dynamic and rendered performance.
When it is implemented, the deltaT that can voluntarily be set interval according to actual conditions.
Step 5, for spreading moment t, a cuboid big with three-D grain object etc. in step 4 is drawn first, is led to Texture mapping function is crossed, by three-D grain object map to cuboid, by GPGPU technologies, realizes and lets out in vertex shader Reveal the Coordinate Conversion of the array of vertices of range of scatter, the array of vertices concentration value of leakage range of scatter is realized in fragment shader General-purpose computations.Result of calculation is rendered and FBO is output to, then the concentration value volume data of diffusion space is used as new three-D grain It is written into texture cache;
In embodiment, for spreading moment t, the cuboid that a M × N × L size is drawn first is used as texture mapping Object, apex coordinate of the cuboid in voxel coordinate system be (0,0,0), (M-1,0,0), (M-1, N-1,0), (0, N-1,0), (0,0, L-1), (M-1,0, L-1), (M-1, N-1, L-1), (0, N-1, L-1), corresponding to three-D grain coordinate (0,0,0), (1, 0,0)、(1,1,0)、(0,1,0)、(0,0,1)、(1,0,1)、(1,1,1)、(0,1,1).Three-D grain texture0 is mapped to Cuboid, the general-purpose algorithm of the calculating Release and dispersion concentration for a texture primitive is write using GLSL shading languages.
In vertex shader, input variable is apex coordinate gl_Vertex, the three-D grain coordinate gl_ of vertex correspondence TexCoord.Gl_Vertex is performed after model view transform, projective transformation, the viewport transform, screen coordinate gl_ is converted to position.Using XOY plane as projection plane when carrying out projective transformation, using the rectangular projection just to projection plane, depending on The viewport of M × N size is defined during mouth conversion, constant and picture is kept with the size and location for ensureing pixel in projection process Prime number evidence will not lose.The output variable of vertex shader is screen coordinate gl_position and texture coordinate gl_ TexCoord.Obtain the piece of M × N × L member after cuboid after the conversion of summit is rasterized, the corresponding three-dimensional pattern of each piece member Manage coordinate gl_TexCoord.
In fragment shader, input variable be texture coordinate gl_TexCoord, by texture coordinate gl_TexCoord (u, V, w) it is mapped to space coordinate (u × (M-1) × deltaX+Minx, v × (N-1) × deltaY-Ry, w in diffusion coordinate system × (L-1) × deltaZ), the corresponding concentration value c of piece member is obtained according to concentration of natural gas calculation formula C (x, y, z, t), and will Concentration value c is stored as gl_FragColor R channel values.The output variable of fragment shader is gl_FragColor.
Texture1 is associated with FBO, result of calculation is rendered and FBO is output to, then the concentration value body number of diffusion space Texture cache is written into according to as three-D grain texture1, then separates texture1 with FBO.
Step 6, for spreading moment t, a cuboid big with three-D grain object etc. in step 5 is drawn again, is led to Texture mapping function is crossed, by three-D grain object map to cuboid, by GPGPU technologies, realizes and lets out in vertex shader Reveal the Coordinate Conversion of the array of vertices of range of scatter, in fragment shader, the ray sent from summit to light source is sat in the world Space point sampling is carried out with certain step-length in Release and dispersion scope body bounding box after expanding in mark system, with reference to in step 5 The sampling of three-D grain, realizes the general-purpose computations of Release and dispersion volume data summit light transmittance.Result of calculation is rendered and defeated Go out to FBO, then the summit light transmittance of Release and dispersion volume data is written into texture cache as new three-D grain.
Present invention further propose that, in order to realize the visualization based on three-dimensional sphere, in fragment shader, summit is to light The ray that source is sent is to carry out sky in the Release and dispersion scope body bounding box after expanding in world coordinate system with certain step-length Between point sampling.Due to being sampled in the bounding box after expansion, it is therefore desirable to judge whether sampled point is located at leakage diffusion model In enclosing.Sampled point is transformed into WGS84 coordinate systems from world coordinate system:If the elevation of sampled point is less than the corresponding elevations of Rz and big In 0, then sample is in the range of Release and dispersion, otherwise, abandons the sampled point.If sample is in the range of Release and dispersion, Sampled point is then transformed into diffusion coordinate system, then voxel coordinate system is transformed into from diffusion coordinate system, then mapping obtains the sampling The three-D grain coordinate of point, samples at texture coordinate to three-D grain.
In the step 6 of embodiment, the cuboid of a M × N × L size is drawn again as the object of texture mapping, it is long Apex coordinate of the cube in voxel coordinate system is (0,0,0), (M-1,0,0), (M-1, N-1,0), (0, N-1,0), (0,0, L- 1), (M-1,0, L-1), (M-1, N-1, L-1), (0, N-1, L-1), corresponding to three-D grain coordinate (0,0,0), (1,0,0), (1,1,0)、(0,1,0)、(0,0,1)、(1,0,1)、(1,1,1)、(0,1,1).Three-D grain texture1 is mapped to rectangular Body.The general-purpose algorithm of the calculating per-vertex lighting transmissivity for a texture primitive is write using GLSL shading languages.
In vertex shader, input variable is apex coordinate gl_Vertex, the three-D grain coordinate gl_ of vertex correspondence TexCoord, light source world coordinates LightworldWith the Release and dispersion scope body bounding box after expansion in world coordinate system.It is right Gl_Vertex is performed after model view transform, projective transformation, the viewport transform, is converted to screen coordinate gl_position.Enter Using XOY plane as projection plane during row projective transformation, using the rectangular projection just to projection plane, the definition during viewport transform is carried out The viewport of one M × N size, keeps constant and pixel data not lose with the size and location for ensureing pixel in projection process Lose.The output variable of vertex shader is world's seat of screen coordinate gl_position, texture coordinate gl_TexCoord, light source Mark LightworldWith the Release and dispersion scope body bounding box after expansion in world coordinate system.Cuboid after the conversion of summit is through grating M × N × L piece member, one three-D grain coordinate gl_TexCoord of each piece member correspondence are obtained after change.
In fragment shader, input variable is texture coordinate gl_TexCoord, the world coordinates Light of light sourceworldWith The body bounding box of Release and dispersion scope in world coordinate system, diffusion coordinate is mapped to by texture coordinate gl_TexCoord (u, v, w) Space coordinate (u × (M-1) × deltaX+Minx, v × (N-1) × deltaY-Ry, w × (L-1) × deltaZ) in system, then WGS84 coordinate systems are transformed into from diffusion coordinate system, from WGS84 coordinate systems are transformed into world coordinate system, obtain the texture primitive World coordinates Vertexworld, by VertexworldAnd LightworldThe direction that can obtain light is:
Dir=Lightworld-Vertexworld
Access point start and go out that Release and dispersion scope body bounding box after obtaining light and expanding in world coordinate system intersects Point end.The access point start of light is summit Vertex in this stepworld.From VertexworldStart, in world coordinate system In sampled with distance s tep=0.1 along radiation direction dir, the sampled point obtained every time is:
Pos=Vertexworld+dir×(pos+step)
Sampled point pos is stored in array points successively, until going out point end.Array points is traveled through to accumulate meter Calculate the transmissivity on summit.Because the body bounding box of Release and dispersion scope in world coordinate system is the bounding box after expanding, therefore Need to judge whether sampled point is located in leakage range of scatter.Sampled point is transformed into WGS84 spherical coordinate systems from world coordinate system: If the elevation of sampled point is less than the corresponding elevations of Rz and more than 0, sample is mapped as in the range of Release and dispersion Three-D grain coordinate (u, v, w);Otherwise, the sampled point is abandoned.Three-D grain texture1 is adopted at texture coordinate (u, v, w) place Sample obtains R channel values (i.e. concentration c), utilizes light transmittance calculation formula:
Transmittance=transmittance × exp (- ε × step × c) (ε is constant)
Accumulation obtains the transmissivity transmittance on summit, and transmittance is stored as into gl_FragColor R channel values.The output variable of fragment shader is gl_FragColor.
Texture2 is associated with FBO, result of calculation is rendered and FBO is output to, then the conduct of light transmittance volume data Three-D grain texture2 is written into texture cache, then separates texture2 with FBO;
When it is implemented, sampling interval step can voluntarily be set according to actual conditions.
Step 7, for spreading moment t, the rectangle of a screen size is finally drawn, by texture mapping function, will etc. Big 2 d texture object map is to rectangle, by GPGPU technologies, realizes that the coordinate on rectangle summit turns in vertex shader Change, the Release and dispersion model after being expanded in fragment shader from the ray that viewpoint is sent to screen pixels point in world coordinate system Space point sampling is carried out with certain step-length in containment body bounding box, it is real with reference to the sampling to three-D grain in step 5 and step 6 The calculating of existing screen pixels point color value, most rectangle is exported to screen at last, realizes t natural gas leaking range of scatter Three-dimensional visualization;
Present invention further propose that:In order to realize the visualization based on three-dimensional sphere, in fragment shader, from viewpoint to The ray that screen pixels point is sent be in world coordinate system expand after Release and dispersion scope body bounding box in certain step It is long to carry out spatial point sampling, due to being sampled in the bounding box after expansion, it is therefore desirable to judge whether sampled point is located at and let out Reveal in range of scatter.Sampled point is transformed into WGS84 spherical coordinate systems from world coordinate system:If the elevation of sampled point is less than Rz correspondences Elevation and more than 0, then sample is in the range of Release and dispersion, otherwise, abandons the sampled point.If sample expands in leakage Dissipate in scope, then sampled point is transformed into diffusion coordinate system, then voxel coordinate system is transformed into from diffusion coordinate system, then map To the three-D grain coordinate of the sampled point, three-D grain is sampled at texture coordinate.
In the step 7 of embodiment, finally drawing the rectangle of resolX × resolY size, (resolX × resolY is Screen resolution) as the object of texture mapping, four summits of rectangle are (0,0), (resolX-1,0), (resolX-1, ResolY-1), (0, resolY), corresponds to 2 d texture coordinate (0,0), (1,0), (1,1), (0,1) respectively.By 2 d texture Texture3 is mapped to rectangle.Using GLSL shading languages write for texture primitive calculating screen pixels color value it is logical Use algorithm.
In vertex shader, input variable is rectangle apex coordinate gl_Vertex, the 2 d texture coordinate of vertex correspondence Gl_TexCoord, viewpoint world coordinates EyeworldWith the Release and dispersion scope body bounding box after expansion in world coordinate system. Gl_Vertex is converted to screen coordinate gl_position after model view transform, projective transformation, the viewport transform.Enter Using XOY plane as projection plane during row projective transformation, using the rectangular projection just to projection plane, the definition during viewport transform is carried out The viewport of one resolX × resolY size, constant and pixel is kept with the size and location for ensureing pixel in projection process Data will not lose.The output variable of vertex shader is screen coordinate gl_position, texture coordinate gl_TexCoord, regarded The world coordinates Eye of pointworldWith the Release and dispersion scope body bounding box after expansion in world coordinate system.Rectangle after the conversion of summit ResolX × resolY piece member, each piece member one screen coordinate gl_position of correspondence and texture are obtained after rasterized Coordinate gl_TexCoord.
In fragment shader, input variable is screen coordinate gl_position, texture coordinate gl_TexCoord, viewpoint World coordinates EyeworldWith the Release and dispersion scope body bounding box after expansion in world coordinate system.By the world coordinates of viewpoint EyeworldThe world coordinates of center's point of screen can be obtained, the world coordinates at screen coordinate gl_position is then obtained Screenworld.Pass through EyeworldAnd ScreenworldThe direction that can determine that light is:
Dir=Screenworld‐Eyeworld
If light with world coordinate system expand after Release and dispersion scope body bounding box it is non-intersect, abandon this light Line, the color value of screen pixels is background color value bcolor;Two intersection points start, end are obtained if intersecting, from start Start, sampled with distance s tep=0.1 along radiation direction dir, the sampled point obtained every time is:
Pos=start+dir × (pos+step)
Sampled point pos is stored in array points successively, until end.Traversal array points calculates screen to accumulate The color value of curtain pixel.Transparency opacity=1 is initialized, color value rgb calculation formula is:
Rgb=pcolor × lcolor
Pcolor is sampled point color value, is initialized as (1,1,1), and lcolor is lighting color value, be initialized as (1,1, 1).Because the body bounding box of Release and dispersion scope in world coordinate system is the bounding box after expanding, it is therefore desirable to judge sampling Whether point is located in leakage range of scatter.Sampled point is transformed into WGS84 spherical coordinate systems from world coordinate system:If the height of sampled point Journey is less than the corresponding elevations of Rz and more than 0, then sample is mapped as three-D grain coordinate in the range of Release and dispersion (u,v,w);Otherwise, the sampled point is abandoned.R is obtained to three-D grain texture1 samplings respectively at texture coordinate (u, v, w) place Channel value (i.e. concentration c), to three-D grain texture2 sampling obtain R channel values (i.e. illumination transmissivity transmittance), Utilize:
T=exp (- ε × step × c) (ε is constant)
Opacity=opacity × t
Accumulation obtains the transparency opacity for the light that screen pixels are sent, until opacity is close to 0 or reaches end.Utilize:
Accumulation obtains the color value color on light, utilizes:
Pixel=color+opacity × bcolor
Obtain the color value pixel of screen pixels.FBO is stopped using, then final texture3 is rendered into frame buffer, realized Volume drawing.
When it is implemented, sampled point color value plocor and lighting color value can voluntarily be set according to actual conditions lcolor。
In step 5, step 6 and step 7, by continuous three drawing process realize diffusion concentration data generation and can Depending on the integration of change.
Embodiment repeats said process with time interval deltaT, realizes the dynamic visual of natural gas leaking range of scatter Change.At the end of natural gas leaking dispersion ability visual Simulation, PBO0, PBO1 and FBO are deleted, texture object is deleted texture0、texture1、texture2、texture3。
Specific implementation is as can be seen that realize that concentration value volume data and per-vertex lighting are saturating by GPGPU technologies more than The general-purpose computations of rate volume data are penetrated, the calculating of screen pixels point color value are then completed by sampled three-dimensional texture, although in wash with watercolours Need have certain increase on self-defined coloring process and algorithm complex during dye, but used PBO, multi-scale sampling etc. Optimisation strategy and FBO technologies, and consider the influence of three-dimensional sphere, can realize spread under natural gas leaking diffusion conditions it is dense Degrees of data generate and dynamic and visual based on sphere integration and illustrate concentration point in natural gas leaking diffusion process The overall picture and details of cloth.

Claims (8)

1. a kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU, it is characterised in that:Including procedure below,
First, environment is drawn in initialization, and two PBO and FBO are created using OpenGL, creates three-D grain object and two dimension Texture object is used for the result of calculation for storing GPGPU, definition diffusion coordinate system and voxel coordinate system, and initialization viewpoint, light source exist Position in WGS84 coordinate systems;
If current spreading moment is t, the array of vertices generation processing of following leakage range of scatter is first carried out based on CPU,
Step a1, by CPU diffusion coordinate system in, calculate spreading moment t when natural gas respectively x-axis, y-axis, z-axis diffusion away from From Rx, Ry, Rz and range of scatter x-axis minimum M inx;
Step a2 is related to the LOD ranks of three-dimensional scenic by the sampled distance in range of scatter by CPU in diffusion coordinate system Connection, with deltaX, deltaY, deltaZ distance respectively in x-axis, y-axis, z-axis direction under the LOD ranks of current three-dimensional scenic Sampling, generation t reveals the array of vertices of range of scatter, and readjust Rx, Ry, Rz so that x-axis, y-axis, z-axis direction Sampled point number is 2 whole power;The body bounding box for spreading Release and dispersion scope in coordinate system is transformed into WGS84 coordinates System, is then transformed into world coordinate system, obtains the body bounding box of Release and dispersion scope in world coordinate system;It is parallel flat by two The body bounding box of face and Release and dispersion scope in world coordinate system builds the new body bounding box after expanding, one of plane By the corresponding points of ((Rx+Minx)/2,0, Rz) in world coordinate system, another plane, which passes through to leak in world coordinate system, to expand Dissipate four summits of scope body bounding box bottom surface;
Step a3, is loaded into an idle PBO by the array of vertices that t reveals range of scatter by CPU, makes t=t+deltaT, DeltaT is time interval, for next current spreading moment return to step a1, step a1-a3 is performed, by new diffusion The array of vertices of moment t leakage range of scatters is loaded into another PBO;
After the array of vertices that t reveals range of scatter is loaded into PBO by CPU, step a1-a3 is performed for next spreading moment When, array of vertices is transferred to being drawn below array of vertices size identical three-D grain object, and completion from PBO by GPU Processing, draw two cuboids, by concentration value volume data and per-vertex lighting transmissivity volume data by way of texture mapping Realize that GPGPU is calculated in fragment shader, result of calculation is rendered and FBO is output to, then concentration value volume data and per-vertex lighting Transmissivity volume data is written into texture cache respectively as three-D grain;A rectangle is drawn, screen point color value data is led to The mode of texture mapping is crossed, is adopted with reference to concentration value volume data three-D grain and per-vertex lighting transmissivity volume data three-D grain Sample, realizes that GPGPU is calculated in fragment shader, and result of calculation write-in 2 d texture is simultaneously directly rendered into screen, realizes expansion Dissipate concentration data generation and visual integration.
2. a kind of dynamic and visual method that natural gas leaking based on GPGPU spreads as claimed in claim 1, its feature exists In:In step 1, it is defined as follows for diffusion coordinate system and voxel coordinate system,
Diffusion coordinate system is defined as with source of leaks p0Subpoint on ground is origin, and following wind direction is x-axis, with ground Perpendicular to x-axis direction be y-axis, using perpendicular to ground straight up direction as z-axis;In diffusion coordinate system, range of scatter is by growing Cube bounding box (Minx ,-Ry, 0), (Rx ,-Ry, 0), (Rx, Ry, 0), (Minx, Ry, 0), (Minx ,-Ry, Rz), (Rx ,- Ry, Rz), (Rx, Ry, Rz), (Minx, Ry, Rz) determine that Rx, Ry, Rz are respectively that x-axis, y-axis, z-axis maximally diffuse distance, Minx is minimum value of the range of scatter in x-axis;
Voxel coordinate system is defined as to spread in coordinate system (Minx ,-Ry, 0) for origin, x-axis, y-axis, z-axis direction with diffusion Coordinate system is identical;In voxel coordinate system, range of scatter by cuboid bounding box (0,0,0), (M-1,0,0), (M-1, N-1, 0), (0, N-1,0), (0,0, L-1), (M-1,0, L-1), (M-1, N-1, L-1), (0, N-1, L-1) are determined, M-1, N-1, L-1 Respectively x-axis, y-axis, z-axis maximally diffuse distance, and M, N, L represent the sampled point number of x-axis, y-axis, z-axis respectively.
3. a kind of dynamic and visual method that natural gas leaking based on GPGPU spreads as claimed in claim 2, its feature exists In:In step a1, x-axis, y-axis, diffusion length Rx, Ry, Rz, Minx of z-axis computational methods are as follows in diffusion coordinate system,
(1) calculate Minx method be,
As t < T, Minx=0 is made, Minx values are preserved;
As t >=T,
1. Minx=x0 is initialized, x0 is preset initial value, calculates the concentration value c at (Minx, 0, H) place;
If 2. c < c0, make Minx=Minx+delta, delta recalculate the concentration at (Minx, 0, H) place to preset step-length Value c, until c >=c0, into 3.;If c >=c0, it is directly entered 3.;
If 3. c >=c0, makes Minx=Minx-1, the concentration value c at (Minx, 0, H) place is recalculated, until c < c0, is preserved Minx values;
(2) calculate Rx method be,
1. Rx=Minx+x0 is initialized, x0 is preset initial value, calculates the concentration value c at (Rx, 0, H) place;
If 2. c >=c0, makes Rx=Rx+delta, delta recalculate the concentration value c at (Rx, 0, H) place, directly to preset step-length To c < c0, into 3.;If 3. c < c0, be directly entered;
If 3. c < c0, make Rx=Rx-1, the concentration value c at (Rx, 0, H) place is recalculated, until c >=c0, Rx values are preserved;
(3) calculate Ry method be,
1. Ry=0, Temp_x=Rx, center_x=0 are initialized;Temp_x is the variable of interim storage x values, and center_x is Corresponding x values at Ry;
2. the concentration value c at (Temp_x, Ry, H) place is calculated, if c >=c0, Ry=Ry+1 is made, recalculates (Temp_x, Ry, H) The concentration value c at place, until c < c0, into 3.;If 3. c < c0, be directly entered;
3. center_x=Temp_x, Temp_x=Temp_x-1 are made, the concentration value c at (Temp_x, Ry, H) place is calculated, if c < C0, then preserve Ry values;If c >=c0, return 2., repeat 2. -3.;
(4) calculate Rz method be,
1. Rz=H, Temp_x=center_x, x_left=Temp_x, x_right=Temp_x are initialized;Temp_x、x_ Left, x_right are the variable of interim storage x values, and center_x is corresponding x values at Ry;
2. the concentration value c at (Temp_x, 0, Rz) place is calculated, if c >=c0, Rz=Rz+1 is made, recalculates (Temp_x, 0, Rz) The concentration value c at place, until c < c0, into 3.;If 3. c < c0, be directly entered;
3. x_left=Temp_x-1, x_right=Temp_x+1 are made, (x_left, 0, Rz) place's concentration c 1, (x_ is judged Right, 0, Rz) place's concentration c 2 and given concentration value c0Size,
If c1 < c0 and c2 < c0, Rz values are preserved;
If c1 >=c0 and c2 < c0, Temp_x=Temp_x-1, return 2., repeat 2. -3.;
If c1 < c0 and c2 >=c0, Temp_x=Temp_x+1, return 2., repeat 2. -3..
4. a kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU, its feature as described in Claims 2 or 3 It is:In step a2, by reveal range of scatter visualization precision be divided into several ranks, by the sampling in range of scatter away from It is associated from the LOD ranks of three-dimensional scenic, optimal M, N, L value is obtained by the strategy of multi-scale sampling, optimization texture reflects Penetrate efficiency.
5. a kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU, its feature as described in Claims 2 or 3 It is:If two PBO are designated as PBO0 and PBO1 respectively,
If CPU binds PBO0, the array of vertices generation processing of leakage range of scatter is carried out, spreading moment t array of vertices is carried Enter PBO0, array of vertices is transferred to three-D grain object from PBO0 and drawn by GPU;
While array of vertices is transferred to three-D grain object from PBO0 and drawn by GPU, CPU binding PBO1 are let out Reveal the array of vertices generation processing of range of scatter, next spreading moment t array of vertices is loaded into PBO1;
Array of vertices is transferred to three-D grain object from PBO1 and drawn by GPU, while CPU binds PBO0 again, so Analogize, the continuous alternate transport array of vertices of PBO0, PBO1 to three-D grain object.
6. a kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU, its feature as described in Claims 2 or 3 It is:GPU drawing modification comprises the following steps,
Step b1, draws a cuboid big with three-D grain object etc., by texture mapping function, by three-D grain first Object map, by GPGPU technologies, realizes the coordinate of the array of vertices of leakage range of scatter to cuboid in vertex shader Conversion, realizes the general-purpose computations of the array of vertices concentration value of leakage range of scatter in fragment shader;Result of calculation is rendered And being output to FBO, then the concentration value volume data of diffusion space is written into texture cache as new three-D grain;
Step b2, draws a cuboid big with three-D grain object etc., by texture mapping function, by three-D grain again Object map, by GPGPU technologies, realizes the coordinate of the array of vertices of leakage range of scatter to cuboid in vertex shader Conversion, in fragment shader, the ray sent from summit to light source expand in world coordinate system after Release and dispersion scope Space point sampling is carried out by step-length in body bounding box, with reference to the sampling to three-D grain in step b2, Release and dispersion body number is realized According to the general-purpose computations of summit light transmittance, result of calculation is rendered and FBO is output to, then the summit light of Release and dispersion volume data Line transmissivity is written into texture cache as new three-D grain;
Step b3, finally draws the rectangle of a screen size, by texture mapping function, by etc. big 2 d texture object reflect Be mapped to rectangle, by GPGPU technologies, the Coordinate Conversion on rectangle summit realized in vertex shader, in fragment shader by The ray that viewpoint is sent to screen pixels point expand in world coordinate system after Release and dispersion scope body bounding box in by step-length Space point sampling is carried out, with reference to the sampling to three-D grain in step b1 and step b2, the meter of screen pixels point color value is realized Calculate, most rectangle is exported to screen at last, realizes the three-dimensional visualization of t natural gas leaking range of scatter.
7. a kind of dynamic and visual method that natural gas leaking based on GPGPU spreads as claimed in claim 6, its feature exists In:In step b2, the sampling in the bounding box after expansion is revealed in range of scatter, it is necessary to judge whether sampled point is located at, bag Include sampled point and to be transformed into WGS84 coordinate systems from world coordinate system, if the elevation of sampled point is less than the corresponding elevations of Rz and is more than 0, then sample the sampled point is abandoned in the range of Release and dispersion, otherwise;, will if sample is in the range of Release and dispersion Sampled point is transformed into diffusion coordinate system, then is transformed into voxel coordinate system from diffusion coordinate system, and then mapping obtains the sampled point Three-D grain coordinate, samples at texture coordinate to three-D grain.
8. a kind of dynamic and visual method that natural gas leaking based on GPGPU spreads as claimed in claim 6, its feature exists In:In step b3, the sampling in the bounding box after expansion is revealed in range of scatter, it is necessary to judge whether sampled point is located at, bag Include sampled point and to be transformed into WGS84 spherical coordinate systems from world coordinate system, if the elevation of sampled point is less than the corresponding elevations of Rz and big In 0, then sample abandons the sampled point in the range of Release and dispersion, otherwise;If sample is in the range of Release and dispersion, Sampled point is transformed into diffusion coordinate system, then voxel coordinate system is transformed into from diffusion coordinate system, then mapping obtains the sampled point Three-D grain coordinate, at texture coordinate to three-D grain sample.
CN201710237761.2A 2017-04-12 2017-04-12 A kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU Active CN107093207B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710237761.2A CN107093207B (en) 2017-04-12 2017-04-12 A kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710237761.2A CN107093207B (en) 2017-04-12 2017-04-12 A kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU

Publications (2)

Publication Number Publication Date
CN107093207A true CN107093207A (en) 2017-08-25
CN107093207B CN107093207B (en) 2019-07-09

Family

ID=59637007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710237761.2A Active CN107093207B (en) 2017-04-12 2017-04-12 A kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU

Country Status (1)

Country Link
CN (1) CN107093207B (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107544362A (en) * 2017-10-20 2018-01-05 倪晋挺 A kind of embedded sulfur dioxide monitoring and the Transport Machinery of early warning
CN108010113A (en) * 2017-11-21 2018-05-08 成都品果科技有限公司 A kind of deep learning model based on pixel coloring device performs method
CN108921778A (en) * 2018-07-06 2018-11-30 成都品果科技有限公司 A kind of celestial body effect drawing generating method
CN112330812A (en) * 2020-11-05 2021-02-05 桂林理工大学 Gas diffusion visualization method and system
CN113077539A (en) * 2021-04-08 2021-07-06 网易(杭州)网络有限公司 Target virtual model rendering method and device and electronic equipment
CN113256784A (en) * 2021-07-02 2021-08-13 武大吉奥信息技术有限公司 Method for performing super-efficient drawing of GIS space three-dimensional voxel data based on GPU
CN113484198A (en) * 2021-06-30 2021-10-08 重庆建安仪器有限责任公司 Radiation smoke cloud diffusion prediction system and method
CN114036734A (en) * 2021-11-03 2022-02-11 北京工业大学 Digital twin-based layout optimization method and system for vehicle hydrogen sensor
CN114073085A (en) * 2019-07-02 2022-02-18 Lg 电子株式会社 Point cloud data processing method and device
CN115049532A (en) * 2022-08-15 2022-09-13 南京砺算科技有限公司 Graphic processor, texture coordinate sampling method, texture coordinate compiling device, and medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110053008A1 (en) * 2009-08-28 2011-03-03 Gm Global Technology Operations, Inc. Water vapor transfer membrane and paper integrated assembly
CN104182588A (en) * 2014-08-27 2014-12-03 中国科学院上海高等研究院 Method for dynamic simulation of continuous heavy gas drain diffusion
CN105701578A (en) * 2016-03-03 2016-06-22 重庆大学 Method for predicting smoke plume front end diffusion path based on electric noses and infrared video cameras

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110053008A1 (en) * 2009-08-28 2011-03-03 Gm Global Technology Operations, Inc. Water vapor transfer membrane and paper integrated assembly
CN104182588A (en) * 2014-08-27 2014-12-03 中国科学院上海高等研究院 Method for dynamic simulation of continuous heavy gas drain diffusion
CN105701578A (en) * 2016-03-03 2016-06-22 重庆大学 Method for predicting smoke plume front end diffusion path based on electric noses and infrared video cameras

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107544362A (en) * 2017-10-20 2018-01-05 倪晋挺 A kind of embedded sulfur dioxide monitoring and the Transport Machinery of early warning
CN108010113A (en) * 2017-11-21 2018-05-08 成都品果科技有限公司 A kind of deep learning model based on pixel coloring device performs method
CN108921778A (en) * 2018-07-06 2018-11-30 成都品果科技有限公司 A kind of celestial body effect drawing generating method
CN108921778B (en) * 2018-07-06 2022-12-30 成都品果科技有限公司 Method for generating star effect map
CN114073085A (en) * 2019-07-02 2022-02-18 Lg 电子株式会社 Point cloud data processing method and device
CN112330812A (en) * 2020-11-05 2021-02-05 桂林理工大学 Gas diffusion visualization method and system
CN112330812B (en) * 2020-11-05 2023-01-10 桂林理工大学 Gas diffusion visualization method and system
CN113077539A (en) * 2021-04-08 2021-07-06 网易(杭州)网络有限公司 Target virtual model rendering method and device and electronic equipment
CN113484198A (en) * 2021-06-30 2021-10-08 重庆建安仪器有限责任公司 Radiation smoke cloud diffusion prediction system and method
CN113256784B (en) * 2021-07-02 2021-09-28 武大吉奥信息技术有限公司 Method for performing super-efficient drawing of GIS space three-dimensional voxel data based on GPU
CN113256784A (en) * 2021-07-02 2021-08-13 武大吉奥信息技术有限公司 Method for performing super-efficient drawing of GIS space three-dimensional voxel data based on GPU
CN114036734A (en) * 2021-11-03 2022-02-11 北京工业大学 Digital twin-based layout optimization method and system for vehicle hydrogen sensor
CN114036734B (en) * 2021-11-03 2022-11-22 北京工业大学 Digital twin-based layout optimization method and system for vehicle hydrogen sensor
CN115049532A (en) * 2022-08-15 2022-09-13 南京砺算科技有限公司 Graphic processor, texture coordinate sampling method, texture coordinate compiling device, and medium
CN115049532B (en) * 2022-08-15 2022-11-22 南京砺算科技有限公司 Graphic processor, texture coordinate sampling method, texture coordinate compiling device, and texture coordinate compiling medium

Also Published As

Publication number Publication date
CN107093207B (en) 2019-07-09

Similar Documents

Publication Publication Date Title
CN107093207B (en) A kind of dynamic and visual method of the natural gas leaking diffusion based on GPGPU
JP4769732B2 (en) A device that realistically displays complex dynamic 3D scenes by ray tracing
Cerezo et al. A survey on participating media rendering techniques
US6894689B1 (en) Occlusion culling method and apparatus for graphics systems
CN114581589A (en) Image processing method and related device
US7102647B2 (en) Interactive horizon mapping
US7940268B2 (en) Real-time rendering of light-scattering media
US7940269B2 (en) Real-time rendering of light-scattering media
US10614619B2 (en) Graphics processing systems
CN100478994C (en) High dynamic range material color applying drawing method
US20080143720A1 (en) Method for rendering global illumination on a graphics processing unit
US10600232B2 (en) Creating a ray differential by accessing a G-buffer
US6862025B2 (en) Recursive ray casting method and apparatus
CN103679802A (en) Method for drawing surface of SPH (smoothed particle hydrodynamics) fluid in real time on basis of screen spaces
CN101441774A (en) Dynamic scene real time double face refraction drafting method based on image mapping space
US20030160788A1 (en) Pixel pruning and rendering apparatus and method
CN107689076B (en) A kind of efficient rendering intent when the cutting for system of virtual operation
CN113034660A (en) Laser radar simulation method based on PBR reflection model
CN117726496A (en) Reducing false positive ray traversal using ray clipping
CN117726732A (en) Reducing false positive ray traversal in bounding volume hierarchies
KR101208826B1 (en) Real time polygonal ambient occlusion method using contours of depth texture
CN116630567B (en) Geometric modeling and rendering method for ellipsoidal route slice of digital earth
KR100372901B1 (en) Ray-tracing acceleration method using ZF-buffer
US20110074777A1 (en) Method For Displaying Intersections And Expansions of Three Dimensional Volumes
Luo et al. Dual‐space ray casting for height field rendering

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant