1. A system for 3-D graphics processing using ray tracing, comprising:
a plurality of computation units, collectively capable of performing a sequence of ray tracing operations using a set of data elements, the ray tracing operations comprising operations to be performed during one or more of acceleration structure traversal and primitive intersection testing;
an input buffer;
a controller, for the plurality of computation units, coupled to the input buffer, the controller operable to determine a sequence of sets of data elements to be inputted to the plurality of computation units, wherein
each set of input data elements is selected from data elements received at the input buffer,
the input buffer operates asynchronously from the plurality of computation units for receiving groupings of data elements to be processed by the plurality of computation units,
the groupings potentially having different numbers of data elements, and
the controller is operable to aggregate data elements from groupings received at different times respectively into one of the sets of data elements to be provided to the plurality of computation units, wherein the plurality of computation units are operable to output results of acceleration structure traversal and the controller uses the results to determine further ray tracing operations to be performed with the data elements.
2. The system for 3-D graphics processing using ray tracing of claim 1, wherein the ray tracing operations to be performed by the plurality of computation units further comprise shading operations defined by portions of code, wherein portions of shader code are capable of branching, and the controller is configured to collect rays at collection points defined based on branching within the portions of shader code.
3. A method of ray tracing in a computer system, comprising:
defining rays to be tested for intersection in a 3-D scene;
identifying intersections between the rays and elements of geometry located in a 3-D scene;
providing collection points associated with respective portions of shader code to be executed during shading of the identified intersections;
collecting the identified intersections at a respective initial collection point, wherein the collecting comprises associating rays for which intersections were identified with respective collection points;
beginning to shade ray intersections collected with respect to one or more of the collection points, the shading comprising executing machine executable instructions from the respective portion of shader code associated with the one or more collections; and
recollecting the identified intersections at one or more subsequent collection points, the one or more subsequent collection points determinable based on a respective resolution of a branch instruction from the machine executable instruction for each of the ray intersections that were being shaded.
4. The method of ray tracing in a computer system of claim 2, wherein a shader comprises multiple portions of code, and shader code from one portion is capable of branching to other portions of shader code, and the collection points are provided in association with the portions shader code to which other portions of shader code branch.
5. The method of ray tracing in a computer system of claim 2, wherein a shader comprises multiple portions of code, wherein the shader code is organized in modules associated with respective shading effects, and shader modules are capable of calling other modules of code, and wherein the collection points are provided in association with modules called by other modules of shader code.
6. The method of ray tracing in a computer system of claim 2, further comprising deferring shading intersections currently being processed in favor of shading another collection of intersections.
7. The method of ray tracing in a computer system of claim 5, further comprising aggregating ray intersections concurrently with respect to a plurality of different shader code modules.
8. The method of ray tracing in a computer system of claim 6, further comprising retrieving data used for shading ray intersections associated with a collection point, in response to determining to initiate execution of machine executable instructions for a portion of shader code associated with that collection point.
9. The method of ray tracing in a computer system of claim 7, wherein the retrieving comprises loading data into a cache hierarchy from system memory.
10. The method of ray tracing in a computer system of claim 2, further comprising grouping ray intersections based on access to defined regions of memory that have been loaded with object data.
11. An apparatus for concurrently performing 3-D graphics rendering, comprising:
a plurality of processor cores;
a respective queue between each pair of processor cores, the queues arranging the plurality of processor cores in a communication ring;
wherein at least one of the plurality of processor cores is configured to execute a ray control process, the ray control process for forming packets of identifiers for rays and data defining the identified rays and submitting the packets to a queue coupled to the processor core on which the ray control process is executing, wherein
each processor core is configured to take a portion of the ray data in each packet responsive to receiving that packet, and to store that portion of ray data in a respective cache coupled with that processor core, and then to submit the packet to a queue for receipt by a subsequent processor core coupled to that queue.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A modular, user-configurable, re-useable, non-disposable cart that is collapsible for storage and transport and expandable for use in carrying a load, comprising:
a modular load support frame that can be alternately assembled and dis-assembled, said modular frame being comprised of a pair of spaced and parallel horizontally disposed elongated rigid load support members;
a vertically extending straight and rigid strut extending down from a midsection of each of said horizontal load support members;
said load support members each having at least one convenient user-securable clamp on a top surface thereof spanning a substantial portion of the length of each of the horizontal load support members;
said at least one convenient user-securable clamp being user-positionable and interchangeable with any other said at least one clamp;
each said vertical strut having a lower end with an axle mounting means at said lower end;
an axle extending through and joining both said axle mounting means, said axle having at least one vehicle movement actuator of a pair of vehicle movement actuators attached at opposite sides of said cart; said axle in joining and contacting both said movement actuators of said cart; said axle traversing through said respective struts; and
a load carrier removably attached to said clamps.
2. The cart as in claim 1, wherein each said rigid horizontal support member comprises a horizontally extending rail extrusion having a longitudinally extending channel along said top surface, each said extrusion further having a pair of spaced apart inwardly and longitudinally extending cantilevered members extending partially over said channel and,
said clamp holding a gripping assembly within said channel, said gripping assembly having a base, said base having respective horizontal members slidably insertable within said respective longitudinally extending channels.
3. The cart as in claim 1 wherein each clamp supports a rail of said load carrier.
4. The cart as in claim 3 wherein each said carrier rail is part of a rescue stretcher, said rescue stretcher having a stretcher fabric sheet extending between the carrier rails.
5. The cart as in claim 3 wherein each said carrier rail is a rail of a Stokes rescue carrier.
6. The cart as in claim 3 wherein said carrier rails support a hollow cargo bin thereon.
7. The cart as in claim 3 further comprising:
at least one transverse frame member connecting said load support members.
8. The cart as in claim 7 wherein said load carrier is further supported by a center frame member extending between a pair of said at least one transverse frame members.
9. The cart as in claim 8 wherein said cart is re-adjustable to foreshorten the distance between said transverse frame members by said center frame member being slidable along said load support members, said transverse frame members being secured by fasteners attachable to said load support members.
10. The cart as in claim 3 wherein said load carrier is a medical victim carrying stretcher.
11. The cart as in claim 1 wherein said vehicle movement actuators are wheels.
12. The cart as in claim 1 wherein said vehicle movement actuators are a pair of wheels, and wherein both said wheels are held by said axle.
13. The cart as in claim 12 wherein said wheels are supported at opposite ends of said axle.
14. The cart as in claim 1 having a second axle supporting a pair of wheels.
15. The cart as in claim 14 where said wheels are staggered.
16. The cart as in claim 14 wherein one of said axles is a forward axle and the other axle is a rearward axle; said axles having respective ends for receiving alternately attachable and detachable wheels; said axles being attachable and alternately detachable to said axle mounting means at said lower end of said at least one vertical strut; and wherein
said forward axle and said rearward axle are spaced apart by a distance smaller than the diameter of the smallest wheel attached to either said forward axle or said rearward axle; and wherein
one of said axles comprises a length greater than the length of another of said axles, wherein the forward axle is longer than the rearward axle by a distance of at least twice the thickness of the thickest wheel attached to either said forward axle or said rearward axle.
17. The cart as in claim 1 wherein said clamp comprises a lower jaw cooperating with an upper jaw.
18. The cart as in claim 17 wherein said lower jaw of said clamp includes an engaging surface having threaded studs which are inserted into at least one through-hole of each said horizontal support member, each said stud being locked with a respective locking nut.
19. The cart as in claim 17 wherein said upper jaw is provided with a pair of oblong through-slots, wherein upon loosening of each said respective locking nut from each said threaded stud, said upper jaw slides on an upper surface of said lower jaw, permitting quick removal of a rail secured between said upper jaw and said lower jaw.
20. The cart as in claim 1 wherein said clamp includes a longitudinally extending recess gripping each said rail of said carrier.
21. The cart of claim 1, further comprising at least one user-deployable kick stand for stabilizing said cart in a fixed position.
22. The cart of claim 1 wherein each said movement actuator is a removable snow ski.
23. The cart as in claim 1 further comprising a removable platform attached to each said clamp, said platform supporting an object thereon.
24. The cart as in claim 23 wherein said platform has a pair of attachment members slidable within each of said clamps.
25. The cart of claim 1 wherein said cart is collapsible within a carry case without physical detachment of any components; and said cart having hinge means and spring means to assemble said cart for use upon opening said carry case;
said cart folding down to a disassembled storage position and said cart unfolding to an assembled position of use.
26. The cart as in claim 25 wherein a pair of resilient rails engage said load support members such that when in a position of storage said resilient rails are biased to return to their normal position of use, when released from the storage position, thus causing each said vertical strut attached to said load support members to pivot upward.
27. The cart as in claim 1 wherein said axle is adjustable to increase its width.
28. The cart as in claim 1 wherein said load carrier is a single fabric sheet member.
29. The cart as in claim 28 wherein said load single fabric sheet member includes sewn longitudinal pockets at respective outer edges accepting said horizontal parallel rigid load support members therein.
30. The cart as in claim 1 further comprising a quick release clamp including a top clamping member having at least one slot permitting said clamp to slide from a locking position to an unlocked position, said quick release clamp having a compressible spring surrounding a locking shaft, said locking shaft being threaded downward by turning of a locking handle,
wherein when said locking handle has been turned, said spring pushes up on said top clamping member, releasing one of said load support members from said quick release clamp.
31. The cart as in claim 1 further comprising a handle.
32. A cart collapsible for storage and transport and expandable for use in carrying a load, comprising:
a modular load support frame that can be alternately assembled and dis-assembled, said modular frame being comprised of a pair of oppositely disposed rigid horizontal load support members, wherein each said rigid horizontal support member has extending downwardly therefrom a respective vertical strut;
said horizontal load support members each having a removable clamp;
each said vertical strut having a lower end with an axle mounting means at said lower end;
a pair of axles extending through each said vertical strut, each said axle having at least one vehicle movement actuator of a pair of vehicle movement actuators attached at opposite sides of said cart;
a carrier, said carrier attachable to said clamp, wherein said carrier supports a load thereupon; wherein
one of said pair of axles is a forward axle and the other axle is a rearward axle; said axles having respective ends for receiving alternately attachable and detachable wheels; said axles being attachable and alternately detachable to said axle mounting means at said lower end of said at least one vertical strut; and wherein
said forward axle and said rearward axle are spaced apart by a distance smaller than the diameter of the smallest wheel attached to either said forward axle or said rearward axle; and wherein
one of said axles comprises a length greater than the length of another of said axles, wherein the forward axle is longer than the rearward axle by a distance of at least twice the thickness of the thickest wheel attached to either said forward axle or said rearward axle.
33. A cart collapsible for storage and transport and expandable for use in carrying a load, comprising:
a modular load support frame that can be alternately assembled and dis-assembled, said modular frame being comprised of a pair of oppositely disposed rigid horizontal load support members, wherein each said rigid horizontal support member has extending downwardly therefrom a respective vertical strut;
said horizontal load support members each having a removable clamp;
each said vertical strut having a lower end with an axle mounting means at said lower end;
at least one axle extending through each said vertical strut, each said axle having at least one vehicle movement actuator of a pair of vehicle movement actuators attached at opposite sides of said cart;
a carrier, said carrier attachable to said clamp, wherein said carrier supports a load thereupon;
an removable platform attached to each clamp, said removable platform supporting an object thereon; and
said platform having a pair of attachment members slidable within said clamps attachable to said support members.
34. A cart collapsible for storage and transport and expandable for use in carrying a load, comprising:
a modular load support frame that can be alternately assembled and dis-assembled, said modular frame being comprised of a pair of oppositely disposed rigid horizontal load support members, wherein each said rigid horizontal support member has extending downwardly therefrom a respective vertical strut;
said horizontal load support members each having a removable clamp;
each said vertical strut having a lower end with an axle mounting means at said lower end;
at least one axle extending through each said vertical strut, each said axle having at least one vehicle movement actuator of a pair of vehicle movement actuators attached at opposite sides of said cart; and,
a carrier, said carrier attachable to said clamp, wherein said carrier supports a load thereupon;
said cart being collapsible within a carry case without physical detachment of any components; and said cart having hinge means and spring means to assemble said cart for use upon opening said carry case;
said cart folding down to a disassembled storage position and said cart unfolding to an assembled position of use; and
a pair of resilient rails engaging said load support members such that when in a position of storage said resilient rails are biased to return to their normal position of use, when released from the storage position, thus causing each said vertical strut attached to said load support members to pivot upward.
35. A cart collapsible for storage and transport and expandable for use in carrying a load, comprising:
a modular load support frame that can be alternately assembled and dis-assembled, said modular frame being comprised of a pair of oppositely disposed rigid horizontal load support members, wherein each said rigid horizontal support member has extending downwardly therefrom a respective vertical strut;
said horizontal load support members each having a removable clamp;
each said vertical strut having a lower end with an axle mounting means at said lower end;
at least one axle extending through each said vertical strut, each said axle having at least one vehicle movement actuator of a pair of vehicle movement actuators attached at opposite sides of said cart; and,
a carrier, said carrier attachable to said clamp, wherein said carrier supports a load thereupon;
a quick release clamp including a top clamping member having at least one slot permitting said clamp to slide from a locking position to an unlocked position, said quick release clamp having a compressible spring surrounding a locking shaft, said locking shaft being threaded downward by turning of a locking handle; and
wherein when said locking handle has been turned, said spring pushes up on said top clamping member, releasing a load support member from said quick release clamp.