Drawing device and drawing method

A drawing device includes a distinguish unit for distinguishing figure description information in scene data of each figure in a display screen, for tiles included in the display screen; an aggregation unit for aggregating a data size of the figure description information corresponding to the tiles; an address determination unit for determining a leading address in a memory area for storing the figure description information corresponding to each of the tiles, based on an aggregation result of each tile; and a memory write unit for sequentially writing, in the memory area, the figure description information distinguished as corresponding to the tiles, starting from the leading address determined for each corresponding tile, wherein the address determination unit determines the leading addresses so that the memory areas for storing the figure description information corresponding to the tiles are arranged in a physical address space in an order of drawing the tiles.

CROSS-REFERENCE TO RELATED APPLICATION

This patent application is based upon and claims the benefit of priority under 35 USC 120 and 365(c) of PCT application JP2010/004209 filed in Japan on Jun. 24, 2010, the entire contents of which are incorporated herein by reference.

FIELD

The present disclosure is related to a drawing device and a drawing method to which a tile style architecture is applied.

BACKGROUND

As one hardware configuration for drawing three-dimensional graphics, there is a tile style architecture. In the tile style architecture, a display screen is divided into plural tiles, and three-dimensional graphics are drawn for each tile (see patent document 1).

In a drawing device using the tile style architecture, buffers corresponding to the number of tile areas are provided inside the hardware. Scene data needed for internal drawing is loaded in the buffers in units of tiles, and drawing inside the tiles is performed based on this scene data. In such a drawing device using the tile style architecture, a cache for temporarily storing graphic data may be effectively used. The scene data corresponding to each tile includes a figure index indicating a figure that is at least partially drawn inside the tile and a setting parameter pertinent to drawing the figure. In the following, the figure index and a setting value for the setting parameter included in the scene data are collectively referred to as figure description information.

The scene data in units of tiles is generated by sorting, for each of the tiles, the scene data generated by focusing on the individual tiles. The scene data in units of tiles generated by the conventional sorting process is expressed with the use of a list structure indicating, with a pointer, the storage location of figure description information pertinent to the figure included in each tile.Patent document 1: Japanese National Publication of International Patent Application No. 2003-529859

Incidentally, in the above conventional technology, the scene data in units of tiles has a list structure. Therefore, when the conventional scene data in units of tiles is stored in an external memory, the addresses of figure indices and setting value parameters indicated by the above list structure are discretely distributed in the memory space of the external memory. Thus, when performing a drawing process in each of the tiles, the drawing device reads the figure indices and setting value parameters from various storage locations in the external memory in accordance with this list structure. At this time, there is no continuity in the addresses in the external memory accessed by the drawing device, and therefore it has been difficult to efficiently access the memory, like burst access.

SUMMARY

The above objective is attained by a drawing device including a distinguish unit configured to distinguish figure description information in scene data generated by focusing on each figure allocated in a display screen, for respective tiles included in the display screen, the figure description information including a figure index indicating the figure to be allocated in the tile or a setting parameter to be applied to the figure indicated by the figure index; an aggregation unit configured to aggregate, for the respective tiles, a data size of the figure description information distinguished as corresponding to the respective tiles by the distinguish unit; an address determination unit configured to determine a leading address in a memory area for storing the figure description information corresponding to each of the respective tiles, based on an aggregation result obtained for each tile by the aggregation unit; and a memory write unit configured to sequentially write, in the memory area, the figure description information distinguished as corresponding to the respective tiles by the distinguish unit, starting from the leading address determined for a corresponding tile by the address determination unit, wherein the address determination unit determines the leading addresses in the memory areas corresponding to the respective tiles, so that the memory areas for storing the figure description information corresponding to the respective tiles are arranged in a physical address space in an order of drawing the respective tiles.

DESCRIPTION OF EMBODIMENTS

Embodiments of the present invention are described in detail with reference to drawings.

One Embodiment

FIG. 1illustrates a drawing device according to one embodiment.

In a drawing device illustrated inFIG. 1, a scene data generating process unit101generates scene data focusing on the individual figures, and stores the scene data in an external memory102. InFIG. 1, the scene data stored in the external memory102is denoted by a reference numeral105.

A scene data sort unit110reads this scene data105and performs a process of sorting the scene data105in units of tiles. The scene data in units of tiles obtained by this sorting process is stored in the external memory102. The scene data sort unit110inFIG. 1includes a reading unit111, a distinguishing unit112, a switch control unit113, an aggregate unit114, an address determining unit115, and a memory writing unit116. InFIG. 1, the scene data in units of tiles stored in the external memory102is denoted by a reference numeral106.

Furthermore, a scene data reading unit131in a rendering unit103sequentially reads the scene data in units of tiles106described above. Based on the scene data that has been read, a pixel information generating/calculating unit132generates pixel information and performs a calculating process based on texture information. On pixel data obtained by a process performed by the pixel information generating/calculating unit132, a display determining unit133performs a process of a Z test and a stencil text. By these test processes, it is determined whether each pixel is to be displayed. Pixel data determined to be displayed by the display determining unit133is stored in the external memory102via a display data output process unit134. InFIG. 1, display-use pixel data stored in the external memory102is denoted by a reference numeral107.

The scene data in units of tiles106inFIG. 1includes scene data of each tile. Furthermore, if the scene data items of the respective tiles are continuously arranged in the storage area of the external memory102, the scene data reading unit131may read the scene data items in a burst manner. For example, the scene data items of the respective tiles included in the drawing area defined by the rendering unit103may be collectively read from the external memory102and may be sequentially used for drawing processes of the respective tiles.

In the following, a description is given of a method performed by the scene data sort unit110of continuously storing the scene data items of the respective tiles in the storage area of the external memory102.

FIG. 2is for describing a sort process performed on scene data.FIG. 2(a) illustrates an example of scene data generated by the scene data generating process unit101. Furthermore,FIG. 2(b) illustrates an example of scene data sorted for each tile.

The scene data includes, as the figure description information, a setting value for the setting parameter, a figure index indicating a figure to be drawn, and a tile identifier indicating the tile in which the figure is located. The reference numerals inFIG. 2(a) “S0”, “S1” . . . correspond to the individual figure description information items included in the scene data.

In the example ofFIG. 2(a), the setting values for setting parameters A, B, and C are indicated as “setting A-k”, “setting B-k”, and “setting C-k”, respectively. These setting values are, for example, distinguished by the number k combined with the reference numerals “A”, “B”, and “C” indicating the type of setting parameter. For example, the number k indicates the order in which the setting value appears in the scene data.

In the example ofFIG. 2(a), triangle1, triangle2, etc., are indicated as figure indices. Furthermore, the tile identifiers read after the figure indices identify the tiles in which the figures indicated by the individual figure indices are located. In the example of the scene data inFIG. 2(a), tile numbers “Tile0” and “Tile1” come after the figure index “triangle1”. This indicates that “triangle1” is included in tile0and tile1. In the following, a description is given of an example where tile numbers are used as tile identifiers.

In the scene data inFIG. 2(a), a setting parameter for which a setting value is set before the figure index is applied for drawing the figure. Therefore, in triangles1and2, “setting A-0”, “setting B-0”, and “setting C-0” are commonly applied as setting parameters A, B, and C.

The respective figure description information items included in the scene data described above are sorted for each tile as illustrated inFIG. 2(b). The lengths of the scene data in units of tiles including the figure description information items sorted for each tile are different. Therefore, by estimating the length of the scene data corresponding to each of the tiles continuously arranged in the drawing area, it is possible to store these scene data items in the continuous storage areas in the external memory102.

In the scene data sort unit110illustrated inFIG. 1, the reading unit111sequentially reads the figure description information from the scene data105in the external memory102. On the figure description information that is sequentially read, the distinguishing unit112performs a distinguishing process described below, so that the figure description information items included in the scene data corresponding to each tile are distinguished. This distinguishing result is passed to the aggregate unit114or the memory writing unit116via the switch control unit113. Furthermore, the address determining unit115illustrated inFIG. 1determines the leading addresses in the storage areas of the respective scene data in units of tiles based on the aggregation result of the aggregate unit114as described below. These leading addresses in the storage areas are used when the memory writing unit116writes the scene data in the external memory102.

FIG. 3is a flowchart of a scene data sort process. In the example ofFIG. 3, before the process of writing scene data in units of tiles in the external memory102, a process of estimating the length of the scene data corresponding to each tile is performed based on the distinguishing results performed by the distinguishing unit112. In the example ofFIG. 3, the process of estimating the length of the scene data corresponds to steps301through305. Meanwhile, the process of writing the scene data in units of tiles in the external memory102corresponds to steps306through309.

In the process of estimating the length of the scene data, the distinguishing result obtained at step302regarding the figure description information read from the scene data105at step301is passed to the aggregate unit114via the switch control unit113. Furthermore, the aggregate unit114performs a process of aggregating the data lengths of the figure description information included in the scene data for each tile (step303).

This aggregating process is repeated until the reading of all scene data is completed at step304, and therefore it is possible to obtain the total sum of data lengths of the figure description information included in the scene data corresponding to each tile, as an aggregation result of the aggregate unit114. Then, based on the aggregation result, the address determining unit115determines the leading address in the storage area in the external memory102storing each scene data in units of tiles (step305). The address determining unit115may determine the respective leading address so that the scene data items corresponding to the respective tiles are continuously arranged in the storage area in the external memory102, in the order of, for example, tile numbers.

After determining the leading addresses of the storage areas of the scene data corresponding to the respective tiles as described above, the scene data105is read into the reading unit111again, in response to an instruction from the switch control unit113(step306). The distinguishing result obtained at step307for the read figure description information, which is obtained in the same manner as step302, is passed this time to the memory writing unit116via the switch control unit113. Then, in the storage area indicated by the leading address determined for each tile at step305, the figure description information indicated by the distinguishing result is sequentially written in (step308). This memory writing process is repeated until the reading of all scene data is completed at step309, and therefore it is possible to store the scene data corresponding to the respective tiles in continuous storage areas in the external memory102.

The scene data sort unit110may be implemented by simple hardware as described below.

Another Embodiment

FIG. 4illustrates the scene data sort unit110according to another embodiment. Among the elements illustrated inFIG. 4, those illustrated inFIG. 1are denoted by the same reference numerals and are not further described.

The distinguishing unit112illustrated inFIG. 4includes a sort control unit121, a figure number counter122, a figure number holding unit123, and an application identifying unit124. The application identifying unit124includes a setting value holding unit125and an addition detecting unit126.

The sort control unit121determines the type of figure description information that is read by the reading unit111from the scene data105in the external memory102. Then, according to the type of figure description information, the sort control unit121controls the operations of the figure number counter122, the figure number holding unit123, the setting value holding unit125, and the addition detecting unit126. The figure number counter122generates a figure number corresponding to the newest figure index in the scene data that has been read. The figure number holding unit123holds the figure numbers generated at the figure number counter122in association with specified tile numbers, according to instructions from the sort control unit121. The setting value holding unit125holds setting values for setting parameters passed from the sort control unit121. Furthermore, every time a new setting value is held, the setting value holding unit125holds a figure number generated at the figure number counter122corresponding to the setting parameter for which a setting value has been held. The addition detecting unit126refers to information of the figure number holding unit123and information of the setting value holding unit125according to instructions from the sort control unit121, and detects a setting parameter to be added to the figure description information of the specified tile number. Meanwhile, the figure index to be included in the figure description information of each tile may be distinguished from the scene data by the sort control unit121as described below.

Furthermore, the aggregate unit114illustrated inFIG. 4includes a size adding unit127and an aggregate value holding unit128. The aggregate value holding unit128holds aggregate values indicating the data length of figure description information included in the scene data in units of tiles, corresponding to each tile number. The size adding unit127adds the increment of the data length corresponding to the type of figure description information included in the distinguishing result received via the switch control unit113, to the aggregate value corresponding to the specified tile number.

Incidentally, it is possible to integrate the figure number holding unit123and the aggregate value holding unit128in a tile buffer129provided with a holding area corresponding to the tile number.

FIG. 5illustrates examples of a tile buffer and a setting value holding unit.FIG. 5(a) illustrates an example of the tile buffer129. In this example, an aggregate value D of the data size and a figure number NT indicating the newest figure included in the tile are held in association with a tile number indicating each tile. In the example ofFIG. 5(a), an index indicating the tile number is accompanying the aggregate value D and the figure number NT. Furthermore, inFIG. 5(b), an example of the setting value holding unit125is indicated. In this example, in association with setting parameters A, B, and C, the newest setting values A-na, B-nb, and C-nc for the respective setting parameters, and figure numbers NPA, NPB, and NPcfor which these setting values are valid, are held. In the example ofFIG. 5(b), the setting values for the respective setting parameters are distinguished by being accompanied by numbers (na, nb, nc) indicating the order in which the values appear among the setting values of the same type in the scene data. Furthermore, the number of types of setting parameters may be more or less than the number in the example.

FIGS. 6 and 7are flowcharts of a distinguishing operation performed on the figure description information. Furthermore,FIG. 8is a sequence diagram of a distinguishing process. In the example ofFIG. 8, the figure description information read by the reading unit111is accompanied by reference numerals S1, S2, S3. . . .

At step311ofFIG. 6, for example, the sort control unit121clears the count value of the figure number counter122and the contents of the tile buffer129and the setting value holding unit125. Subsequently, the sort control unit121sequentially receives the figure description information read from the scene data105in the external memory102by the reading unit111(step312). When the received figure description information is a setting value for a setting parameter (YES at step313), the sort control unit121causes the setting value holding unit125to hold this setting value and the figure number indicated by the count value of the figure number counter122at this time (step314). Meanwhile, when the determination at step313is NO, the sort control unit121determines whether the received figure description information is a figure index (step316). Then, when the determination at step316is YES, the figure number counter122updates the figure number according to an instruction from the sort control unit121(step317).

In the example ofFIG. 8, as setting values for the setting parameters A, B, and C indicated by reference numerals S1, S2, and S3are read, the respective setting values A-0, B-0, and C-0are held in the setting value holding unit125. At this time, the count value of the figure number counter122is “0”, and therefore a figure number0is held in association with these setting values. Next, as a figure index1indicated by a reference numeral S4is read, the count value of the figure number counter122is updated, and a new figure number1is generated.

In any case, at step315, it is determined whether a reading process has been completed for all scene data. When there is figure description information that has not been read (NO at step315), the sort control unit121returns to step312and receives new figure description information.

When the determination result is NO at step316described above, the sort control unit121proceeds to step321illustrated inFIG. 7. When the received figure description information is a tile number (YES at step321), the sort control unit121determines that the tile indicated by this tile number is where to allocate the figure index received beforehand. As described above, the sort control unit121recognizes the positional relationship between the figure index in the scene data and the tile number, and therefore it is possible to realize a function of an allocation identifying unit for identifying the tile where the figure indicated by the figure index is to be allocated.

In this case, the sort control unit121instructs the addition detecting unit126to detect a setting parameter to be applied to a corresponding figure, before outputting the determination result regarding the above-described figure index.

In response to this instruction, the addition detecting unit126reads the figure number NT corresponding to the above-described tile number from the figure number holding unit123of the tile buffer129(step322). Subsequently, the addition detecting unit126performs steps323through328, and detects a setting parameter among the setting parameters, having a setting value to be added to the figure description information of the tile of the above tile number.

First, the addition detecting unit126initializes a parameter number i selectively indicating one of the setting parameters (step323). Next, the addition detecting unit126reads a figure number NPi held in the setting value holding unit125corresponding to the setting parameter i of the parameter number i (step324). Then, when the figure number NPi is greater than or equal to a figure number NT corresponding to the above tile number (YES at step325), the addition detecting unit126determines that the setting parameter i is to be added to the figure description information of the tile of the tile number. In this case, the addition detecting unit126reports the distinguishing result including the above tile number and this parameter number i to the switch control unit113(step326). Subsequently, the addition detecting unit126determines whether the process has been performed for all setting parameters (step327). When there is a setting parameter that has not been processed (NO at step327), the addition detecting unit126updates the parameter number i (step328), returns to step324, and performs a process for the next setting parameter. In the above description, a parameter number i is used for identifying the individual setting parameters; however, a setting parameter name may be used as an identifier of the setting parameter.

As described above, after the process has ended for all setting parameters (YES at step328), the sort control unit121reports a distinguishing result including the above tile number and the newest figure index to the switch control unit113(step329).

In the example ofFIG. 8, at the time point when a tile number0indicated by reference numeral S5is read, a figure number0is held as a figure number NP corresponding to each setting parameter in the setting value holding unit125. At this stage, in the figure number holding unit123, a figure number0is held as a figure number NT corresponding to the tile0. In this case, the result of step325is YES for setting parameters A, B, and C. Therefore, the addition detecting unit126detects that the setting parameters A, B, and C are figure description information to be added to the scene data of the tile0. As described above, after completing the process of adding the setting parameters to be applied to the figure to the scene data of tile0, the sort control unit121performs a process of adding the newest figure index1to the scene data of tile0. In the example ofFIG. 8, the determination result including the tile number0and setting parameters A, B, and C, and the determination result including the tile number0and the figure index1are collectively illustrated.

Subsequently, in response to the instruction from the sort control unit121, the figure number corresponding to the tile number of the figure number holding unit123in the tile buffer129is updated (step330). Then, the process proceeds to step315. When there is figure description information that has not been read (NO at step315), the process returns to step312and a process is performed on new figure description information.

In the example ofFIG. 8, after the determination result for tile number0is output, the figure number corresponding to tile0of the figure number holding unit is updated to figure number1. Furthermore, as tile number1indicated by reference numeral S6is read, the same determination process as that of the process for tile number0described above is performed. Furthermore, as the figure description information to be added to the scene data of tile1, setting parameters A, B, and C and figure index1are detected, and a determination result corresponding to these detected elements is output. Then, after outputting this determination result, the figure number corresponding to tile number1is also updated to figure number1. Similarly, a process of determining a corresponding tile is also performed for the figure index2indicated by reference numeral S7that is subsequently read.

The distinguishing unit112performs the above process on the figure description information read by the reading unit111, and therefore it is possible to classify the individual figure description information items included in the scene data for each tile.

FIG. 9is a flowchart of an operation of the switch control unit. Furthermore,FIG. 10is a flowchart of an aggregation operation of the data size. Furthermore,FIG. 11is a sequence diagram describing an aggregation process of the data size.

Every time a distinguishing result is received from the distinguishing unit112(step331inFIG. 9), the switch control unit113determines whether the data size is being aggregated (step332). While the process of estimating the length of the scene data at steps301through305ofFIG. 3is being performed, the switch control unit113determines that the data size is being aggregated (YES at step332). At this time, the switch control unit113directly passes the distinguishing result received from the distinguishing unit to the aggregate unit114, and ends the process regarding this distinguishing result.

When performing the process of estimating the length of the scene data described above, the aggregate unit114performs the reading process by the reading unit111and the distinguishing process by the distinguishing unit112in parallel.

As indicated at step341ofFIG. 10, the aggregate unit114first clears the contents of the aggregate value holding unit128in the tile buffer129to initialize the contents. Then, every time a distinguishing result is received via the switch control unit113(step342), the aggregate unit114determines whether the tile number appearing for the first time is included in the distinguishing result (step343). When the tile number appearing for the first time is included in the distinguishing result (YES at step343), the size adding unit127adds the data length Lts of the tile start command in the aggregate value holding unit128in association with this tile number appearing for the first time (step344).

Meanwhile, when the result of step345is NO, the size adding unit127determines whether the above distinguishing result indicates adding a figure index (step347). For example, when a figure index is included in the distinguishing result (YES at step347), the size adding unit127adds the data length Lin of the figure index to the aggregate value of the tile number included in the distinguishing result (step348).

The example ofFIG. 11collectively indicates the process performed by the size adding unit127based on the distinguishing result obtained by the distinguishing unit112, as the tile number0indicated by reference numeral S5is read. At this time, the size adding unit127first detects the tile0that appears for the first time, and as this is detected, the size adding unit127instructs the aggregate value holding unit128to perform addition of the aggregate value of the tile start command. Next, the size adding unit127instructs the addition of the setting value and the addition of the figure index to the setting parameter indicated by the distinguishing result. Accordingly, the total sum of the data length Lts of the tile start command, the data length Lpv×3 of three setting values, and the data length Lin of the figure index is added to the aggregate value D0corresponding to the tile number0. Then, this addition result becomes the new aggregate value D0. Similarly, the aggregate value D1of tile1is updated.

Subsequently, the size adding unit127determines whether the reading of the scene data by the reading unit111has been completed (step349ofFIG. 10). When there is figure description information that has not been read (NO at step349), the size adding unit127returns to step342and performs an aggregation process based on a new distinguishing result. The order of performing the process for the setting parameter at steps345and346and the process for the figure index at steps347and348may be switched.

The process of steps342through349described above is repeatedly performed on the distinguishing results corresponding to all figure description information included in the scene data. Then, when the aggregation process is completed (YES at step349), the aggregate unit114outputs the aggregate values held in association with the tile numbers in the aggregate value holding unit128, as estimation results of lengths of scene data corresponding to the respective tiles, and ends the process.

Based on the estimation result obtained as above, the address determining unit115determines the leading address in the storage area of the external memory102used for storing the scene data corresponding to the respective tiles, as described below.

FIG. 12is a flowchart of operations by the address determining unit. In the example ofFIG. 12, the leading addresses of the storage areas corresponding to the respective tiles are determined so that the scene data items of the respective tiles are continuously stored in the storage areas of the external memory102in which a predetermined base address is the leading address.

First, the address determining unit115initializes the tile number j (step351), and sets the above base address as the leading address ADs(j) of the tile number j (step352). Next, the address determining unit115reads an aggregate value DJof the data size held in the aggregate value holding unit128in association with the tile number j (step353). Then, the address determining unit115adds the read aggregate value Djto the leading address ADs(j) of the tile number j, and calculates a leading address ADs(j+1) of tile number j+1 (step354). Subsequently, the address determining unit115updates the tile number j (step355), and determines whether the tile indicated by this tile number j is the last tile (step356). When the result of step356is NO, the address determining unit115returns to step353and performs a calculation process on the leading address corresponding to the tile indicated by the updated tile number j.

As described above, when the process of calculating the leading addresses for all tiles is ended, the result of step356is YES and the address determining unit115ends the process.

Next, a description is given of a process of writing the figure description information distinguished for each tile by the distinguishing unit112in the external memory102, based on the leading address determined for each tile as described above. This process corresponds to steps306through309in the flowchart ofFIG. 3.

FIG. 13is a flowchart of an operation performed by the memory writing unit. In the following description, reference is also made to the flowchart of the operation performed by the switch control unit ofFIG. 9. Furthermore,FIG. 14is a diagram for describing a memory writing operation.

The figure description information that is read for the second time by the reading unit111is distinguished again for each tile by the distinguishing unit112, and a distinguishing result indicating the tile to which each figure description information item corresponds is generated. In the process of writing scene data in units of tiles in the external memory102, when the result of step332inFIG. 9is NO, the switch control unit113performs the following result with regard to the distinguishing result received at step331.

First, when the tile number included in the distinguishing result appears for the first time (YES at step334), the switch control unit113passes a tile start command to the memory writing unit116(step335). Furthermore, when a figure index is included in the distinguishing result (YES at step336), the switch control unit113directly passes a distinguishing result including a figure index and a tile number to the memory writing unit116(step337). Meanwhile, when a parameter number indicating a setting parameter is included in the distinguishing result (YES at step338), the switch control unit113performs the process of step339. At this time, the switch control unit113may read the setting value held in the setting value holding unit125in association with the setting parameter indicated by the parameter number, add this setting value to the distinguishing result, and pass the distinguishing result to the memory writing unit116.

As described above, according to the distinguishing result by the distinguishing unit112, it is possible to pass, to the memory writing unit116, the figure description information to be written in the external memory as part of the scene data of each tile.

Before the process of writing the scene data of each tile, first, the memory writing unit116acquires the leading address of each tile from the address determining unit115(step361ofFIG. 13). Next, the memory writing unit116sets the acquired leading address ADs(j) as the writing address ADw(j) of each tile indicated by tile numbers j (j=0, 1, . . . ) (step352).

Subsequently, every time figure description information and a tile number X corresponding to the distinguishing result are received via the switch control unit113(step363), the memory writing unit116writes the figure description information in the writing address ADw(X) corresponding to tile number X (step364). Next, the memory writing unit116adds the data length M of the figure description information written in at step364to the writing address ADw(X), and updates the writing address ADw(X) (step366). Then, when there is scene data that has not yet been read by the reading unit111(step366), the memory writing unit116returns to step363, and performs a writing process for a new distinguishing result.

In the example ofFIG. 14, as the scene data is read, the figure description information to be part of the scene data corresponding each tile is distinguished, and based on the distinguishing result, the switch control unit113and the memory writing unit116writes the figure description information in the external memory102. For example, according to the distinguishing result obtained by reading the tile number0indicated by a reference numeral S5, first, a tile start command is written in at the top of the storage area for tile0indicated by tile number0. Then, values A-0, B-0, and C-0set for setting parameters A, B, and C, and the figure index1are written in the external memory102.

Similarly, according to the distinguishing result obtained by reading the tile number1indicated by a reference numeral S6, first, a tile start command is written in at the top of the storage area for tile0indicated by tile number1. Then, values A-0, B-0, and C-0set for setting parameters A, B, and C, and the figure index1are written in the external memory102.

In the above memory writing process, regardless of the order of reading by the reading unit111, the figure description information included in the scene data is stored in the storage area of the tile to which the figure description information corresponds. For example, inFIG. 14, according to the distinguishing result obtained by reading the tile number0indicated by a reference numeral S8, the memory writing unit116performs a process of writing the figure index2. At this time, the figure index2is written after the figure index1described above, in the storage area of the tile0corresponding to tile number0.

As described above, the scene data corresponding to each tile may be continuously stored in the storage area of the external memory102. It is possible to burst access, by each tile, the scene data in units of tiles stored in continuous areas as described above. That is to say, when performing a rendering process on each tile, the rendering unit103illustrated inFIG. 1may collectively acquire the scene data corresponding to the individual tiles. Accordingly, the process of accessing the external memory102may be efficiently performed.

Incidentally, the process of sorting the scene data and the process of writing the scene data in units of tiles described above may be executed by dividing the display image into a number of sort areas.

FIG. 15illustrates examples of sort areas.FIG. 15(a) illustrates an example where plural rectangular sort areas are set in the display screen. As illustrated inFIG. 15(b), an area including tiles starting from the tile number0at the top left to the tile number255in the raster order may be set as a single sort area in the display area.

Furthermore,FIG. 16illustrates a distinguishing process by each sort area. In the flowchart ofFIG. 16, when the result of step321is YES in the flowchart ofFIG. 7, it is determined whether the tile indicated by the tile number is included in the sort area (step371). The process of steps372and373correspond to the process of steps322through328inFIG. 7.