CN106462993A - Rendering system and method for generating ray - Google Patents

Rendering system and method for generating ray Download PDF

Info

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
Application number
CN201580023530.0A
Other languages
Chinese (zh)
Other versions
CN106462993B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority claimed from PCT/KR2015/003942 external-priority patent/WO2015167159A1/en
Publication of CN106462993A publication Critical patent/CN106462993A/en
Application granted granted Critical
Publication of CN106462993B publication Critical patent/CN106462993B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow 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

Rendering system and for generating the method for ray
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.
CN201580023530.0A 2014-05-02 2015-04-21 Rendering system and method for generating rays Expired - Fee Related CN106462993B (en)

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)

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

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

Patent Citations (5)

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