CN106462993A - Rendering system and method for generating ray - Google Patents
Rendering system and method for generating ray Download PDFInfo
- Publication number
- CN106462993A CN106462993A CN201580023530.0A CN201580023530A CN106462993A CN 106462993 A CN106462993 A CN 106462993A CN 201580023530 A CN201580023530 A CN 201580023530A CN 106462993 A CN106462993 A CN 106462993A
- Authority
- CN
- China
- Prior art keywords
- ray
- memory
- generate
- information
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 129
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000004044 response Effects 0.000 claims abstract description 84
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000003860 storage Methods 0.000 claims description 30
- 230000008929 regeneration Effects 0.000 description 7
- 238000011069 regeneration method Methods 0.000 description 7
- 235000014698 Brassica juncea var multisecta Nutrition 0.000 description 5
- 241000251184 Rajiformes Species 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000005266 casting Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000004040 coloring Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 102100037060 Forkhead box protein D3 Human genes 0.000 description 1
- 101001029308 Homo sapiens Forkhead box protein D3 Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
A rendering system and a method for generating a ray are provided. The method for performing a rendering process of a rendering system includes generating a primary ray to render an image, determining whether the primary ray is capable of generating at least one secondary ray, storing information on the primary ray in a reference memory in response to determining that the primary ray is capable of generating the at least one secondary ray; and generating the at least one secondary ray based on the stored information on the primary ray.
Description
Technical field
Equipment according to illustrative embodiments and method relate to generating ray and render it, more specifically, relate to
And management is for generating ray the memory rendering it.
Background technology
Ray casting refer to light along ray to virtual screen in the route of each pixel carry out backward tracing and in phase
Machine viewpoint generates the method for image.
Ray casting generally comprises following operation:Ray generation, accelerating structure traversal, test for intersection and coloring.Leading to
After crossing accelerating structure traversing operation and test for intersection operation acquisition and intersecting relevant information, determined by shading operations and penetrate
The final color of the ray generated in line generator.According to crossing medium, from the primary ray being generated by ray generator
Derivative secondary ray (such as, indirect ray, refracted rays or shadow ray).Ray generator stores secondary ray, to perform
Accelerating structure traversing operation and the ensuing operation relevant with secondary ray.
But, for various light sources and object, the space for storing ray may be often not enough.In this case,
The performance of rendering system may be degenerated owing to memory occurs pausing relative to whole rendering system.
Accordingly, it would be desirable to a kind of method reducing memory load to improve rendering system performance.
Content of the invention
Technical problem
Illustrative embodiments at least solves problem above and/or shortcoming and other shortcomings not described above.In addition,
Not requiring that illustrative embodiments overcomes disadvantages mentioned above, illustrative embodiments may not overcome arbitrarily lacking in disadvantages mentioned above
Point.
One or more illustrative embodiments provide a kind of rendering system and a kind of method for generating ray, described
Rendering system is for being efficiently used memory by the amount of the control information relevant with ray in memory to be stored
And for improving the performance of rendering system.
The solution of problem
According to the aspect of illustrative embodiments, provide the method being used for performing the render process of rendering system, described side
Method includes:Generate primary ray to render image;Determine whether primary ray can generate at least one secondary ray;Make
For determining that primary ray can generate the response of at least one secondary ray, the information relevant with primary ray is stored in memory
In;And generate at least one secondary ray based on the storage information relevant with primary ray in memory.
Determine whether primary ray can generate at least one secondary ray and can include:Intersect with object as primary ray and
It not the response of shadow ray, determine that primary ray can generate at least one secondary ray.
The method may also include:As determining that primary ray can not generate the response of at least one secondary ray, from storage
The information relevant with primary ray deleted by device.
The method may also include:Do not generate as determining at least one secondary ray to generate shadow ray refracted rays or
The response of indirect ray, deletes the information relevant with primary ray from memory.
The method may also include:Determine whether memory includes any information relevant with ray;And deposit as determination
Reservoir includes the response of a plurality of information, based on the information relevant with ray being stored in recently among a plurality of information in memory
Generate secondary ray.
The method may also include:The response of shadow ray as primary ray, using the rendering result of primary ray as
Color-values stores in the frame buffer.
The method may also include:Do not include the response of any information relevant with ray as memory, terminate rendering
Journey.
The information relevant with primary ray can include the information relevant with the direction vector of primary ray.
According to the another aspect of illustrative embodiments, providing a kind of rendering system, it includes ray generator, renders
Device, memory and controller, wherein, ray generator is configured to generate primary ray;Renderer is configured to based on being generated
Image is rendered by primary ray;And controller is configured to:Determine whether primary ray can generate at least one time
Level ray;As determining that primary ray can generate the response of at least one secondary ray, by the information relevant with primary ray
Storage is in memory;And based on the storage storage information relevant with primary ray in memory, generate at least one
Secondary ray.
Controller may be additionally configured to:Intersect and be not the response of shadow ray as primary ray with object, determine primary
Ray can generate secondary ray.
Controller may be additionally configured to:As determining that at least one secondary ray does not generate the response of secondary ray, from storage
Device is deleted the information relevant with primary ray.
Controller may be additionally configured to:Determine whether memory includes any information relevant with ray;And as determination
Memory includes the response of a plurality of information, relevant with ray based on be stored in recently in memory in the middle of described a plurality of information
Information generate secondary ray.
Controller may be additionally configured to:It is the response of shadow ray as primary ray, by the rendering result of primary ray
Storage is in the frame buffer.
Controller may be additionally configured to:Determine whether memory includes any information relevant with ray;And as storage
Device does not include the response of any information relevant with ray, terminates the render process of rendering system.
The information relevant with primary ray can include the information relevant with the direction vector of primary ray.
According to the another aspect of illustrative embodiments, providing the method for the render process performing rendering system, it includes:
Generate primary ray to render image;The response of the secondary ray that can derive can be generated as primary ray, storage
The information relevant with primary ray;And the response of the secondary ray that additionally can derive can not be generated as primary ray, delete
The information relevant with primary ray.
The secondary ray that can derive may correspond to refracted rays or the indirect ray intersecting with object.
The secondary ray that can derive can be the one in multiple secondary raies that primary ray is generated, and storage is with just
The relevant information of level ray can include:It is stored in the secondary ray that can derive in the main storehouse of memory;And will be except can spread out
Multiple secondary raies outside raw secondary ray and shadow ray are stored in the secondary storehouse of memory.
The secondary ray that can derive is from the derivative refracted rays of primary ray or indirect ray, and storage and primary ray
Relevant information includes:The information relevant with refracted rays or the information relevant with indirect ray are stored in the main heap of memory
In stack;The information relevant with refracted rays is stored in memory by the response being stored in main storehouse as indirect ray
In secondary storehouse;And the response being stored in main storehouse as refracted rays, by the information storage relevant with indirect ray
In secondary storehouse.
The method may also include:Will be stored in the information relevant with refracted rays in secondary storehouse or have with indirect ray
The information closed is loaded in main storehouse;And determine whether corresponding refracted rays or indirect ray generate with the information being loaded
Secondary ray.
According to the another aspect of illustrative embodiments, provide the non-transitory computer-readable storage medium of storage program
Matter, described program can be run by computer to perform the method for the render process carrying out rendering system.
The beneficial effect of the invention
According to each illustrative embodiments, user can use such rendering system, and described rendering system is by control
The amount of the information relevant with ray in memory to be stored is efficiently used memory, thus improves the property of rendering system
Energy.
Brief description
By some illustrative embodiments is described with reference to the drawings, above and/or other aspects will become apparent from, exist
In accompanying drawing:
Fig. 1 is the block diagram of the structure illustrating the rendering system according to illustrative embodiments;
Fig. 2 is for describing the view of the configuration for generating secondary ray according to illustrative embodiments;
Fig. 3 and Fig. 4 is to illustrate generate the order of secondary ray according to illustrative embodiments and store according to this order
The view of the method for secondary ray;
Fig. 5 is for describing the flow chart of the order generating secondary ray according to illustrative embodiments;
Fig. 6 is for describing the flow chart of the order generating recursion secondary ray according to illustrative embodiments;
Fig. 7 and Fig. 8 is the view of the configuration illustrating the rendering system according to illustrative embodiments;And
Fig. 9 is for describing the flow chart of the order for generating ray according to illustrative embodiments.
Detailed description of the invention
It is more fully described some illustrative embodiments below with reference to accompanying drawing.
In the following description, even in different figures, identical accompanying drawing reference marker is also used for identical element.Carry
For the item (such as, detailed construction and element) defined in explanation to help to understand illustrative embodiments comprehensively.But,
Can in the case of there is no those items being specifically defined practical example embodiment.In addition, be not described in many institutes
Known function or construction, because it can obscure the present invention with unnecessary details.
Fig. 1 is the block diagram of the structure illustrating the rendering system 100 according to illustrative embodiments.As shown in Figure 1, wash with watercolours
Dye system 100 includes ray generator the 110th, with reference to memory the 120th, renderer the 130th, controller 140 and frame buffer 150.
Ray generator 110 generates ray.Ray generator 110 can generate at least one based on ray generation information and penetrate
Line.It is to say, ray generator 110 can generate primary ray based on the ray generation information being stored and generation secondary is penetrated
Line.Ray is described below and generates information.In addition, secondary ray can include shadow ray, refracted rays and indirect ray.Just raw
For becoming secondary ray, ray generator 110 can firstly generate shadow ray.After shadow ray is rendered, ray
Generator 110 can generate refracted rays and indirect ray.
With reference to the memory 120 storage information relevant with ray.It is to say, generation time can be stored with reference to memory 120
Information needed for ray for the level.Can be storehouse or queue with reference to memory 120, but this is only example, and with reference to the class of memory
Type is unrestricted.
It is stored in and can include the letter relevant with the direction vector of ray with reference to the information relevant with ray in memory 120
Breath.Especially, the direction that can include deriving from it with triangle index, the ray degree of depth, ray with reference to memory 120, ray
The relevant information in position that position and object intersect.
The ray generating via ray generator 110 is rendered by renderer 130.It is to say, for execution wash with watercolours
In the middle of assembly necessary for dye operation, renderer 130 can include all component in addition to ray generator 110.
For example, renderer 130 can include for traveling through accelerating structure used in ray casting, test intersect and
Perform the assembly of shading operations.
Controller 140 controls the integrated operation of rendering system 100.Especially, controller 140 can be determined whether by being generated
Ray generates secondary ray.In addition, controller 140 can be controlled to deposit the information relevant with ray according to determination result
Storage is in reference to memory 120.
It is to say, be not shadow ray the response intersected with object as the ray being generated, controller 140 can be true
Fixed described ray is the ray that can generate secondary ray.Shadow ray does not generate secondary ray.Unless a certain ray and object phase
Handing over, even if otherwise described ray is not shadow ray, it does not still generate secondary ray.It accordingly, as the ray being generated is not
Shadow ray the response intersected with object, controller 140 can determine that this ray can generate secondary ray.
As the response determining that generated ray is the ray that can generate secondary ray, controller 140 can be controlled
The information relevant with the ray being generated to be stored in reference in memory 120.Send out in addition, controller 140 can control ray
Raw device 110 is so that it generates secondary ray based on the information relevant with ray being stored in reference in memory 120.
Being the response of shadow ray as the ray being generated, controller 140 can be controlled with by based on being generated
The color-values record of the rendering result of ray is in the frame buffer.It is to say, shadow ray does not generate secondary ray, therefore,
Controller 140 can be by the color-values storage of the rendering result based on shadow ray in the frame buffer to terminate the wash with watercolours for ray
Dye operation.In addition, controller 140 can determine that whether include the information relevant with ray with reference to memory 120.As determination reference
Memory 120 does not include the response of this information, and controller 140 can terminate Rendering operations.
It is sequentially generated at least one secondary ray and described at least one generated secondary ray as by ray not
The response of regeneration secondary ray, controller 140 can delete the letter relevant with this ray being stored in reference in memory 120
Breath.It is to say, as determining the response no longer being generated secondary ray by ray, controller 140 can be deleted from reference to memory 120
Except the information relevant with this ray.
In addition, include in deletion from reference to memory 120 relevant with the first ray as determining with reference to memory 120
The response of the information after information, controller 140 can generate separately based on the information being stored in recently with reference in memory 120
One secondary ray.
It is to say, be stored sequentially with reference to the response in memory 120, control as the information relevant with ray
Device 140 can determine whether to generate secondary ray based on nearest stored information.As the nearest stored ray of determination
The response of secondary ray can be generated, controller 140 can based on determined by the relevant information of ray generate another secondary and penetrate
Line.
It is described below for the information relevant with ray being stored in reference in memory 120 and from reference to memory
The method deleting this information in 120.
By above-mentioned rendering system 100, user can use such rendering system, and described rendering system manages effectively
Memory simultaneously uses less amount of internal memory to perform Rendering operations.
Hereinafter, it is used for the information relevant with ray being stored in reference to memory by describing in detail with reference to figs. 2 to Fig. 4
The method of Rendering operations in 120 and is performed by rendering system 100.
Fig. 2 is for describing the view of the configuration for generating secondary ray according to illustrative embodiments.It is to say,
Primary ray 200 can generate in shadow ray (shdn) the 210th, refracted rays (refr) 220 and indirect ray (refl) 230 extremely
Few one.Especially, primary ray 200 can firstly generate shadow ray 210, then generates refracted rays 220 or indirect ray
230.
Shadow ray 210 not regeneration secondary ray.But, refracted rays 220 and indirect ray 230 can generate at least one
Plant secondary ray.For example, refracted rays 220 can generate shadow ray the 240th, the refracted rays 250 as secondary ray and reflection
Ray 260.In addition, indirect ray 230 can generate shadow ray the 270th, refracted rays 280 and the indirect ray as secondary ray
290.
In addition, as refracted rays 250 and 280 and the secondary ray of indirect ray 260 and 290, can be by refracted rays
250 and 280 and indirect ray 260 and 290 generate shadow ray, at least one in refracted rays and indirect ray.
As a result, as shown in Figure 2, the quantity of secondary ray increases sharply.Penetrate accordingly, as with the secondary being generated
The relevant information of line is stored sequentially the response in memory (such as, storehouse or queue), and the capacity of memory may not
Foot, thus cause a part of ray to lose or aggegation occurs in rendering system.In addition, the quantity of the ray being generated not is solid
Fixed, therefore the live load alterable of renderer 130 is quite big.
Fig. 3 illustrates according to illustrative embodiments for generating and storing the method for secondary ray.
As the secondary ray of primary ray 310, primary ray 310 is generated the first shadow ray the 320th, first refractive and penetrates
Line 330 and the first indirect ray 410.In addition, as the secondary ray of first refractive ray 330, raw by first refractive ray 330
Become the second shadow ray the 340th, the second refracted rays 350 and the second indirect ray 370.Secondary as the second refracted rays 370
Ray, is generated the 3rd shadow ray 360 by the second refracted rays 370.Second indirect ray 370 is generated the 4th shadow ray
380 and fourth reflect ray 390.In addition, fourth reflect ray 390 is generated the 5th shadow ray 400.
Although the ray 310 initially generating only is described as primary ray by Fig. 3, but can will generate any of secondary ray
Ray is referred to as primary ray (for its secondary ray).For example, with regard to first refractive ray 330 and the second refracted rays
For relation between 350, first refractive ray 330 can be referred to as primary ray.
Fig. 4 is the view illustrating reference memory 120 according to the storage state of ray genesis sequence.Occur as by ray
Device 110 generates the response of primary ray 310, and controller 140 can determine that whether generated primary ray 310 is shadow ray.
If primary ray 310 is not shadow ray, then controller 140 can determine that whether primary ray 310 intersects with object.
As determining that generated primary ray 310 is not shadow ray the response intersected with object, can penetrate from primary
Line 310 generates secondary ray.Correspondingly, the controllable reference memory 120 of controller 140 is so that it stores and primary ray 310
Relevant information.
Especially, relevant with ray information can include the information relevant with the direction vector of ray.
Ray generator 110 can be based on the information next life relevant with primary ray 310 being stored in reference memory 120
Become secondary ray.In the middle of secondary ray, shadow ray can be firstly generated.It is to say, ray generator 110 can firstly generate
As the shadow ray of secondary ray, then generate refracted rays or indirect ray.
Accordingly, in response to the first shadow ray 320 generating as secondary ray, controller 140 may control such that
The information relevant with the first shadow ray 320 is not stored in reference in memory 120, because the first shadow ray 320 is no longer
Generate secondary ray.As a result, compared with reference memory 510 before being generated with the first shadow ray 320, the first shade
Reference memory 120 after ray 320 is generated can not change.
In addition, the color-values of the rendering result based on the first shadow ray 320 can be stored in frame buffer by controller 140
In 150.
In addition, controller 140 can determine that whether include the information relevant with ray with reference to memory 120.If reference is deposited
Reservoir 120 includes the information relevant with primary ray 310, then controller 140 can control ray generator 110 makes it based on just
The relevant information of level ray 310 generates secondary ray.
In response to the first refractive ray (1st FL) 330 generating as secondary ray, controller 140 can determine that and generated
Secondary ray whether be shadow ray.Owing to first refractive ray 330 is not shadow ray, therefore controller 140 can determine that
Whether first refractive ray 330 intersects with object.As determining the response intersected with object of first refractive ray 330, can be by the
One refracted rays 330 generates more secondary ray, and therefore controller 140 can be by the information relevant with first refractive ray 330
It is stored in reference in memory 120.
As relevant with first refractive ray 330 based on be stored in reference in memory 120 by ray generator 110
Information generates the response of the second shadow ray 340 as secondary ray, is no longer generated secondary by the second shadow ray 340 and penetrates
Line, therefore controller 140 can not store the information relevant with the second shadow ray 340 being generated.Correspondingly, with reference storage
The state in time T530 (time before generating the second shadow ray 340) for the device 120 is compared, with reference to memory in the time
The state of T540 (when generating the second shadow ray 340 as secondary ray) can not change.
According to illustrative embodiments, may also include secondary storehouse with reference to memory 120.In this case, can be by reference
The remaining area (except secondary storehouse) of memory 120 is referred to as main storehouse.Alternately, can separate with reference to memory 120
Storage device in implement secondary storehouse.First indirect ray 410 can be stored in secondary storehouse at time T530 by controller 140
In.When controller 140 is when T600 completes to process from the derivative all secondary raies of first refractive ray 330, controller 140 can
Quote secondary storehouse to determine what data controller 140 will process after T600.
Controller 140 can be controlled to be stored in the color-values based on the Rendering operations to the second shadow ray 340
In frame buffer 150.
In addition, controller 140 can determine that whether include the information relevant with ray with reference to memory 120.Join as determining
Examining memory 120 and including the response of the information relevant with ray, controller 140 can control ray generator 110 so that it generates
Secondary ray.
But, do not store the information relevant with the second shadow ray 340.Then, stored recently with reference in memory 120
Information be the information relevant with first refractive ray 330.Correspondingly, controller 140 can be controlled with based on the first folding
The relevant information of ray 330 is to generate secondary ray.
In response to relevant with first refractive ray 330 based on be stored in reference in memory 120 by ray generator 110
Information generate as the second refracted rays 350 of secondary ray, controller 140 can determine that the second generated refracted rays
Whether 350 be shadow ray.If the second refracted rays 350 is not shadow ray, then controller 140 can determine that the second refraction is penetrated
Whether line 350 intersects with object.The response intersected with object as the second refracted rays 350, can be raw by the second refracted rays 350
Become more secondary ray.Correspondingly, the information relevant with the second refracted rays 350 can be deposited by controller 140 at time T550
Storage is in reference to memory 120.
Additionally, secondary reflection ray (2nd FL) 370 can be stored in secondary storehouse at time T550 by controller 140,
Second indirect ray 370 is stacked on the first indirect ray 410.When controller 140 completes to from the second refraction at T560
During the process of the derivative all secondary raies of ray 350, controller 140 can quote secondary storehouse to determine that controller 140 exists
T570 will process any data.
In response to relevant with the second refracted rays 350 based on be stored in reference in memory 120 by ray generator 110
Information generate as the 3rd shadow ray 360 of secondary ray, controller 140 can be by the wash with watercolours based on the 3rd shadow ray 360
The color-values of dye result is stored in frame buffer 150.The second refracted rays 350 being stored is no longer necessary to process, therefore, and control
Device 140 processed can delete the storage information relevant with the second refracted rays 350 at time T560.Therefore, can be with reference to memory 120
Time T560 only stores the information relevant with first refractive ray 330 and primary ray 310.
Controller 140 can determine that whether include the information relevant with ray with reference to memory 120.As determination with reference to storage
Device 120 includes the response of the information relevant with ray, and controller 140 can control ray generator 110 to generate secondary ray.
Owing to the information relevant with the second refracted rays 350 is deleted, so being stored in reference to memory at time T560
Up-to-date information in 120 is the information relevant with first refractive ray 330.Therefore, controller 140 can be controlled with based on
The relevant information of first refractive ray 330 generates secondary ray.
Ray generator 110 can be based on the information relevant with first refractive ray 330 being stored in reference memory 120
Generate secondary ray.Especially, ray generator 110 based on be stored in reference in memory 120 with first refractive ray 330
Relevant information generates the second shadow ray 340 as secondary ray.Therefore, ray generator 110 can generate as secondary
The indirect ray of level ray or refracted rays.
Accordingly, in response to the second indirect ray 370 being generated by ray generator 110 as secondary ray, controller
140 can determine that whether the second generated indirect ray 370 is shadow ray.Penetrate if the second indirect ray 370 is not shade
Line, then controller 140 can determine that whether the second indirect ray 370 intersects with object.
As the response determining that the second indirect ray 370 intersects with object, can be generated more by the second indirect ray 370
Secondary ray.Therefore, the information relevant with the second indirect ray 370 can be stored in reference to depositing at time T570 by controller 140
In reservoir 120.
At time T570, controller 140 can quote secondary storehouse with at secondary refracted rays 350 and secondary reflection ray
Determine between 370 which one is not yet processed.As shown in Figure 4, secondary storehouse instruction will be penetrated at time T570 process secondary reflection
Line 370, controller 140 can load secondary reflection ray 370 from secondary storehouse, and store it in reference to storage at time T570
In the main storehouse of device 120.
As determining that the second indirect ray 370 is refracted rays or indirect ray rather than shadow ray and refracted rays or anti-
The response that ray does not intersects with object, the information relevant with ray can not be stored in reference to memory 120 by controller 140
In.
In addition, controller 140 can control ray generator 110 so that its based on be stored in reference in memory 120 with
The relevant information of second indirect ray 370 generates secondary ray.
Ray generator 110 can firstly generate the 4th shadow ray as secondary ray by the second indirect ray 370
380.Controller 140 can determine that whether generated ray is shadow ray.Further, since the 4th shadow ray 380 does not regenerates
Become secondary ray, therefore can not store the information relevant with the 4th shadow ray 380 at time T580 controller 140.Correspondingly,
Compared with reference to memory 120 in the state of time T570 (generating the time before the 4th shadow ray 380), with reference to storage
Device 120 does not change in the state of time T580 (when generating four shadow ray 380 as secondary ray).
Controller 140 can determine that whether include any information relevant with ray with reference to memory 120.As determination reference
Memory 120 includes the response of this information, and controller 140 can control ray generator 110 so that it generates secondary ray.
In addition, penetrated with second based on reference to what memory 120 stored by ray generator 110 as determining
The relevant information of line 370 generates the response of fourth reflect ray 390 and the second indirect ray 370 not regeneration secondary ray, control
The controllable reference memory 120 of device 140 processed is to delete the information relevant with the second indirect ray 370.
Accordingly, as the result of the Rendering operations for fourth reflect ray 390, can be by control with reference to memory 120
Controller 140 deletes the information relevant with the second indirect ray 370 at time T590.
In addition, controller 140 can determine that whether fourth reflect ray 390 is shadow ray.If fourth reflect ray 390
Be not shadow ray, then controller 140 can determine that whether fourth reflect ray 390 intersects with object.As determination fourth reflect
The response that ray 390 intersects with object, ray generator 110 can generate secondary ray by fourth reflect ray 390.Ray is sent out
Raw device 110 can firstly generate the shadow ray as secondary ray.Penetrate accordingly, in response to the 5th shade as secondary ray
Line 500 is generated, and controller 140 can be controlled with by the color-values storage of the rendering result according to the 5th shadow ray 500
In frame buffer 150.Further, since first refractive ray 330 not regeneration secondary ray, therefore controller 140 can control
With reference to memory 120 to delete the information relevant with first refractive ray 330 at time T600.
In addition, controller 140 can determine that whether include any information relevant with ray with reference to memory 120.In Fig. 4
Shown in, primary ray 310 is stored in reference in memory 120 at time T600, therefore, ray generator 110 can based on institute
The information that the primary ray 310 of storage is relevant generates secondary ray.
Therefore, controller 140 can come with reference to the information relevant with primary ray 310 in memory 120 based on being stored in
Generate the first indirect ray 410 as secondary ray.For example, controller 140 can add from secondary storehouse after time T600
Carry the first indirect ray 410, and store it in the main storehouse with reference to memory 120.Thus, controller 140 can be first
Determine between refracted rays 330 and the first indirect ray 410 and not yet process the first indirect ray 140, and after time T600
Set about the first indirect ray 410.In addition, rendering system 100 can be performed for secondary by the first indirect ray by said process
The Rendering operations of level ray.
As whole secondary raies are performed Rendering operations and with reference to memory 120 do not include relevant with ray any its
The response of his information, rendering system 100 can terminate Rendering operations.
In the foregoing exemplary embodiment with reference to described by Fig. 4, controller 140 determines that described process uses secondary
Storehouse, but this is only example.Controller 140 can use various method to determine described process.For example, when deleting from memory 120
When removing the information relevant with first refractive ray 330, controller 140 can record and the described deletion in memory 120 individually
Relevant information, and in the case of there is no any deletion record, determine next mistake by setting about described process with reference to this information
Journey.In such a case it is not necessary to single secondary storehouse.
Fig. 5 is for describing the flow chart of the order generating secondary ray according to illustrative embodiments.Rendering system 100
Generate the first ray (operation S610), and carry out to the first ray being generated rendering (operation S620).
As determining that the first ray can generate the response of secondary ray (operation S630-be), rendering system 100 will be with
The relevant information of first ray is stored in reference to (operation S640) in memory 120.Especially, if the ray being generated is not cloudy
Hint obliquely at line and intersect with object, then rendering system 100 can determine that described ray can generate secondary ray.In addition, as determination institute
The ray generating can generate the response of secondary ray, and the information relevant with the ray being generated can be stored by rendering system 100
In with reference to memory 120.
Rendering system 100 generates the second ray and to second being generated based on the storage information relevant with the first ray
Ray carries out rendering (operation S650).The information relevant with ray can include the direction vector of ray.Correspondingly, rendering system
100 can generate the second ray based on the information relevant with the direction vector of the ray being stored, and described second ray is first
The secondary ray of ray.Especially, rendering system 100 can firstly generate the shadow ray in secondary ray.Generating shadow ray
Afterwards, rendering system 100 can generate the refracted rays as secondary ray or indirect ray.
Fig. 6 is for specifically describing the flow process of the recursive sequence generating recursion secondary ray according to illustrative embodiments
Figure.
Rendering system 100 generates ray (operation S700), and carries out to the ray being generated rendering (operation S710).Separately
Outward, rendering system 100 determines whether generated ray is shadow ray (operation S720).
As the response determining that ray does not intersects with object, even if described ray is not shadow ray, still do not generate secondary
Ray.Correspondingly, rendering system 100 determines whether ray intersects with object (operation S730).
As determining that ray intersects the response of (operation S730-is) with object, rendering system 100 is by the letter relevant with ray
Breath is stored in reference memory 120 to generate the secondary ray of ray.In addition, rendering system 100 can be based on being stored in reference
The information relevant with ray in memory 120 generates ray.In this case, rendering system 100 can firstly generate secondary
Shadow ray in level ray.For example, the shadow ray and the refraction that generate as secondary ray in response to rendering system 100 are penetrated
Line, rendering system 100 can firstly generate shadow ray.
As the response determining that generated ray is shadow ray (operation S720-is), rendering system 100 will render knot
Fruit is stored in frame buffer 150 (operation S750).In addition, rendering system 100 determines with reference to whether memory 120 is empty
(operation S760).
In addition, if it is determined that ray does not intersects with object and be not shadow ray, then rendering system 100 can determine that with reference to depositing
Whether reservoir 120 is empty (operation S760).
In addition, as the response determining ray not regeneration secondary ray, rendering system 100 can be from reference to memory 120
The middle deletion information relevant with ray.
Correspondingly, the amount control of the ray being generated by ray generator 110 can be constant by rendering system 100.
Fig. 7 illustrates rendering system 1000, and it includes using stack architecture or deposits based on the reference of the memory distribution of storehouse
Reservoir 830.But, this is only example, and various types of memory construction or memory allocation process can be used (to include team
Row).
The ray generator 800 that rendering system 1000 can be gone out by such as Fig. 7 generates ray.In addition, just generated
For ray, rendering system 1000 can travel through accelerating structure, test is intersected and performs Rendering operations by renderer 810, uses
Include in described renderer in the assembly performing coloring.
Can be determined whether to generate from the ray being generated with reference to memory manager (Ref.Mem magager) 820
Secondary ray.As determining that generated ray can generate the response of secondary ray, with reference to memory manager 820 can by with institute
The information that the ray of generation is relevant is stored in reference in memory 830.
If ray is not shadow ray and intersects with object, then can determine that this ray can with reference to memory manager 820
Generate secondary ray.
As the response performing the Rendering operations to shadow ray, rendering system 1000 can will render for shadow ray
Result is stored in frame buffer 150.It is to say, the color-values with regard to shadow ray can be stored in frame by rendering system 1000
In buffer 150.
As determining the response no longer generating the secondary ray by performing Rendering operations to it from ray, with reference to memory pipe
The controllable reference memory 830 of reason device 820 is so that it deletes the information relevant with ray.
Fig. 8 is the view illustrating the rendering system 2000 according to another illustrative embodiments.The rendering system of Fig. 8
2000 also can generate ray by ray generator 9000.In addition, for the ray being generated, rendering system 2000 can be all over
Go through accelerating structure, test is intersected and performs Rendering operations by renderer 910, and wherein this renderer includes for performing
The assembly of look.
In addition, rendering system 2000 can manage the information relevant with ray by ray with reference to manager 920.Especially,
Reference data calculator 930 can determine that whether generated ray can generate secondary ray.Can as the generated ray of determination
Generating the response of secondary ray, reference data calculator 930 can calculate the information relevant with the ray being generated, and will calculate
Information be stored in reference in memory 940.If the ray being generated is not shadow ray and intersects with object, then reference number
Can determine that described ray can generate secondary ray according to calculator 930, and calculate the information relevant with the ray being generated.For example,
For the ray being generated, reference data calculator 930 can calculate triangle index, the ray degree of depth, obtain the direction of ray, penetrates
The position that the position of line and ray intersect with object.
In addition, as the response performing Rendering operations to shadow ray, rendering system 2000 can rendering shadow ray
Result is stored in frame buffer 150.It is to say, the color-values with regard to shadow ray can be stored in frame by rendering system 2000
In buffer 150.
As the response determining rendered ray not regeneration secondary ray, arrester 950 is controllable with reference to memory
940 delete the information relevant with ray.It is stored in reference in memory 940 and ray it is to say, arrester 950 can be hauled out
Relevant information, and delete this information.For example, the shadow ray as secondary ray is only generated in response to coloured ray,
Arrester 950 can delete the information relevant with ray being stored in reference in memory 940.
Correspondingly, by rendering system 2000 as shown in Figure 8, user can use such rendering system 2000, institute
State rendering system 2000 effectively manage memory and utilize with reference to memory 940 to perform Rendering operations.
Fig. 9 is for describing the flow chart of the ray generating rendering system according to illustrative embodiments.Rendering system 100
Generate ray (operation S1000), and carry out to the ray being generated rendering (operation S1010).In addition, rendering system 100 can be by
It is stored in frame buffer 150 according to the color-values of the rendering result to the ray being generated, to complete to render behaviour to ray
Make.
Rendering system 100 determines whether generated ray is shadow ray (operation S1020).Generated as determination
Ray is not the response (operation S1020-no) of shadow ray, rendering system 100 can determine that generated ray whether with object
Intersect (operation S1040).
As determining that generated ray intersects the response of (operation S1040-be) with object, rendering system 100 calculating and
The relevant information of the ray that generated (operation S1050).Deposit in addition, the information calculating is stored in reference by rendering system 100
In reservoir (operation S1060).If the ray being generated is not shadow ray and intersects with object, then can generate secondary ray.
Correspondingly, the information calculating can be stored in reference memory to generate secondary ray by rendering system 100.
Being the response (operation S1020-is) of shadow ray as the ray being generated, rendering system 100 is by rendering result
It is stored in frame buffer 150 (operation S1030).It is to say, rendering system 100 can be by the rendering result according to shadow ray
Color-values be stored in frame buffer 150.Then, rendering system 100 determines with reference to whether memory is empty (operation
S1070).In addition, the response do not intersected with object as the ray being generated, even if the ray being generated is not shadow ray wash with watercolours
Dye system 100 also can determine that with reference to whether memory is empty (operation S1070).
As the response determining that reference memory is empty (operation S1070-is), rendering system 100 can terminate Rendering operations.
As determination reference memory be not empty (S1070-is no in operation) or the information calculating includes (operating in reference to memory
S1060) response, rendering system 100 obtains with reference to nearest stored information (operation in the middle of the information being stored in memory
S1080), the secondary ray (operation S1090) and except determining whether to generate shadow ray.In this case, can generate
The situation of the secondary ray except shadow ray can refer to the situation that the stored ray of information intersects with object.
The response (S1090-is no in operation) of the secondary ray except can not generating shadow ray as determination, rendering system
100 delete obtained information (operation S1100).
Especially, as with information-related ray not regeneration secondary ray (the such as indirect ray or refraction being obtained
Ray) response, rendering system 100 can delete obtained information.Even if in addition, when with the information-related ray being obtained
When only generating the shadow ray as secondary ray, rendering system 100 also can be when generating shadow ray and rendering it
The information-related ray deleted and obtained.
The response (operation S1090-is) of the secondary ray except can generating shadow ray as determination, rendering system 100
Ray (operation S1000) can be generated based on the information being obtained.It is to say, rendering system 100 can generate in a recursive manner
Ray, is deleted until being stored in reference to the full detail in memory.
According to each illustrative embodiments, user can use such rendering system, and described rendering system is by control
The amount of the information relevant with ray in memory to be stored is efficiently used memory, thus improves the property of rendering system
Energy.
The computer-readable one or more illustrative embodiments can being embodied as on computer readable recording medium storing program for performing
Code, but it is not limited to this.Computer readable recording medium storing program for performing be can store after can be read by computer system data appoint
What data storage device.The example of computer readable recording medium storing program for performing includes read-only storage (ROM), random access memory
(RAM), CD-ROM, tape, floppy disk and optical data storage device.Computer readable recording medium storing program for performing can also be distributed in and use network
In the computer system coupling so that store in a distributed fashion and computer readable code executed.And, exemplary enforcement
Mode can be written as such computer program, and described computer program is come by computer-readable transmission medium (such as carrier wave)
Transmit and be received in the universal or special digital computer of execution program and realize in described computer.Additionally, to manage
Solving, in the exemplary embodiment, one or more of the said equipment and device unit can include circuit, processor, micro-
Processor etc., and the computer program being stored in computer-readable medium can be performed.
Aforementioned embodiments and advantage are only exemplary, and are not construed as limiting the design of the present invention.The religion of the disclosure
Lead and can be readily applied to other kinds of equipment.In addition, the description of illustrative embodiments is intended to illustrative and does not limits
The scope of claim, many replacement schemes, modification and modification will be apparent to those skilled in the art.
Claims (15)
1., for performing the method for the render process of rendering system, described method includes:
Generate primary ray to render image;
Determine whether described primary ray can generate at least one secondary ray;
As determining that described primary ray can generate the response of described at least one secondary ray, will have with described primary ray
The information closed stores in memory;And
Based on the storage information relevant with described primary ray in which memory, generate described at least one secondary and penetrate
Line.
2. method according to claim 1, wherein determines whether described primary ray can generate at least one secondary and penetrate
Line includes:Intersect with object as described primary ray and described primary ray be not the response of shadow ray, determine described at the beginning of
Level ray can generate described at least one secondary ray.
3. method according to claim 1, also includes:
As determining that described primary ray can not generate the response of described at least one secondary ray, delete from described memory
The information relevant with described primary ray.
4. method according to claim 1, also includes:
The response not generating refracted rays or indirect ray as determining described at least one secondary ray to generate shadow ray,
The information relevant with described primary ray is deleted from described memory.
5. method according to claim 4, also includes:
Determine whether described memory includes the information relevant with ray;And
As determining that described memory includes the response of a plurality of information, deposit described in described a plurality of information is stored in recently
The information relevant with ray in reservoir generates secondary ray.
6. method according to claim 1, also includes:
It is the response of shadow ray as described primary ray, the rendering result of described primary ray is stored in as color-values
In frame buffer.
7. method according to claim 1, also includes:
Do not include the response of any information relevant with ray as described memory, terminate described render process.
8. method according to claim 1, wherein relevant with described primary ray information includes and described primary ray
The relevant information of direction vector.
9. a rendering system, including:
Ray generator, is configured to generate primary ray;
Renderer, is configured to the primary ray based on being generated and renders image;
Memory;And
Controller, is configured to:Determine whether described primary ray can generate at least one secondary ray;As determine described at the beginning of
Level ray can generate the response of described at least one secondary ray, is stored in the information relevant with described primary ray described
In memory;And based on the storage information relevant with described primary ray in which memory generate described at least one
Plant secondary ray.
10. rendering system according to claim 9, wherein said controller is configured to:As described primary ray with
Object intersects and is not the response of shadow ray, determines that described primary ray can generate described secondary ray.
11. rendering systems according to claim 9, wherein said controller is configured to:Penetrate as the described primary of determination
Line does not generate the response of described at least one secondary ray, deletes the letter relevant with described primary ray from described memory
Breath.
12. rendering systems according to claim 11, described controller is configured to:Determine whether described memory includes
The information relevant with ray;And as determining that described memory includes the response of a plurality of information, based on described a plurality of information it
In the information relevant with ray that is stored in recently in described memory generate secondary ray.
13. rendering systems according to claim 9, described controller is further configured to:It is cloudy as described primary ray
Hint obliquely at the response of line, the rendering result of described primary ray is stored in the frame buffer.
14. rendering systems according to claim 9, wherein said controller is configured to:Whether determine described memory
Including the information relevant with ray;And the response of any information relevant with ray is not included as described memory, terminate
The render process of described rendering system.
15. rendering systems according to claim 9, wherein relevant with described primary ray information includes and described primary
The relevant information of the direction vector of ray.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20140053472 | 2014-05-02 | ||
KR10-2014-0053472 | 2014-05-02 | ||
KR1020140108366A KR102201834B1 (en) | 2014-05-02 | 2014-08-20 | Rendering system for manufacturing ray and method thereof |
KR10-2014-0108366 | 2014-08-20 | ||
PCT/KR2015/003942 WO2015167159A1 (en) | 2014-05-02 | 2015-04-21 | Rendering system and method for generating ray |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462993A true CN106462993A (en) | 2017-02-22 |
CN106462993B CN106462993B (en) | 2020-06-19 |
Family
ID=54605729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580023530.0A Expired - Fee Related CN106462993B (en) | 2014-05-02 | 2015-04-21 | Rendering system and method for generating rays |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6665112B2 (en) |
KR (1) | KR102201834B1 (en) |
CN (1) | CN106462993B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100164948A1 (en) * | 2008-12-29 | 2010-07-01 | Samsung Electronics Co., Ltd. | Apparatus and method of enhancing ray tracing speed |
US20110234583A1 (en) * | 2010-01-04 | 2011-09-29 | Reuven Bakalash | Method and apparatus for parallel ray-tracing employing modular space division |
CN102439862A (en) * | 2009-05-29 | 2012-05-02 | 斯里考纳特斯公司 | Ray tracing device and method |
CN102915556A (en) * | 2011-06-30 | 2013-02-06 | 梦工厂动画公司 | Point-based guided importance sampling |
CN103080981A (en) * | 2010-08-27 | 2013-05-01 | 矽锂铬艺术有限公司 | Method for selecting MIP-map level and system for texture mapping using same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8018457B2 (en) * | 2006-09-19 | 2011-09-13 | Caustic Graphics, Inc. | Ray tracing system architectures and methods |
US8593458B2 (en) * | 2008-09-22 | 2013-11-26 | Caustic Graphics, Inc. | Systems and methods of multidimensional query resolution and computation organization |
-
2014
- 2014-08-20 KR KR1020140108366A patent/KR102201834B1/en active IP Right Grant
-
2015
- 2015-04-21 JP JP2016566233A patent/JP6665112B2/en not_active Expired - Fee Related
- 2015-04-21 CN CN201580023530.0A patent/CN106462993B/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100164948A1 (en) * | 2008-12-29 | 2010-07-01 | Samsung Electronics Co., Ltd. | Apparatus and method of enhancing ray tracing speed |
CN102439862A (en) * | 2009-05-29 | 2012-05-02 | 斯里考纳特斯公司 | Ray tracing device and method |
US20110234583A1 (en) * | 2010-01-04 | 2011-09-29 | Reuven Bakalash | Method and apparatus for parallel ray-tracing employing modular space division |
CN103080981A (en) * | 2010-08-27 | 2013-05-01 | 矽锂铬艺术有限公司 | Method for selecting MIP-map level and system for texture mapping using same |
CN102915556A (en) * | 2011-06-30 | 2013-02-06 | 梦工厂动画公司 | Point-based guided importance sampling |
Also Published As
Publication number | Publication date |
---|---|
KR102201834B1 (en) | 2021-01-12 |
CN106462993B (en) | 2020-06-19 |
JP2017517806A (en) | 2017-06-29 |
KR20150126264A (en) | 2015-11-11 |
JP6665112B2 (en) | 2020-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102438308B1 (en) | Applying endurance groups to zoned namespaces | |
JP7385640B2 (en) | multi-resolution imaging system | |
CN101490715B (en) | Cache utilization method and device of optimized ray traversal algorithm with minimized memory bandwidth requirements | |
KR102080851B1 (en) | Apparatus and method for scheduling of ray tracing | |
CN106407408A (en) | A spatial index construction method and device for mass point cloud data | |
CN103514249B (en) | A kind of automatic data reduction and system and storage device | |
US9830264B2 (en) | Cache memory system and operating method for the same | |
CN110413201A (en) | For managing the method, equipment and computer program product of storage system | |
US20130076761A1 (en) | Graphics processing systems | |
CN105740165A (en) | Method and apparatus for managing file system of unified storage system | |
CN108520557A (en) | A kind of magnanimity building method for drafting of graph image fusion | |
WO2009117691A4 (en) | Architectures for parallelized intersection testing and shading for ray-tracing rendering | |
CN103765481A (en) | Systems and methods for 3-D scene acceleration structure creation and updating | |
CN111870952B (en) | Altitude map generation method, device, equipment and storage medium | |
CN108073352A (en) | Virtual disk processing method and processing device | |
CN109783199A (en) | A kind of virtual machine migration method and device | |
CN109271113A (en) | A kind of data management system and method based on cloud storage | |
CN104570787B (en) | Method for influenceing the control program of controller | |
CN106462993A (en) | Rendering system and method for generating ray | |
US8529346B1 (en) | Allocating and managing software assets | |
CN108845767A (en) | Caching acceleration management method, system, equipment and the storage medium of volume in storage | |
KR101807172B1 (en) | Ray tracing apparatus and method of the same | |
CN109359205A (en) | A kind of remote sensing image cutting method and equipment based on geographical grid | |
CN110874189B (en) | Storage system and storage control method | |
CN104281517A (en) | Log mode based memory space management method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200619 |
|
CF01 | Termination of patent right due to non-payment of annual fee |