CN104835193B - The load-balancing method of three-dimensional scenic GPU cluster drawing system based on ray trace - Google Patents
The load-balancing method of three-dimensional scenic GPU cluster drawing system based on ray trace Download PDFInfo
- Publication number
- CN104835193B CN104835193B CN201510254497.4A CN201510254497A CN104835193B CN 104835193 B CN104835193 B CN 104835193B CN 201510254497 A CN201510254497 A CN 201510254497A CN 104835193 B CN104835193 B CN 104835193B
- Authority
- CN
- China
- Prior art keywords
- variables
- variable
- value
- entered
- line number
- 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.)
- Active
Links
Abstract
The present invention discloses a kind of load-balancing method of the three-dimensional scenic GPU cluster drawing system based on ray trace.The three-dimensional scenic GPU cluster drawing system that this method is directed to includes the identical GPU of n software and hardware configuration and calculates node and a load balancing control node, and all GPU calculate node and load balancing control node is interconnected by the network switch.The fact that using there is very strong temporal correlation between the adjacent two frames picture of the three-dimensional scenic of consecutive variations, next frame picture is divided into multiple essentially identical subregions in amount of calculation by this method according to the ray traced depth data of each pixel of present frame picture, and GPU will be distributed to per sub-regions calculate node and be drawn, so as to realize the load balancing of each GPU calculating node.
Description
Technical field
The invention belongs to 3 D image drawing technical field, it is related to a kind of three-dimensional scenic GPU cluster based on ray trace
The load-balancing method of drawing system.
Background technology
Ray tracking technology is widely used among the drafting of sense of reality three-dimensional scenic.The ray trace of complex three-dimensional scene is painted
System is related to substantial amounts of light-geometric object and asks friendship to operate and illumination calculation, cause the drafting frame rate of three-dimensional scenic picture by
Limitation.If asked for help and three-dimensional scenic object carries out interactive, man-machine interaction experience can be because the drafting frame rate of picture be high
It is affected.Using the powerful computation capability of GPU cluster, the image frame that the ray trace of three-dimensional scenic is drawn can be improved
Speed.In the three-dimensional scenic GPU cluster drawing system based on ray trace, picture to be drawn can be divided into several sub-districts
Domain, calculates node by a GPU per sub-regions and is responsible for drafting;Each GPU calculates node and concurrently worked, so as to reduce by a frame
Total drafting time span of three-dimensional scenic picture.It is worth noting that, the three-dimensional scenic GPU cluster based on ray trace draws system
The total time length that system draws a frame three-dimensional scenic picture depends on taking the drafting time span that most long GPU calculates node.
Want total drafting time span of minimum three-dimensional scenic picture, it is important to each GPU is calculated the picture sub-district that node is got
The drafting time span in domain is roughly equal, that is, the load basis equalization for making each GPU calculate node.Therefore, load balancing
It is the key technology that the three-dimensional scenic GPU cluster drawing system based on ray trace realizes interactive drawing.In order to improve light
Efficiency is tracked, it is necessary to control ray traced depth.The master's degree that the Guo little Kai of Xian Electronics Science and Technology University write in 2008
Paper《The research of ray trace and its accelerating algorithm》In describe adaptive ray traced depth control method.For continuous change
Often there is very strong temporal correlation between the three-dimensional scenic of change, two adjacent frame pictures., can using this temporal correlation
Using by the ray trace drawing result of present frame picture as realize balancedly next frame picture is divided into amount of calculation it is many
The foundation of sub-regions.The load balancing of the three-dimensional scenic GPU cluster drawing system based on ray trace can be realized accordingly.
The content of the invention
The purpose of this method is that there is provided a kind of load of the three-dimensional scenic GPU cluster drawing system based on ray trace
Equalization methods.The hardware for the three-dimensional scenic GPU cluster drawing system that this method is directed to is constituted as shown in figure 1, including n software and hardware
Configure identical GPU and calculate node and a load balancing control node, n=2k, k is greater than 0 integer;GPU is calculated
Node and load balancing control node are interconnected by the network switch;GPU calculating nodes are one and are provided with GPU
Computer, load balancing control node be a computer;Load balancing control node is responsible for the frame picture three-dimensional scenic
N sub-regions are divided into, and each picture subregion is distributed into different GPU and calculate node progress ray trace drafting.This
The ray trace drawing program that method is directed to is according to the global illumination effects of Whitted global illumination model drawing three-dimensional scenes.
If the three-dimensional geometry object of light and three-dimensional scenic intersects, the object material according to the point of intersection nearest from ray origin is needed
Characteristic and adaptive ray traced depth control method judge whether to need to produce derivative in the point of intersection nearest from ray origin
Light simultaneously makees recurrence tracking.The three-dimensional scenic if chief ray through three-dimensional scenic frame picture pixel launched from viewpoint is got along well
Any three-dimensional geometry object intersects, then the corresponding ray traced depth of the pixel is 1.Three-dimensional scenic frame is passed through from what viewpoint was launched
If the three-dimensional geometry object of the chief ray of picture pixel and three-dimensional scenic intersects, the pixel will one chief ray of correspondence and
NdRay bars derive light, ndRay >=0, as shown in Fig. 2 the corresponding ray traced depth of the pixel that this method is calculated is
ndRay+1.This method is carried out the starting line number of the pixel of stored picture subregion using data structure BLOCK, terminates line number, starting
Row number and end row number;Data structure BLOCK is total to comprising starting line number I1, end line number I2, starting row number C1, end row number C2
Four member variables.
This method realizes that step is as follows:
Step001:Start the three-dimensional scenic being arranged on load balancing control node and draw control program A001;
Step002:Node is controlled to transmit from load balancing by network three-dimensional scene models file A002 to be drawn
Node is calculated to each GPU, initial virtual camera parameter configuration file CPARAMF is controlled into node by network from load balancing
Send each GPU to and calculate node;
Step003:Start the ray trace drawing program A003 being arranged on each GPU calculating nodes, load three dimensional field
Scape model file A002, and ray trace drawing program A003 is set according to initial virtual camera parameter configuration file CPARAMF
In virtual camera parameter;
Step004:To operating in the ray trace drawing program A003 on each GPU calculating node, set up and three dimensional field
Scape draws the TCP socket connection between control program A001;
Step005:Control program A001 is drawn using three-dimensional scenic, row are created in the internal memory that load balancing controls node
Table A 004 and list A005, it is sky to set list A004, and it is sky to set list A005;
Step006:Control program A001 is drawn using three-dimensional scenic, one is created in the internal memory that load balancing controls node
The variable V 1 of individual data structure BLOCK types, is entered as 1, by the knot of variable V 1 by the starting line number I1 member variables of variable V 1
Beam line number I2 member variables are entered asThe starting row number C1 member variables of variable V 1 are entered as 1, by the knot of variable V 1
Beam row number C2 member variables are entered as N, and M is the total line number of pixel of three-dimensional scenic frame picture, and N is the pixel of three-dimensional scenic frame picture
Total columns;Variable V 1 is stored in list A004;Control program A001 is drawn using three-dimensional scenic, controls to tie in load balancing
The variable V 2 of a data structure BLOCK type is created in the internal memory of point, by the starting line number I1 member variable assignment of variable V 2
ForThe end line number I2 member variables of variable V 2 are entered as M, the starting row number C1 member variables of variable V 2 are assigned
It is worth for 1, the end row number C2 member variables of variable V 2 is entered as N;Variable V 2 is stored in list A004;
Step007:Make i=1;
Step008:If 2i>=n, goes to step Step011;
Step009:To the variable V x of each data structure BLOCK types in list A004, drawn using three-dimensional scenic
Control program A001 is done as follows:
Step009-1:NRows is made to be equal to the value of variable V x end line number I2 member variables and variable V x starting line number
The difference of the value of I1 member variables adds 1, makes nCols be equal to the value of variable V x end row number C2 member variables and variable V x starting
The difference of the value of row number C1 member variables adds 1;If nRows < nCols, go to step Step009-3;
Step009-2:Create a data structure BLOCK type variable V x1, by variable V x1 starting line number I1 into
The value for the starting line number I1 member variables that member's variable assignments is variable V x, by variable V x1 end line number I2 member variable assignment
For variable V x starting line number I1 member variables value withSum subtracts 1, by variable V x1 starting row number C1 member
Variable assignments is the value of variable V x starting row number C1 member variables, and variable V x1 end row number C2 member variables are entered as
The value of variable V x end row number C2 member variables;Variable V x1 is stored in list A005;Create a data structure
The variable V x2 of BLOCK types, variable V x starting line number I1 member is entered as by variable V x2 starting line number II member variables
The value of variable withSum, variable V x end line number is entered as by variable V x2 end line number I2 member variables
The value of I2 member variables, variable V x2 starting row number C1 member variables is entered as variable V x starting row number C1 member variables
Value, variable V x2 end row number C2 member variables are entered as to the value of variable V x end row number C2 member variables;By variable
Vx2 is stored in list A005;Go to step Step009-4;
Step009-3:Create a data structure BLOCK type variable V y1, by variable V y1 starting line number I1 into
The value for the starting line number I1 member variables that member's variable assignments is variable V x, by variable V y1 end line number I2 member variable assignment
For the value of variable V x end line number I2 member variables, variable V y1 starting row number C1 member variables are entered as variable V x's
The value of row number C1 member variables is originated, variable V y1 end row number C2 member variables are entered as variable V x starting row number C1
The value of member variable withSum subtracts 1;Variable V y1 is stored in list A005;Create a data structure
The variable V y2 of BLOCK types, variable V x starting line number I1 member is entered as by variable V y2 starting line number I1 member variables
The value of variable, variable V y2 end line number I2 member variables is entered as the value of variable V x end line number I2 member variables, will
Variable V y2 starting row number C1 member variables be entered as the values of variable V x starting row number C1 member variables withIt
With variable V y2 end row number C2 member variables are entered as to the value of variable V x end row number C2 member variables;By variable
Vy2 is stored in list A005;
Step009-4:Operation for variable V x terminates;
Step010:Empty list A004;The variable of all data structure BLOCK types in list A005 is stored in
In list A004;Empty list A005;I=i+1;Go to step Step008;
Step011:If three-dimensional scenic draws control program A001 and receives " stopping drawing " command messages, go to step
Step021, otherwise to the variables A 006 of each data structure BLOCK types in list A004, is drawn using three-dimensional scenic and controlled
Processing procedure sequence A001 performs following operation:
Step011-1:Calculate position number ID of the variables A 006 in list A004;
Step011-2:The value of variables A 006 is sent to by TCP socket connection and operates in the ID GPU calculating knot
Ray trace drawing program A003 on point, to the ray trace drawing program A003 operated on the ID GPU calculating node
Send the starting line number I1 member variables, end line number I2 member variables, starting row number C1 member variables drawn by variables A 006
The picture subregion A007 determined with the value for terminating row number C2 member variables request;The ID GPU is operated in calculate on node
Ray trace drawing program A003 calculate the color value of each pixel A 008 in picture subregion A007, and record pixel
The corresponding ray traced depths of A008;The ray trace drawing program A003 operated on the ID GPU calculating node passes through TCP
Socket connection transmits the color value of each pixel A 008 in picture subregion A007 and its corresponding ray traced depth
Control program A001 is drawn to three-dimensional scenic;
Step011-3:Operation for variables A 006 terminates;
Step012:Three-dimensional scenic draws control program A001 according to from the ray trace operated on each GPU calculating node
The color of all pixels for all picture subregion A007 that drawing program A003 transmission comes is worth to three-dimensional scenic frame picture
The color value of all pixels, and show three-dimensional scenic frame picture on the display for controlling node to be connected with load balancing accordingly;
Three-dimensional scenic is drawn control program A001 and transmitted according to from the ray trace drawing program A003 operated on each GPU calculating node
The ray traced depth of all picture subregion A007 come each pixel obtains the light of each pixel of three-dimensional scenic frame picture
Tracking depths;Three-dimensional scenic is drawn control program A001 and connected by TCP socket the man-machine interaction message being currently received
Send the ray trace drawing program A003 operated on each GPU calculating nodes to, ray trace drawing program A003 is accordingly
Map function is carried out to the three-dimensional scene models being loaded into internal memory, interacting between people and three-dimensional scenic is realized;
Step013:Control program A001 is drawn using three-dimensional scenic, one is created in the internal memory that load balancing controls node
The array A009 of individual M rows, N row;Idx=1,2 ..., M;Idy=1,2 ..., N;Array A009 the i-th dx rows, the i-th dy are arranged
Element is entered as the i-th dx rows of three-dimensional scenic frame picture, the corresponding ray traced depth of pixel of the i-th dy row and 1.6 product;
Step014:List A004 is emptied, list A005 is emptied;
Step015:Control program A001 is drawn using three-dimensional scenic, one is created in the internal memory that load balancing controls node
The individual one-dimension array A010 for including M element;Id=1,2 ..., M;Array A010 i-th d element is entered as array A009
The i-th d rows all elements value sum;Calculating makes functionMinimum m, m is integer and 1≤m
≤ M, wherein ajIt is the value of array A010 j-th of element;
Step016:Control program A001 is drawn using three-dimensional scenic, one is created in the internal memory that load balancing controls node
The variables A 011 of individual data structure BLOCK types, is entered as 1, by variable by the starting line number I1 member variables of variables A 011
A011 end line number I2 member variables are entered as m, the starting row number C1 member variables of variables A 011 are entered as into 1, by variable
A011 end row number C2 member variables are entered as N;Variables A 011 is stored in list A004;Drawn and controlled using three-dimensional scenic
Processing procedure sequence A001, the variables A 012 of a data structure BLOCK type is created in the internal memory that load balancing controls node, will be become
Amount A012 starting line number I1 member variables are entered as m+1, and the end line number I2 member variables of variables A 012 are entered as into M, will
The starting row number C1 member variables of variables A 012 are entered as 1, and the end row number C2 member variables of variables A 012 are entered as into N;Will
Variables A 012 is stored in list A004;
Step017:Make i=1;
Step018:If 2i>=n, goes to step Step011;
Step019:To the variables A 013 of each data structure BLOCK types in list A004, painted using three-dimensional scenic
Control program A001 processed is done as follows:
Step019-1:NRows is made to be equal to the value of the end line number I2 member variables of variables A 013 and the starting of variables A 013
The difference of the value of line number I1 member variables adds 1, makes nCols be equal to the value and variable of the end row number C2 member variables of variables A 013
The difference of the value of A013 starting row number C1 member variables adds 1;IdRB is made to be equal to the starting line number I1 member variables of variables A 013
Value, makes idRE be equal to the value of the end line number I2 member variables of variables A 013, makes idCB be equal to the starting row number C1 of variables A 013
The value of member variable, makes idCE be equal to the value of the end row number C2 member variables of variables A 013;If nRows < nCols, turn step
Rapid Step019-3;
Step019-2:Create an one-dimension array A014 for including nRows element;J=1,2 ..., nRows, by number
Group A014 j-th of element is entered as array A009 the i-th dRB+j-1 rows, the i-th dCB to the i-th dCE all elements arranged value
Sum;Calculating makes functionMinimum m, m is integer and 1≤m≤nRows, wherein apIt is array
The value of A014 p-th of element;The variables A 0131 of a data structure BLOCK type is created, by the initial row of variables A 0131
Number I1 member variables are entered as the value of the starting line number I1 member variables of variables A 013, by the end line number I2 of variables A 0131 into
Member's variable assignments subtracts 1 for the value of the starting line number I1 member variables of variables A 013 with m sums, by the starting row number of variables A 0131
C1 member variables are entered as the value of the starting row number C1 member variables of variables A 013, by the end row number C2 member of variables A 0131
Variable assignments is the value of the end row number C2 member variables of variables A 013;Variables A 0131 is stored in list A005;Create one
The variables A 0132 of individual data structure BLOCK types, variables A 013 is entered as by the starting line number I1 member variables of variables A 0132
Starting line number I1 member variables value and m sums, the end line number I2 member variables of variables A 0132 are entered as variables A 013
End line number I2 member variables value, the starting row number C1 member variables of variables A 0132 are entered as the starting of variables A 013
The value of row number C1 member variables, the end row number C2 of variables A 013 is entered as by the end row number C2 member variables of variables A 0132
The value of member variable;Variables A 0132 is stored in list A005;Go to step Step019-4;
Step019-3:Create an one-dimension array A015 for including nCols element;J=1,2 ..., nCols, by number
Group A015 j-th of element is entered as the value of all elements of array A009 the i-th dRB to the i-th dRE rows, the i-th dCB+j-1 row
Sum;Calculating makes functionMinimum m, m is integer and 1≤m≤nCols, wherein atIt is array
The value of A015 t-th of element;The variables A 016 of a data structure BLOCK type is created, by the starting line number of variables A 016
I1 member variables are entered as the value of the starting line number I1 member variables of variables A 013, and the end line number I2 member of variables A 016 is become
Amount is entered as the value of the end line number I2 member variables of variables A 013, and the starting row number C1 member variables of variables A 016 are entered as
The value of the starting row number C1 member variables of variables A 013, variables A 013 is entered as by the end row number C2 member variables of variables A 016
Value and the m sums of starting row number C1 member variables subtract 1;Variables A 016 is stored in list A005;Create a data knot
The variables A 017 of structure BLOCK types, the starting line number of variables A 013 is entered as by the starting line number I1 member variables of variables A 017
The value of I1 member variables, the end line number I2 member that the end line number I2 member variables of variables A 017 are entered as into variables A 013 becomes
The value of amount, the starting row number C1 member variables of variables A 017 are entered as variables A 013 starting row number C1 member variables value with
M sums, the end row number C2 member variables of variables A 017 are entered as the value of the end row number C2 member variables of variables A 013;Will
Variables A 017 is stored in list A005;
Step019-4:Operation for variables A 013 terminates;
Step020:Empty list A004;The variable of all data structure BLOCK types in list A005 is stored in
In list A004;Empty list A005;I=i+1;Go to step Step018;
Step021:Three-dimensional scenic is terminated to draw and its load balancing operation.
Beneficial effect
The invention provides a kind of load-balancing method of the three-dimensional scenic GPU cluster drawing system based on ray trace.
The characteristics of this method has very strong temporal correlation using adjacent two frame of the three-dimensional scenic of consecutive variations, draws according to present frame
Next frame picture is divided into multiple essentially identical subregions in amount of calculation by the ray traced depth of each pixel in face, and will
Distribute to a GPU calculating node per sub-regions to be drawn, so as to realize that each GPU calculates the load balancing of node.We
Method can make the load of each GPU calculating nodes of the three-dimensional scenic GPU cluster drawing system based on ray trace of substantially equal, from
And reduce total drafting time span of three-dimensional scenic frame picture, the drafting frame rate of three-dimensional scenic is improved, improves people and three dimensional field
Interactive experience between scape object.
Brief description of the drawings
Fig. 1 is the three-dimensional scenic GPU cluster drawing system hardware composition schematic diagram based on ray trace.Fig. 2 is from viewpoint
The chief ray and its derivative light schematic diagram sent.
Embodiment
In order that the feature and advantage of this method are more clearly understood, this method is made into one with reference to specific embodiment
The description of step.In the present embodiment, it is considered to office's three-dimensional scenic, people with load balancing by controlling the key that node is connected
The chair that disk comes in mobile office three-dimensional scenic.Each GPU is calculated and is provided with one piece of Nvidia Quadro K2000 on node
Video card, ray trace drawing program is developed based on OptiX storehouses, and three-dimensional scenic draws control program and utilizes Visual Studio
2010 exploitations.
The hardware for the three-dimensional scenic GPU cluster drawing system that this method is directed to is constituted as shown in figure 1, including n software and hardware
Configure identical GPU and calculate node and a load balancing control node, n=2k, k is greater than 0 integer;GPU is calculated
Node and load balancing control node are interconnected by the network switch;GPU calculating nodes are one and are provided with English
The big computer up to GPU, load balancing control node is a computer;Load balancing control node is responsible for three-dimensional scenic
Frame picture is divided into n sub-regions, and each picture subregion is distributed into different GPU calculates nodes and carry out ray traces and paint
System.The ray trace drawing program that this method is directed to is according to the global illuminations of Whitted global illumination model drawing three-dimensional scenes
Effect.If the three-dimensional geometry object of light and three-dimensional scenic intersects, the thing according to the point of intersection nearest from ray origin is needed
Body material characteristic and adaptive ray traced depth control method judge whether to need to produce in the point of intersection nearest from ray origin
Raw derivative light simultaneously makees recurrence tracking.If the chief ray through three-dimensional scenic frame picture pixel launched from viewpoint is got along well three-dimensional
Any three-dimensional geometry object of scene intersects, then the corresponding ray traced depth of the pixel is 1.Three-dimensional is passed through from what viewpoint was launched
If the three-dimensional geometry object of the chief ray of scene frame picture pixel and three-dimensional scenic intersects, the pixel will one key light of correspondence
Line and ndRay bars derive light, ndRay >=0, as shown in Fig. 2 the corresponding ray traced depth of the pixel that this method is calculated is
ndRay+1.This method is carried out the starting line number of the pixel of stored picture subregion using data structure BLOCK, terminates line number, starting
Row number and end row number;Data structure BLOCK is total to comprising starting line number I1, end line number I2, starting row number C1, end row number C2
Four member variables.
This method realizes that step is as follows:
Step001:Start the three-dimensional scenic being arranged on load balancing control node and draw control program A001;
Step002:Node is controlled to transmit from load balancing by network three-dimensional scene models file A002 to be drawn
Node is calculated to each GPU, initial virtual camera parameter configuration file CPARAMF is controlled into node by network from load balancing
Send each GPU to and calculate node;
Step003:Start the ray trace drawing program A003 being arranged on each GPU calculating nodes, load three dimensional field
Scape model file A002, and ray trace drawing program A003 is set according to initial virtual camera parameter configuration file CPARAMF
In virtual camera parameter;
Step004:To operating in the ray trace drawing program A003 on each GPU calculating node, set up and three dimensional field
Scape draws the TCP socket connection between control program A001;
Step005:Control program A001 is drawn using three-dimensional scenic, row are created in the internal memory that load balancing controls node
Table A 004 and list A005, it is sky to set list A004, and it is sky to set list A005;
Step006:Control program A001 is drawn using three-dimensional scenic, one is created in the internal memory that load balancing controls node
The variable V 1 of individual data structure BLOCK types, is entered as 1, by the knot of variable V 1 by the starting line number I1 member variables of variable V 1
Beam line number I2 member variables are entered asThe starting row number C1 member variables of variable V 1 are entered as 1, by the knot of variable V 1
Beam row number C2 member variables are entered as N, and M is the total line number of pixel of three-dimensional scenic frame picture, and N is the pixel of three-dimensional scenic frame picture
Total columns;Variable V 1 is stored in list A004;Control program A001 is drawn using three-dimensional scenic, controls to tie in load balancing
The variable V 2 of a data structure BLOCK type is created in the internal memory of point, by the starting line number I1 member variable assignment of variable V 2
ForThe end line number I2 member variables of variable V 2 are entered as M, the starting row number C1 member variables of variable V 2 are assigned
It is worth for 1, the end row number C2 member variables of variable V 2 is entered as N;Variable V 2 is stored in list A004;
Step007:Make i=1;
Step008:If 2i>=n, goes to step Step011;
Step009:To the variable V x of each data structure BLOCK types in list A004, drawn using three-dimensional scenic
Control program A001 is done as follows:
Step009-1:NRows is made to be equal to the value of variable V x end line number I2 member variables and variable V x starting line number
The difference of the value of I1 member variables adds 1, makes nCols be equal to the value of variable V x end row number C2 member variables and variable V x starting
The difference of the value of row number C1 member variables adds 1;If nRows < nCols, go to step Step009-3;
Step009-2:Create a data structure BLOCK type variable V x1, by variable V x1 starting line number I1 into
The value for the starting line number I1 member variables that member's variable assignments is variable V x, by variable V x1 end line number I2 member variable assignment
For variable V x starting line number I1 member variables value withSum subtracts 1, by variable V x1 starting row number C1 member
Variable assignments is the value of variable V x starting row number C1 member variables, and variable V x1 end row number C2 member variables are entered as
The value of variable V x end row number C2 member variables;Variable V x1 is stored in list A005;Create a data structure
The variable V x2 of BLOCK types, variable V x starting line number I1 member is entered as by variable V x2 starting line number I1 member variables
The value of variable withSum, variable V x end line number is entered as by variable V x2 end line number I2 member variables
The value of I2 member variables, variable V x2 starting row number C1 member variables is entered as variable V x starting row number C1 member variables
Value, variable V x2 end row number C2 member variables are entered as to the value of variable V x end row number C2 member variables;By variable
Vx2 is stored in list A005;Go to step Step009-4;
Step009-3:Create a data structure BLOCK type variable V y1, by variable V y1 starting line number I1 into
The value for the starting line number I1 member variables that member's variable assignments is variable V x, by variable V y1 end line number I2 member variable assignment
For the value of variable V x end line number I2 member variables, variable V y1 starting row number C1 member variables are entered as variable V x's
The value of row number C1 member variables is originated, variable V y1 end row number C2 member variables are entered as variable V x starting row number C1
The value of member variable withSum subtracts 1;Variable V y1 is stored in list A005;Create a data structure
The variable By2 of BLOCK types, variable V x starting line number I1 member is entered as by variable V y2 starting line number I1 member variables
The value of variable, variable V y2 end line number I2 member variables is entered as the value of variable V x end line number I2 member variables, will
Variable V y2 starting row number C1 member variables be entered as the values of variable V x starting row number C1 member variables withIt
With variable V y2 end row number C2 member variables are entered as to the value of variable V x end row number C2 member variables;By variable
Vy2 is stored in list A005;
Step009-4:Operation for variable V x terminates;
Step010:Empty list A004;The variable of all data structure BLOCK types in list A005 is stored in
In list A004;Empty list A005;I=i+1;Go to step Step008;
Step011:If three-dimensional scenic draws control program A001 and receives " stopping drawing " command messages, go to step
Step021, otherwise to the variables A 006 of each data structure BLOCK types in list A004, is drawn using three-dimensional scenic and controlled
Processing procedure sequence A001 performs following operation:
Step011-1:Calculate position number ID of the variables A 006 in list A004;
Step011-2:The value of variables A 006 is sent to by TCP socket connection and operates in the ID GPU calculating knot
Ray trace drawing program A003 on point, to the ray trace drawing program A003 operated on the ID GPU calculating node
Send the starting line number I1 member variables, end line number I2 member variables, starting row number C1 member variables drawn by variables A 006
The picture subregion A007 determined with the value for terminating row number C2 member variables request;The ID GPU is operated in calculate on node
Ray trace drawing program A003 calculate the color value of each pixel A 008 in picture subregion A007, and record pixel
The corresponding ray traced depths of A008;The ray trace drawing program A003 operated on the ID GPU calculating node passes through TCP
Socket connection transmits the color value of each pixel A 008 in picture subregion A007 and its corresponding ray traced depth
Control program A001 is drawn to three-dimensional scenic;
Step011-3:Operation for variables A 006 terminates;
Step012:Three-dimensional scenic draws control program A001 according to from the ray trace operated on each GPU calculating node
The color of all pixels for all picture subregion A007 that drawing program A003 transmission comes is worth to three-dimensional scenic frame picture
The color value of all pixels, and show three-dimensional scenic frame picture on the display for controlling node to be connected with load balancing accordingly;
Three-dimensional scenic is drawn control program A001 and transmitted according to from the ray trace drawing program A003 operated on each GPU calculating node
The ray traced depth of all picture subregion A007 come each pixel obtains the light of each pixel of three-dimensional scenic frame picture
Tracking depths;Three-dimensional scenic is drawn control program A001 and connected by TCP socket the man-machine interaction message being currently received
Send the ray trace drawing program A003 operated on each GPU calculating nodes to, ray trace drawing program A003 is accordingly
Map function is carried out to the three-dimensional scene models being loaded into internal memory, interacting between people and three-dimensional scenic is realized;
Step013:Control program A001 is drawn using three-dimensional scenic, one is created in the internal memory that load balancing controls node
The array A009 of individual M rows, N row;Idx=1,2 ..., M;Idy=1,2 ..., N;Array A009 the i-th dx rows, the i-th dy are arranged
Element is entered as the i-th dx rows of three-dimensional scenic frame picture, the corresponding ray traced depth of pixel of the i-th dy row and 1.6 product;
Step014:List A004 is emptied, list A005 is emptied;
Step015:Control program A001 is drawn using three-dimensional scenic, one is created in the internal memory that load balancing controls node
The individual one-dimension array A010 for including M element;Id=1,2 ..., M;Array A010 i-th d element is entered as array A009
The i-th d rows all elements value sum;Calculating makes functionMinimum m, m is integer and 1≤m
≤ M, wherein ajIt is the value of array A010 j-th of element;
Step016:Control program A001 is drawn using three-dimensional scenic, one is created in the internal memory that load balancing controls node
The variables A 011 of individual data structure BLOCK types, is entered as 1, by variable by the starting line number I1 member variables of variables A 011
A011 end line number I2 member variables are entered as m, the starting row number C1 member variables of variables A 011 are entered as into 1, by variable
A011 end row number C2 member variables are entered as N;Variables A 011 is stored in list A004;Drawn and controlled using three-dimensional scenic
Processing procedure sequence A001, the variables A 012 of a data structure BLOCK type is created in the internal memory that load balancing controls node, will be become
Amount A012 starting line number I1 member variables are entered as m+1, and the end line number I2 member variables of variables A 012 are entered as into M, will
The starting row number C1 member variables of variables A 012 are entered as 1, and the end row number C2 member variables of variables A 012 are entered as into N;Will
Variables A 012 is stored in list A004;
Step017:Make i=1;
Step018:If 2i>=n, goes to step Step011;
Step019:To the variables A 013 of each data structure BLOCK types in list A004, painted using three-dimensional scenic
Control program A001 processed is done as follows:
Step019-1:NRows is made to be equal to the value of the end line number I2 member variables of variables A 013 and the starting of variables A 013
The difference of the value of line number I1 member variables adds 1, makes nCols be equal to the value and variable of the end row number C2 member variables of variables A 013
The difference of the value of A013 starting row number C1 member variables adds 1;IdRB is made to be equal to the starting line number I1 member variables of variables A 013
Value, makes idRE be equal to the value of the end line number I2 member variables of variables A 013, makes idCB be equal to the starting row number C1 of variables A 013
The value of member variable, makes idCE be equal to the value of the end row number C2 member variables of variables A 013;If nRows < nCols, turn step
Rapid Step019-3;
Step019-2:Create an one-dimension array A014 for including nRows element;J=1,2 ..., nRows, by number
Group A014 j-th of element is entered as array A009 the i-th dRB+j-1 rows, the i-th dCB to the i-th dCE all elements arranged value
Sum;Calculating makes functionMinimum m, m is integer and 1≤m≤nRows, wherein apIt is array
The value of A014 p-th of element;The variables A 0131 of a data structure BLOCK type is created, by the initial row of variables A 0131
Number I1 member variables are entered as the value of the starting line number I1 member variables of variables A 013, by the end line number I2 of variables A 0131 into
Member's variable assignments subtracts 1 for the value of the starting line number I1 member variables of variables A 013 with m sums, by the starting row number of variables A 0131
C1 member variables are entered as the value of the starting row number C1 member variables of variables A 013, by the end row number C2 member of variables A 0131
Variable assignments is the value of the end row number C2 member variables of variables A 013;Variables A 0131 is stored in list A005;Create one
The variables A 0132 of individual data structure BLOCK types, variables A 013 is entered as by the starting line number I1 member variables of variables A 0132
Starting line number I1 member variables value and m sums, the end line number I2 member variables of variables A 0132 are entered as variables A 013
End line number I2 member variables value, the starting row number C1 member variables of variables A 0132 are entered as the starting of variables A 013
The value of row number C1 member variables, the end row number C2 of variables A 013 is entered as by the end row number C2 member variables of variables A 0132
The value of member variable;Variables A 0132 is stored in list A005;Go to step Step019-4;
Step019-3:Create an one-dimension array A015 for including nCols element;J=1,2 ..., nCols, by number
Group A015 j-th of element is entered as the value of all elements of array A009 the i-th dRB to the i-th dRE rows, the i-th dCB+j-1 row
Sum;Calculating makes functionMinimum m, m is integer and 1≤m≤nCols, wherein atIt is array A015
T-th of element value;Create a data structure BLOCK type variables A 016, by the starting line number I1 of variables A 016 into
Member's variable assignments is the value of the starting line number I1 member variables of variables A 013, and the end line number I2 member variables of variables A 016 are assigned
It is worth the value of the end line number I2 member variables for variables A 013, the starting row number C1 member variables of variables A 016 is entered as variable
The value of A013 starting row number C1 member variables, rising for variables A 013 is entered as by the end row number C2 member variables of variables A 016
The value of beginning row number C1 member variable subtracts 1 with m sums;Variables A 016 is stored in list A005;Create a data structure
The variables A 017 of BLOCK types, the starting line number I1 of variables A 013 is entered as by the starting line number I1 member variables of variables A 017
The value of member variable, the end line number I2 member variables of variables A 017 is entered as the end line number I2 member variables of variables A 013
Value, the starting row number C1 member variables of variables A 017 are entered as to the value and m of the starting row number C1 member variables of variables A 013
Sum, the end row number C2 member variables of variables A 017 is entered as the value of the end row number C2 member variables of variables A 013;Will
Variables A 017 is stored in list A005;
Step019-4:Operation for variables A 013 terminates;
Step020:Empty list A004;The variable of all data structure BLOCK types in list A005 is stored in
In list A004;Empty list A005;I=i+1;Go to step Step018;
Step021:Three-dimensional scenic is terminated to draw and its load balancing operation.
Claims (1)
1. the load-balancing method of the three-dimensional scenic GPU cluster drawing system based on ray trace, it is characterised in that required sets
It is standby and realize that step is as follows:
The three-dimensional scenic GPU cluster drawing system that this method is directed to includes the identical GPU of n software and hardware configuration and calculates node
With a load balancing control node, n=2k, k is greater than 0 integer;All GPU calculate node and load balancing control node
Interconnected by the network switch;It is a computer for being provided with GPU, load balancing control that GPU, which calculates node,
Node is a computer;Load balancing control node is responsible for the frame picture of three-dimensional scenic to be divided into n sub-regions, and will be each
Individual picture subregion distributes to different GPU and calculates node progress ray trace drafting;The ray trace that this method is directed to is drawn
Program is according to the global illumination effects of Whitted global illumination model drawing three-dimensional scenes;If the three of light and three-dimensional scenic
Tie up geometric object to intersect, then need object material characteristic and adaptive ray trace according to the point of intersection nearest from ray origin deep
Degree control method judges whether to need to produce derivative light in the point of intersection nearest from ray origin and makees recurrence tracking;From viewpoint
If the chief ray through three-dimensional scenic frame picture pixel of transmitting is got along well, any three-dimensional geometry object of three-dimensional scenic intersects,
The corresponding ray traced depth of the pixel is 1;If the chief ray through three-dimensional scenic frame picture pixel launched from viewpoint with
The three-dimensional geometry object of three-dimensional scenic intersects, then one chief ray of correspondence and ndRay bars are derived light by the pixel, and ndRay >=
0, the corresponding ray traced depth of the pixel that this method is calculated is ndRay+1;This method is stored using data structure BLOCK
The starting line number of the pixel of picture subregion, the line number that terminates, starting row number and end row number;Data structure BLOCK includes starting
Line number I1, terminate line number I2, starting row number C1, terminate row number C2 totally four member variables;
This method realizes that step is as follows:
Step001:Start the three-dimensional scenic being arranged on load balancing control node and draw control program A001;
Step002:Node is controlled to send to respectively from load balancing by network three-dimensional scene models file A002 to be drawn
Individual GPU calculates node, controls node to transmit from load balancing by network initial virtual camera parameter configuration file CPARAMF
Node is calculated to each GPU;
Step003:Start the ray trace drawing program A003 being arranged on each GPU calculating nodes, load three-dimensional scenic mould
Type file A002, and set according to initial virtual camera parameter configuration file CPARAMF in ray trace drawing program A003
Virtual camera parameter;
Step004:To operating in the ray trace drawing program A003 on each GPU calculating node, foundation is painted with three-dimensional scenic
TCP socket connection between control program A001 processed;
Step005:Control program A001 is drawn using three-dimensional scenic, list is created in the internal memory that load balancing controls node
A004 and list A005, it is sky to set list A004, and it is sky to set list A005;
Step006:Control program A001 is drawn using three-dimensional scenic, a number is created in the internal memory that load balancing controls node
According to the variable V 1 of structure BLOCK types, the starting line number I1 member variables of variable V 1 are entered as 1, by the end line of variable V 1
Number I2 member variables are entered asThe starting row number C1 member variables of variable V 1 are entered as 1, by the end column of variable V 1
Number C2 member variables are entered as N, and M is the total line number of pixel of three-dimensional scenic frame picture, and N always arranges for the pixel of three-dimensional scenic frame picture
Number;Variable V 1 is stored in list A004;Control program A001 is drawn using three-dimensional scenic, node is controlled in load balancing
The variable V 2 of a data structure BLOCK type is created in internal memory, the starting line number I1 member variables of variable V 2 are entered asThe end line number I2 member variables of variable V 2 are entered as M, by the starting row number C1 member variable assignment of variable V 2
For 1, the end row number C2 member variables of variable V 2 are entered as N;Variable V 2 is stored in list A004;
Step007:Make i=1;
Step008:If 2i>=n, goes to step Step011;
Step009:To the variable V x of each data structure BLOCK types in list A004, drawn and controlled using three-dimensional scenic
Program A001 is done as follows:
Step009-1:Make nRows be equal to variable V x the value of ends line number I2 member variables and variable V x starting line number I1 into
The difference of the value of member's variable adds 1, makes nCols be equal to the value of variable V x end row number C2 member variables and variable V x starting row number
The difference of the value of C1 member variables adds 1;If nRows < nCols, go to step Step009-3;
Step009-2:The variable V x1 of a data structure BLOCK type is created, variable V x1 starting line number I1 member is become
Amount is entered as the value of variable V x starting line number I1 member variables, and variable V x1 end line number I2 member variables are entered as to become
Measure Vx starting line number I1 member variables value andSum subtracts 1, by variable V x1 starting row number C1 member variables
The value of variable V x starting row number C1 member variables is entered as, variable V x1 end row number C2 member variables are entered as variable
The value of Vx end row number C2 member variables;Variable V x1 is stored in list A005;Create a data structure BLOCK class
The variable V x2 of type, variable V x2 starting line number I1 member variables is entered as the value of variable V x starting line number I1 member variables
WithSum, the end line number I2 member that variable V x2 end line number I2 member variables are entered as into variable V x becomes
The value of amount, variable V x2 starting row number C1 member variables is entered as the value of variable V x starting row number C1 member variables, will become
Amount Vx2 end row number C2 member variables are entered as the value of variable V x end row number C2 member variables;Variable V x2 is stored in
In list A005;Go to step Step009-4;
Step009-3:The variable V y1 of a data structure BLOCK type is created, variable V y1 starting line number I1 member is become
Amount is entered as the value of variable V x starting line number I1 member variables, and variable V y1 end line number I2 member variables are entered as to become
The value of Vx end line number I2 member variables is measured, variable V y1 starting row number C1 member variables are entered as variable V x starting
The value of row number C1 member variables, variable V x starting row number C1 member is entered as by variable V y1 end row number C2 member variables
The value of variable withSum subtracts 1;Variable V y1 is stored in list A005;Create a data structure BLOCK class
The variable V y2 of type, variable V y2 starting line number I1 member variables is entered as variable V x starting line number I1 member variables
Value, variable V y2 end line number I2 member variables is entered as the value of variable V x end line number I2 member variables, by variable
Vy2 starting row number C1 member variables be entered as the values of variable V x starting row number C1 member variables withSum, will
Variable V y2 end row number C2 member variables are entered as the value of variable V x end row number C2 member variables;Variable V y2 is deposited
Into list A005;
Step009-4:Operation for variable V x terminates;
Step010:Empty list A004;The variable of all data structure BLOCK types in list A005 is stored in list
In A004;Empty list A005;I=i+1;Go to step Step008;
Step011:If three-dimensional scenic draws control program A001 and receives " stopping drawing " command messages, go to step
Step021, otherwise to the variables A 006 of each data structure BLOCK types in list A004, is drawn using three-dimensional scenic and controlled
Processing procedure sequence A001 performs following operation:
Step011-1:Calculate position number ID of the variables A 006 in list A004;
Step011-2:The value of variables A 006 is sent to by TCP socket connection and operated on the ID GPU calculating node
Ray trace drawing program A003, sent to operating in the ID GPU and calculating the ray trace drawing program A003 on node
Draw by the starting line number I1 member variables of variables A 006, end line number I2 member variables, starting row number C1 member variables and knot
The request for the picture subregion A007 that the value of beam row number C2 member variables is determined;The light operated on the ID GPU calculating node
Line tracking drawing program A003 calculates the color value of each pixel A 008 in picture subregion A007, and records 008 pair of pixel A
The ray traced depth answered;The ray trace drawing program A003 operated on the ID GPU calculating node passes through TCP socket
The color value and its corresponding ray traced depth of each pixel A 008 in picture subregion A007 are sent to three-dimensional by connection
Scene drawing control program A001;
Step011-3:Operation for variables A 006 terminates;
Step012:Three-dimensional scenic is drawn control program A001 and drawn according to from the ray trace operated on each GPU calculating node
The color of all pixels for all picture subregion A007 that program A003 transmission comes is worth to all of three-dimensional scenic frame picture
The color value of pixel, and show three-dimensional scenic frame picture on the display for controlling node to be connected with load balancing accordingly;It is three-dimensional
Scene drawing control program A001 according to from operate in the ray trace drawing program A003 that each GPU calculated on node transmit come
The ray traced depth of all picture subregion A007 each pixel obtains the ray trace of each pixel of three-dimensional scenic frame picture
Depth;Three-dimensional scenic is drawn control program A001 and connected by TCP socket the man-machine interaction messaging being currently received
Calculate ray trace drawing program A003 on node to each GPU is operated in, ray trace drawing program A003 accordingly pair plus
The three-dimensional scene models being downloaded in internal memory carry out map function, realize interacting between people and three-dimensional scenic;
Step013:Control program A001 is drawn using three-dimensional scenic, a M is created in the internal memory that load balancing controls node
The array A009 of row, N row;Idx=1,2 ..., M;Idy=1,2 ..., N;The member that array A009 the i-th dx rows, the i-th dy are arranged
Element is entered as the i-th dx rows of three-dimensional scenic frame picture, the corresponding ray traced depth of pixel of the i-th dy row and 1.6 product;
Step014:List A004 is emptied, list A005 is emptied;
Step015:Control program A001 is drawn using three-dimensional scenic, a bag is created in the internal memory that load balancing controls node
One-dimension array A010 containing M element;Id=1,2 ..., M;Array A010 i-th d element is entered as the of array A009
The value sum of all elements of id rows;Calculating makes functionMinimum m, m are integer and 1≤m≤M,
Wherein ajIt is the value of array A010 j-th of element;
Step016:Control program A001 is drawn using three-dimensional scenic, a number is created in the internal memory that load balancing controls node
According to the variables A 011 of structure BLOCK types, the starting line number I1 member variables of variables A 011 are entered as 1, by variables A 011
Terminate line number I2 member variables and be entered as m, the starting row number C1 member variables of variables A 011 are entered as 1, by variables A 011
Terminate row number C2 member variables and be entered as N;Variables A 011 is stored in list A004;Control program is drawn using three-dimensional scenic
A001, creates the variables A 012 of a data structure BLOCK type, by variables A 012 in the internal memory that load balancing controls node
Starting line number I1 member variables be entered as m+1, the end line number I2 member variables of variables A 012 are entered as M, by variable
A012 starting row number C1 member variables are entered as 1, and the end row number C2 member variables of variables A 012 are entered as into N;By variable
A012 is stored in list A004;
Step017:Make i=1;
Step018:If 2i>=n, goes to step Step011;
Step019:To the variables A 013 of each data structure BLOCK types in list A004, drawn and controlled using three-dimensional scenic
Processing procedure sequence A001 is done as follows:
Step019-1:NRows is made to be equal to the value of the end line number I2 member variables of variables A 013 and the starting line number of variables A 013
The difference of the value of I1 member variables adds 1, makes nCols be equal to the value and variables A 013 of the end row number C2 member variables of variables A 013
The difference for originating the value of row number C1 member variables adds 1;IdRB is made to be equal to the value of the starting line number I1 member variables of variables A 013, order
IdRE is equal to the value of the end line number I2 member variables of variables A 013, and the starting row number C1 member for making idCB be equal to variables A 013 becomes
The value of amount, makes idCE be equal to the value of the end row number C2 member variables of variables A 013;If nRows < nCols, go to step
Step019-3;
Step019-2:Create an one-dimension array A014 for including nRows element;J=1,2 ..., nRows, by array
A014 j-th of element be entered as array A009 the i-th dRB+j-1 rows, the i-th dCB to the i-th dCE all elements arranged value it
With;Calculating makes functionMinimum m, m is integer and 1≤m≤nRows, wherein apIt is array A014
P-th of element value;The variables A 0131 of a data structure BLOCK type is created, by the starting line number I1 of variables A 0131
Member variable is entered as the value of the starting line number I1 member variables of variables A 013, and the end line number I2 member of variables A 0131 is become
Amount be entered as variables A 013 starting line number I1 member variables value and m sums subtract 1, by the starting row number C1 of variables A 0131 into
Member's variable assignments is the value of the starting row number C1 member variables of variables A 013, by the end row number C2 member variables of variables A 0131
It is entered as the value of the end row number C2 member variables of variables A 013;Variables A 0131 is stored in list A005;Create a number
According to the variables A 0132 of structure BLOCK types, the starting line number I1 member variables of variables A 0132 are entered as rising for variables A 013
The value of the number of beginning I1 member variables and m sums, the knot of variables A 013 is entered as by the end line number I2 member variables of variables A 0132
The value of beam line number I2 member variables, the starting row number of variables A 013 is entered as by the starting row number C1 member variables of variables A 0132
The value of C1 member variables, the end row number C2 member of variables A 013 is entered as by the end row number C2 member variables of variables A 0132
The value of variable;Variables A 0132 is stored in list A005;Go to step Step019-4;
Step019-3:Create an one-dimension array A015 for including nCols element;J=1,2 ..., nCols, by array
A015 j-th of element be entered as array A009 the i-th dRB to the i-th dRE rows, the i-th dCB+j-1 row all elements value it
With;Calculating makes functionMinimum m, m is integer and 1≤m≤nCols, wherein atIt is array A015
The value of t-th of element;The variables A 016 of a data structure BLOCK type is created, by the starting line number I1 member of variables A 016
Variable assignments is the value of the starting line number I1 member variables of variables A 013, by the end line number I2 member variable assignment of variables A 016
For the value of the end line number I2 member variables of variables A 013, the starting row number C1 member variables of variables A 016 are entered as variable
The value of A013 starting row number C1 member variables, rising for variables A 013 is entered as by the end row number C2 member variables of variables A 016
The value of beginning row number C1 member variable subtracts 1 with m sums;Variables A 016 is stored in list A005;Create a data structure
The variables A 017 of BLOCK types, the starting line number I1 of variables A 013 is entered as by the starting line number I1 member variables of variables A 017
The value of member variable, the end line number I2 member variables of variables A 017 is entered as the end line number I2 member variables of variables A 013
Value, the starting row number C1 member variables of variables A 017 are entered as to the value and m of the starting row number C1 member variables of variables A 013
Sum, the end row number C2 member variables of variables A 017 is entered as the value of the end row number C2 member variables of variables A 013;Will
Variables A 017 is stored in list A005;
Step019-4:Operation for variables A 013 terminates;
Step020:Empty list A004;The variable of all data structure BLOCK types in list A005 is stored in list
In A004;Empty list A005;I=i+1;Go to step Step018;
Step021:Three-dimensional scenic is terminated to draw and its load balancing operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510254497.4A CN104835193B (en) | 2015-05-13 | 2015-05-13 | The load-balancing method of three-dimensional scenic GPU cluster drawing system based on ray trace |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510254497.4A CN104835193B (en) | 2015-05-13 | 2015-05-13 | The load-balancing method of three-dimensional scenic GPU cluster drawing system based on ray trace |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104835193A CN104835193A (en) | 2015-08-12 |
CN104835193B true CN104835193B (en) | 2017-08-25 |
Family
ID=53813057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510254497.4A Active CN104835193B (en) | 2015-05-13 | 2015-05-13 | The load-balancing method of three-dimensional scenic GPU cluster drawing system based on ray trace |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104835193B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472854B (en) * | 2018-11-20 | 2022-10-21 | 长春理工大学 | GPU parallel ray tracing cluster rendering task dynamic equilibrium allocation method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101982838A (en) * | 2010-11-02 | 2011-03-02 | 长春理工大学 | 3D virtual set ray tracking method for accelerating back light source irradiation |
CN103049927A (en) * | 2013-01-17 | 2013-04-17 | 浙江大学 | Real-time ray tracing and rendering method based on GPU (Graphics Processing Unit) aggregate |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9665970B2 (en) * | 2006-09-19 | 2017-05-30 | Imagination Technologies Limited | Variable-sized concurrent grouping for multiprocessing |
US9007372B2 (en) * | 2012-12-26 | 2015-04-14 | Adshir Ltd. | System for primary ray shooting having geometrical stencils |
-
2015
- 2015-05-13 CN CN201510254497.4A patent/CN104835193B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101982838A (en) * | 2010-11-02 | 2011-03-02 | 长春理工大学 | 3D virtual set ray tracking method for accelerating back light source irradiation |
CN103049927A (en) * | 2013-01-17 | 2013-04-17 | 浙江大学 | Real-time ray tracing and rendering method based on GPU (Graphics Processing Unit) aggregate |
Non-Patent Citations (1)
Title |
---|
动态3D虚拟场景并行化光线跟踪加速结构设计;李华 等;《长春理工大学学报》;20131231;第36卷(第6期);第140-143页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104835193A (en) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105373224B (en) | A kind of mixed reality games system based on general fit calculation and method | |
KR102108596B1 (en) | Controlled three-dimensional communication endpoint | |
CN108681436A (en) | Image quality parameter adjusting method, device, terminal and storage medium | |
CN107277494A (en) | three-dimensional display system and method | |
CN102129708A (en) | Fast multilevel imagination and reality occlusion method at actuality enhancement environment | |
KR101615171B1 (en) | system and method for providing collaborative contents service based on augmented reality | |
CN107274338A (en) | System, method and apparatus that low latency for depth map is deformed | |
CN105518584A (en) | Recognizing interactions with hot zones | |
CN105006011B (en) | The body feeling interaction formula drawing system and method for sense of reality three-dimensional scenic | |
CN110610546B (en) | Video picture display method, device, terminal and storage medium | |
CN110427227B (en) | Virtual scene generation method and device, electronic equipment and storage medium | |
CN108765333A (en) | A kind of depth map improving method based on depth convolutional neural networks | |
WO2023071586A1 (en) | Picture generation method and apparatus, device, and medium | |
CN103780873A (en) | Method for realizing 3D scene display by transformer station video monitoring system | |
CN106227327B (en) | A kind of display converting method, device and terminal device | |
JP2023504609A (en) | hybrid streaming | |
CN102063496A (en) | Spatial data simplifying method and device | |
US20220297001A1 (en) | Server, processing system, processing method, and program | |
CN109859309A (en) | A kind of Internet of Things Teaching Information Processing System that realizing simulated teaching and method | |
CN104835193B (en) | The load-balancing method of three-dimensional scenic GPU cluster drawing system based on ray trace | |
CN204559792U (en) | Device and the display device of stereo-picture or video is shown for display screen | |
CN106323190A (en) | Depth measurement range-customizable depth measurement method and system for obtaining depth image | |
Petit et al. | A 3d data intensive tele-immersive grid | |
Ahn et al. | Personalized augmented reality via fog-based imitation learning | |
CN103309444A (en) | Kinect-based intelligent panoramic display method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220808 Address after: 130022 21 / F, Yuanchuang international, Weixing Road, Changchun City, Jilin Province Patentee after: Jilin Kasite Technology Co.,Ltd. Address before: 130022 No. 7089 Satellite Road, Jilin, Changchun Patentee before: CHANGCHUN University OF SCIENCE AND TECHNOLOGY |