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 PDF

Info

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
Application number
CN201510254497.4A
Other languages
Chinese (zh)
Other versions
CN104835193A (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.)
Jilin Kasite Technology Co ltd
Original Assignee
Changchun University of Science and Technology
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 Changchun University of Science and Technology filed Critical Changchun University of Science and Technology
Priority to CN201510254497.4A priority Critical patent/CN104835193B/en
Publication of CN104835193A publication Critical patent/CN104835193A/en
Application granted granted Critical
Publication of CN104835193B publication Critical patent/CN104835193B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

The load-balancing method of three-dimensional scenic GPU cluster drawing system based on ray trace
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.
CN201510254497.4A 2015-05-13 2015-05-13 The load-balancing method of three-dimensional scenic GPU cluster drawing system based on ray trace Active CN104835193B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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