7439970

Computer Graphics

PublishedOctober 21, 2008
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
93 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of generating a graphical image of at least part of an object provided within a plurality of hierarchically divided regions of space from a plurality of stored graphical representations of the differently sized sub-regions of the space, the method comprising: determining a viewing distance between the object and a viewpoint from which the object is being viewed; and using the determined viewing distance to select, from the plurality of stored graphical representations included in one or more hierarchically divided regions, a graphical representation of a sub-region of the space in which at least part of the object resides, the size of the selected sub-region corresponding to the calculated viewing distance and determining the level of detail of the graphical image of at least part of the object to be generated.

2

2. A method according to claim 1 , wherein the using step comprises selecting a graphical representation from a plurality of hierarchically stored graphical representations of the differently sized sub-regions of space, wherein objects provided within the sub-regions of space are independent of each other such that there is no logical hierarchy between the objects themselves.

3

3. A method according to claim 1 , wherein the determining and using steps are arranged to be implemented in real time such that desired graphical representations making up a given frame can be selected and displayed within a frame period.

4

4. A method according to claim 1 , wherein the using step comprises iteratively recursing the plurality of stored graphical representations in order of decreasing size and comparing the determined viewing distance to the object with the size of the representation containing at least part of the object to establish whether a further iteration is required.

5

5. A method according to claim 4 , wherein the recursing step comprises carrying out a further iteration if the size of the representation under consideration is larger than the determined viewing distance.

6

6. A method according to claim 4 , wherein the graphical image comprises a plurality of objects at different levels of detail and the recursing step comprises iteratively recursing the plurality of stored graphical representations for each of the plurality of objects until the desired level of detail for each object is reached as determined by consideration of the respective viewing distances of the plurality of objects and the size of the graphical representations.

7

7. A method according to claim 4 , wherein the using step comprises multiplying the size of the representation with a complexity factor prior to carrying out the comparing step, the complexity factor reflecting the available processing power for implementing the method.

8

8. A method according to claim 7 , wherein the complexity factor is varied between different frames in order to adjust the number of nodes drawn in each frame.

9

9. A method according to claim 4 , wherein the draw time of each representation is predetermined and the recursing step comprises carrying out a further iteration of the recursion if the remaining frame time is greater than the estimated draw time for displaying the representations to be considered in the next iteration.

10

10. A method according to claim 1 , wherein the using step comprises retrieving the desired representation from a database of object representations.

11

11. A method according to claim 10 , wherein the retrieving step comprises retrieving the desired representation from a hierarchical world database having a plurality of levels of nodes and containing objects and independent relative positional information regarding the objects, each level of nodes representing a different level of detail for objects represented within the database.

12

12. A method according to claim 11 , wherein each node in a given level is a fixed multiple of the size of the node in an adjacent lower level.

13

13. A method according to claim 11 , wherein each node contains a representation of the object information of all smaller dependant nodes at lower levels within the region of space of the node.

14

14. A method according to claim 11 , wherein the retrieving step comprises accessing the highest detail object representations stored in a plurality of hierarchical object databases that are linked to the world database, the levels of each object and world databases being contiguous to provide an apparently seamless increase in the level of detail at incrementally deeper levels.

15

15. A method according to claim 11 , wherein the retrieving step comprises accessing the highest detail object representations stored in a plurality of hierarchical merge object databases that are linked to respective object databases, the levels of each object and world databases being contiguous to provide an apparently seamless increase in the level of detail at incrementally deeper levels.

16

16. A method according to claim 15 , wherein the retrieving step comprises accessing at least one of the plurality of merge databases having a hierarchical tree structure of representations of its object, the merge database having a plurality of root polygons representing the object in its lowest acceptable resolution and each representation providing an optimised approximation of all more detailed representations dependent therefrom at lower levels.

17

17. A method according to claim 16 , wherein the accessing step is carried out via the root polygons of the merge database which are stored in a corresponding hierarchical object database.

18

18. A method according to claim 15 , wherein the retrieving step comprises accessing a hierarchical world merge database comprised of a plurality of representations of objects within the world database, the world merge database having a plurality of root polygons representing the objects in the world database in their lowest acceptable resolution and each representation providing an optimised approximation of all more detailed representations dependent therefrom at lower levels.

19

19. A method according to claim 11 , wherein a root node of each object database is also provided in the world database as a pointer from the world database to a respective object database and the retrieving step comprises recursing down through the levels of the world database until a pointer is reached, spawning to a root node in an object database indicated by the pointer, and continuing the incremental recursion through the levels of the object database.

20

20. A method according to claim 1 , wherein the step of determining the viewing distance comprises determining a view vector direction and calculating the magnitude parallel to the view vector direction of a vector representation of the distance between the object and the view-point.

21

21. A method according to claim 20 , further comprising determining a field of view from the viewpoint in the view vector direction.

22

22. A method according to claim 21 , further comprising selecting representations lying fully or partially within the field of view for possible recursion.

23

23. A method according to claim 1 , further comprising accessing a database of octrees of surface features.

24

24. A method according to claim 23 , further comprising caching surface features for a predetermined time period.

25

25. A method according to claim 1 , further comprising generating naturally occurring repetitive features, such as clouds, which do not require different levels of detail for display.

26

26. A method according to claim 1 , wherein the graphical representations comprise three-dimensional volumetric representations of space.

27

27. A computer readable medium storing instructions executable by a computer for causing a computer to implement a method according to claim 1 .

28

28. A computer readable medium storing a computer game, the computer game comprising instructions for causing a computer to perform a method according to claim 1 .

29

29. A graphics system for generating a graphical image of at least part of an object provided within a hierarchically divided region of space from a plurality of stored graphical representations of the differently sized sub-regions of the space, the system comprising: calculating means for determining a viewing distance between the object and a viewpoint from which the object is being viewed; storage means for storing a plurality of graphical representations of differently sized sub-regions of the space according to various criteria; and processing means arranged to use the determined viewing distance to select, from the plurality of stored graphical representations, a graphical representation of a sub-region of the space in which at least part of the object resides, the size of the selected sub-region corresponding to the calculated viewing distance and determining the level of detail of the graphical image of at least part of the object to be generated and displayed.

30

30. A method of generating a graphical image of a scene comprising a plurality of objects as viewed from a viewpoint, the method comprising: determining viewing distances between the view-point and each object; and using each of the determined viewing distances to select, from a plurality of hierarchically stored graphical representations of a region of space and differently sized sub-regions of the space in a plurality of databases, a graphical representation of a sub-region of the space for each object in which at least part of the object resides, wherein the size of each selected sub-region, associated with the calculated viewing distance for the corresponding object, determines the level of detail of the graphical image of the corresponding object which is to be generated, and the selection is effected independently such that different distances providing different levels of detail can be provided within the graphical image of the scene.

31

31. A computer readable medium storing instructions for causing a computer to implement a method according to claim 30 .

32

32. A computer readable medium storing a computer game, the computer game comprising instructions for causing a computer to perform a method according to claim 30 .

33

33. A method of storing a graphical object comprising a plurality of polygons in a hierarchical tree structure database of a plurality of differently sized regions of space, the method comprising: determining the size of a root node of the database by measuring the size of a bounding box formed around the object and making the root node size equivalent; establishing a depth level for placement of each polygon by comparing each polygon's largest dimension with the sizes of the different regions of space and selecting the depth level of the closest sized region; and placing each polygon at its corresponding selected depth level as a leaf of the hierarchical tree structure database.

34

34. A method according to claim 33 , wherein the differently sized regions are created on demand, the sizes of the possible different regions are predetermined and the method further comprises using the calculated depth level of a polygon to subdivide recursively the root node into the plurality of smaller regions until an appropriate leaf sized region is created.

35

35. A method according to claim 33 , wherein the differently sized regions of a given level of the database are a fixed multiple of the size of the node in an adjacent lower level.

36

36. A method according to claim 35 , wherein the fixed multiple is two and the establishing step comprises iteratively comparing the size of the largest dimension with the size of the current region and if the largest dimension it less than half of the region size, then moving to the next smaller size of region in the adjacent lower level.

37

37. A method according to claim 33 , wherein the placing step comprises placing at least some of the polygon in the region that contains its centre.

38

38. A method according to claim 33 , wherein each polygon is a triangle.

39

39. A method according to claim 33 , wherein the placing step comprises placing each polygon within the database according to its position and orientation.

41

41. A method according to claim 33 , further comprising generating imposter representations at each of the plurality of differently sized regions of space which is not solely a leaf of the hierarchical tree structure database.

42

42. A method according to claim 41 , wherein the step of generating the imposter representations is carried out from the lowest depth levels of the database towards the highest root node level.

43

43. A method according to claim 42 , wherein the generating step comprises approximating all smaller dependant leaves and imposters at lower levels bounded by the current region of space.

44

44. A method according to claim 42 , wherein the generating step comprises counting all of the polygons of the smaller dependent regions together with the polygons present in the current region.

45

45. A method according to claim 44 , wherein the generating step comprises comparing the total number of counted polygons for the current region to a predetermined fixed amount and if the total number exceeds the fixed amount reducing the number of polygons using an approximating technique.

46

46. A method according to claim 45 , wherein the approximating technique involves merging polygons together having similar planar characteristics.

47

47. A method according to claim 45 , wherein the predetermined fixed amount is determined by the available processing power for implementing the method.

48

48. A method of creating a world database having a hierarchical tree structure representing a plurality of differently sized regions of space, the method comprising: predetermining a size of the world database; storing a graphical object comprising a plurality of polygons in the hierarchical tree structure object database according to claim 33 ; replicating the root node of the object database as a pointer to its object database within the world database; and placing the replicated root node at a position corresponding to the relative position of the object within the region of space bounded by the world database and in a region of space having a volume size equivalent to the relative size of the object.

49

49. A method according to claim 48 , wherein the placing step comprises establishing a depth level for placement of the root node by comparing the root node's size with the sizes of the different regions of space of the world database and selecting the depth level of the closest sized region.

50

50. A method according to claim 49 , further comprising generating imposter representations at each of the plurality of differently sized regions of space of the world database.

51

51. A method according to claim 48 , further comprising generating imposter representations at each of the plurality of differently sized regions of space of the world database.

52

52. An apparatus for storing a graphical object comprising a plurality of polygons in a hierarchical tree structure database of a plurality of differently sized regions of space, the apparatus comprising: measurement means arranged to measure the size of a bounding box formed around the object for determining the size of a root node of the database, and to make the root node size equivalent; depth level determining means for establishing a depth level for placement of each polygon, the depth level means being arranged to compare each polygon's largest dimension with the sizes of the different regions of space and to select the depth level of the closest sized region; and means for placing each polygon at its corresponding selected depth level as a leaf of the hierarchical tree structure database.

53

53. A method of storing a graphical object comprising a plurality of polygons in an object database having a hierarchical tree structure and representing a plurality of differently sized regions of space, the method comprising: determining the size of a root node of the object database by measuring the size of a bounding box formed around the object and making the root node size equivalent; forming a merge database having a hierarchical tree structure by repeatedly combining together adjacent ones of the plurality of polygons; the resultant merge database having a plurality of root polygons representing the object in its lowest acceptable resolution; establishing a depth level for placement of each root polygon within the object database by comparing each root polygon's largest dimension with the sizes of the different regions of space of the object database and selecting the depth level of the closest sized region; and placing each root polygon at its corresponding selected depth level within the object database.

54

54. A method according to claim 53 , wherein the placing step comprises placing at least part of the root polygon in the region of the object database that contains its centre.

55

55. A method according to claim 53 , wherein each polygon is a triangle.

56

56. A method according to claim 53 , wherein the placing step comprises placing each polygon within the object database according to its position and orientation.

57

57. A method of creating a world database having a hierarchical tree structure representing a plurality of differently sized regions of space, the method comprising: predetermining a size of the world database; storing a graphical object in the corresponding object database according to claim 53 ; replicating the root node of the object database as a pointer to its object database within the world database; and placing the replicated root node at a position corresponding to the relative position of the object within the region of space bounded by the world database and in a region of space having a volume size equivalent to the relative size of the object.

58

58. A method according to claim 57 , wherein the placing step comprises establishing a depth level for placement of the root node by comparing the root node's size with the sizes of the different regions of space of the world database and selecting the depth level of the closest sized region.

59

59. A method according to claim 57 , wherein the storing, replicating and placing steps are repeated for one or more further objects and the method further comprises: forming a world merge database having a hierarchical tree structure by repeatedly combining together adjacent root nodes of a plurality of object databases, the resultant world merge database having a plurality of world root polygons representing merged objects in their lowest acceptable resolution; establishing a depth level for placement of each world root polygon within the world database by comparing each root polygon's largest dimension with the sizes of the different regions of space of the world database and selecting the depth level of the closest sized region; and placing each world root polygon at its corresponding selected depth level within the world database.

60

60. A computer readable medium storing instructions for causing a computer to implement a method according to claim 53 .

61

61. A computer readable medium storing a computer game, the computer game comprising instructions for causing a computer to perform a method according to claim 53 .

62

62. A method of generating an approximation representation of a graphical image comprising a plurality of polygons for the purpose of imposter generation, the method comprising: creating a planar primitive for each polygon; forming a bounding structure around each pair of primitives, the dimensions of the bounding structure being arranged to indicate the degree of planar and positional conformity of the neighbouring primitives; and selecting and merging together the planar primitives of the bounding structures indicating the highest degree of positional and planar conformity to form merged primitives.

63

63. A method according to claim 62 , wherein the selecting and merging step comprises ordering the bounding structures for all possible neighbouring pairs of primitives into a ranked list based on the dimensions of the bounding structures.

64

64. A method according to claim 63 , wherein the selecting and merging step comprises selecting a plurality of highest ranked bounding structures having the smallest dimensions which represent the best fitting primitives.

65

65. A method according to claim 62 , further comprising storing the planar primitives in a store.

66

66. A method according to claim 65 , wherein the storing step comprises storing the planar primitives in a first hierarchical tree structure database according to the size of the planar primitive and the location of the centre of the primitive.

67

67. A method according to claim 66 , wherein the storing step comprises storing the planar primitives in a second hierarchical tree structure database according to the size of the planar primitive and the orientation of its plane.

68

68. A method according to claim 67 , further comprising, after the selection and merging step, updating the first and second hierarchical tree structures databases with the selected merged primitives.

69

69. A method according to claim 68 , further comprising repeating the forming step, using planar and merged primitives, the selecting and merging step, and the updating step until the total number of merged and planar primitives is below a predetermined threshold.

70

70. A method according to claim 69 , further comprising projecting the texture of the polygons onto the planes of the merged and planar primitives.

71

71. A method according to claim 70 , further comprising converting the merged and planar primitives into a representative set of polygons.

72

72. A method according to claim 67 , wherein the hierarchical tree structure databases comprise octrees.

73

73. A method according to claim 62 , wherein the bounding structure comprises a cylindrical structure, and the length of the cylinder is used to indicate the conformity of the two primitives within the structure.

74

74. A method according to claim 73 , wherein the merged primitive has an equivalent structure to that of the bounding structure.

75

75. A method according to claim 73 , wherein the planar primitive has an equivalent structure to that of the bounding structure, with a cylindrical length approximating zero.

76

76. A method according to claim 62 , wherein the planar primitive comprises information describing the polygon it represents, the information including the polygon's centre, its plane normal and its area.

77

77. A method according to claim 62 , wherein the merged primitive comprises information describing the planar or merged primitives it represents, the information including the merged primitive's centre, its plane normal, its area, its thickness and its density.

78

78. A method according to claim 77 , wherein the merged primitive also includes information describing edge constraints and/or information regarding adjoining neighbouring merged or planar primitives.

79

79. A system for generating an approximation representation of a graphical image comprising a plurality of polygons for the purpose of imposter generation, the system comprising: creating means for creating a planar primitive for each polygon; bounding structure forming means for forming a bounding structure around each pair of primitives, the dimensions of the bounding structure being arranged to indicate the degree of planar and positional conformity of the neighbouring primitives; and merging means arranged to select and merge together the planar primitives of the bounding structures indicating the highest degree of positional and planar conformity to form merged primitives.

80

80. A method of storing a plurality of graphical objects, the method comprising: creating a hierarchical tree structure database for each graphical object, the size of a root node of each hierarchical tree structure database representing the size of the corresponding object; creating a hierarchical tree structure database for the world, the size of a root node of the world database representing a predetermined size of the world; populating the world database with object representations by providing a traversable link to each graphical object database for each object within the world, wherein each traversable link comprises a copy of the root node of its respective graphical object database which acts as a pointer and is stored at a position corresponding to the relative position of the object within the region of space bounded by the world database and in a region of space having a volume size equivalent to the relative size of the object.

81

81. A computer readable medium storing instructions for causing a computer to implement a method according to claim 80 .

82

82. A computer readable medium storing a computer game, the computer game comprising instructions for causing a computer to perform a method according to claim 80 .

83

83. A system of storing a plurality of graphical objects, the system comprising: a plurality of hierarchical tree structure object databases each representing a graphical object, the size of a root node of each object database representing the size of the corresponding object; a hierarchical tree structure world database representing the world, the size of a root node of the world database representing a predetermined size of the world; and loading means for populating the world database with object representations by providing a traversable link to each graphical object database for each object within the world; wherein each traversable link comprises a copy of the root node of its respective graphical object database which acts as a pointer and is stored at a position corresponding to the relative position of the object within the region of space bounded by the world database and in a region of space having a volume size equivalent to the relative size of the object.

84

84. A method of generating a graphical image of at least part of an object provided within a hierarchically divided region of space from a plurality of stored graphical representations of the differently sized sub-regions of the space, the method comprising: determining a viewing distance between the object and a viewpoint from which the object is being viewed; and using the determined viewing distance to select, from the plurality of stored graphical representations, a graphical representation of a sub-region of the space in which at least part of the object resides, the size of the selected sub-region corresponding to the calculated viewing distance and determining the level of detail of the graphical image of at least part of the object to be generated; wherein: the using step comprises: iteratively recursing the plurality of stored graphical representations in order of decreasing size and comparing the determined viewing distance to the object with the size of the representation containing at least part of the object to establish whether a further iteration is required; and multiplying the size of the representation with a complexity factor prior to carrying out the comparing step, the complexity factor reflecting the available processing power for implementing the method; and the graphical image comprises a plurality of objects at different levels of detail and the recursing step comprises iteratively recursing the plurality of stored graphical representations for each of the plurality of objects until the desired level of detail for each object is reached as determined by consideration of the respective viewing distances of the plurality of objects and the size of the graphical representations.

85

85. A method of generating a graphical image of at least part of an object provided within a hierarchically divided region of space from a plurality of stored graphical representations of the differently sized sub-regions of the space, the method comprising: determining a viewing distance between the object and a viewpoint from which the object is being viewed; and using the determined viewing distance to select, from the plurality of stored graphical representations, a graphical representation of a sub-region of the space in which at least part of the object resides, the size of the selected sub-region corresponding to the calculated viewing distance and determining the level of detail of the graphical image of at least part of the object to be generated; wherein: the using step comprises retrieving the desired representation from a database of object representations; the retrieving step comprises retrieving the desired representation from a hierarchical world database having a plurality of levels of nodes and containing objects and independent relative positional information regarding the objects, each level of nodes representing a different level of detail for objects represented within the database; and a root node of each object database is also provided in the world database as a pointer from the world database to a respective object database and the retrieving step further comprises recursing down through the levels of the world database until a pointer is reached, spawning to a root node in an object database indicated by the pointer, and continuing the incremental recursion through the levels of the object database.

86

86. A graphics system for generating a graphical image of at least part of an object provided within a hierarchically divided region of space from a plurality of stored graphical representations of the differently sized sub-regions of the space, the system comprising: a graphics engine for determining a viewing distance between the object and a viewpoint from which the object is being viewed; and a plurality of databases including various stored graphical representations of differently sized sub-regions of the space; wherein the graphics engine is arranged to use the determined viewing distance to select, from the various stored graphical representations, a graphical representation of a sub-region of the space in which at least part of the object resides, the size of the selected sub-region corresponding to the calculated viewing distance and determining the level of detail of the graphical image of at least part of the object to be generated and displayed.

87

87. A method of creating a world database having a hierarchical tree structure representing a plurality of differently sized regions of space, the method comprising: predetermining a size of the world database; storing a graphical object comprising a plurality of polygons in a hierarchical tree structure object database by: determining the size of a root node of the database by measuring the size of a bounding box formed around the object and making the root node size equivalent; establishing a depth level for placement of each polygon by comparing each polygon's largest dimension with the sizes of the different regions of space and selecting the depth level of the closest sized region; placing each polygon at its corresponding selected depth level as a leaf of the hierarchical tree structure database; and generating imposter representations at each of the plurality of differently sized regions of space of the object database which is not solely a leaf of the hierarchical tree structure object database; replicating the root node of the object database as a pointer to its object database within the world database; and placing the replicated root node at a position corresponding to the relative position of the object within the region of space bounded by the world database and in a region of space having a volume size equivalent to the relative size of the object.

88

88. A method according to claim 87 , wherein the placing step comprises establishing a depth level for placement of the root node by comparing the root node's size with the sizes of the different regions of space of the world database and selecting the depth level of the closest sized region.

89

89. A method according to claim 88 , further comprising generating imposter representations at each of the plurality of differently sized regions of space of the world database.

90

90. A method according to claim 87 , further comprising generating imposter representations at each of the plurality of differently sized regions of space of the world database.

91

91. An apparatus for storing a graphical object comprising a plurality of polygons in a hierarchical tree structure database of a plurality of differently sized regions of space, the apparatus comprising a graphics engine, wherein the graphics engine is arranged to: measure the size of a bounding box formed around the object for determining the size of a root node of the database, and to make the root node size equivalent; establish a depth level for placement of each polygon, to compare each polygon's largest dimension with the sizes of the different regions of space and to select the depth level of the closest sized region; and place each polygon at its corresponding selected depth level as a leaf of the hierarchical tree structure database.

92

92. A method of generating an approximation representation of a graphical image comprising a plurality of polygons for the purpose of imposter generation, the method comprising: creating a planar primitive for each polygon; storing the planar primitives in a store; forming a bounding structure around each pair of primitives, the dimensions of the bounding structure being arranged to indicate the degree of planar and positional conformity of the neighbouring primitives; selecting and merging together the planar primitives of the bounding structures indicating the highest degree of positional and planar conformity to form merged primitives; and updating the store with the selected merged primitives after the selection and merging step.

93

93. A system for generating an approximation representation of a graphical image comprising a plurality of polygons for the purpose of imposter generation, the system comprising a graphics engine, wherein the graphics engine is arranged to: create a planar primitive for each polygon; form a bounding structure around each pair of primitives, the dimensions of the bounding structure being arranged to indicate the degree of planar and positional conformity of the neighbouring primitives; and select and merge together the planar primitives of the bounding structures indicating the highest degree of positional and planar conformity to form merged primitives.

94

94. A system of storing a plurality of graphical objects, the system comprising: a plurality of hierarchical tree structure object databases each representing a graphical object, the size of a root node of each object database representing the size of the corresponding object; a hierarchical tree structure world database representing the world, the size of a root node of the world database representing a predetermined size of the world; and a graphics engine for populating the world database with object representations by providing a traversable link to each graphical object database for each object within the world; wherein each traversable link comprises a copy of the root node of its respective graphical object database which acts as a pointer and is stored at a position corresponding to the relative position of the object within the region of space bounded by the world database and in a region of space having a volume size equivalent to the relative size of the object.

Patent Metadata

Filing Date

Unknown

Publication Date

October 21, 2008

Inventors

Timothy John Clarke

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “COMPUTER GRAPHICS” (7439970). https://patentable.app/patents/7439970

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.