WO2018138855A1 - 画像描画装置、画像描画方法、及び画像描画プログラム - Google Patents
画像描画装置、画像描画方法、及び画像描画プログラム Download PDFInfo
- Publication number
 - WO2018138855A1 WO2018138855A1 PCT/JP2017/002862 JP2017002862W WO2018138855A1 WO 2018138855 A1 WO2018138855 A1 WO 2018138855A1 JP 2017002862 W JP2017002862 W JP 2017002862W WO 2018138855 A1 WO2018138855 A1 WO 2018138855A1
 - Authority
 - WO
 - WIPO (PCT)
 - Prior art keywords
 - data
 - command
 - processor
 - groups
 - drawing command
 - Prior art date
 - Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
 - Ceased
 
Links
Images
Classifications
- 
        
- G—PHYSICS
 - G06—COMPUTING OR CALCULATING; COUNTING
 - G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
 - G06T15/00—3D [Three Dimensional] image rendering
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING OR CALCULATING; COUNTING
 - G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
 - G06T11/00—2D [Two Dimensional] image generation
 - G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING OR CALCULATING; COUNTING
 - G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
 - G06T11/00—2D [Two Dimensional] image generation
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING OR CALCULATING; COUNTING
 - G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
 - G06T11/00—2D [Two Dimensional] image generation
 - G06T11/001—Texturing; Colouring; Generation of texture or colour
 
 - 
        
- G—PHYSICS
 - G06—COMPUTING OR CALCULATING; COUNTING
 - G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
 - G06T15/00—3D [Three Dimensional] image rendering
 - G06T15/005—General purpose rendering architectures
 
 
Definitions
- an image drawing apparatus and an image which cause a second processor to execute processing according to a drawing command included in the drawing command group by causing the first processor to output drawing data and a drawing command group to the second processor.
 - the present invention relates to a drawing method and an image drawing program executed by a first processor of the image drawing apparatus.
 - a CPU Central Processing Unit
 - a GPU Graphic Processing Unit
 - the GPU executes a plurality of pipeline processes in parallel in order to efficiently process a large amount of data. For this reason, during the rendering process by the GPU, when a change in the rendering state in the GPU occurs, such as switching the use of texture or changing the color of the polygon, a plurality of pipeline processes are interrupted, and the processing in the GPU Efficiency is reduced.
 - Patent Document 1 proposes a method of shortening the drawing time by removing unnecessary drawing commands in a drawing process using a computer.
 - Patent Document 1 can reduce the drawing time for general purposes, but does not consider the characteristics of hardware (H / W), and has recently become a bottleneck of GPU. Therefore, it is impossible to solve the decrease in processing efficiency due to the interruption of the pipeline processing.
 - the present invention has been made to solve the above-described problem, and an object of the present invention is to provide an image drawing apparatus, an image drawing method, and an image drawing program capable of improving the processing efficiency in the drawing processing of the second processor. Is to provide.
 - An image drawing apparatus includes a plurality of first drawing data, a plurality of first drawing command groups including a plurality of first drawing commands, a plurality of second drawing data, A first processor that generates a plurality of second drawing instruction groups including a plurality of second drawing instructions; the plurality of second drawing data output from the first processor; And a second processor that performs a drawing process based on the drawing command group, wherein the first processor changes an arrangement order indicating an execution order of the plurality of first drawing command groups, and A plurality of third drawing instruction groups are deleted by deleting the first drawing instructions that are no longer required to be executed by changing the arrangement order of the plurality of first drawing instruction groups in the first drawing instructions.
 - a drawing command reorder unit for generating a plurality of third drawing command groups By combining the first drawing data corresponding to the third drawing command that can be executed by the second processor in the same drawing state among the plurality of third drawing commands, The plurality of second drawing data corresponding to the plurality of second drawing data by generating the second drawing data and deleting the third drawing command that is no longer necessary due to the combination of the first drawing data
 - FIG. 1 is a functional block diagram showing a schematic configuration of an image drawing device 1 according to an embodiment of the present invention.
 - FIG. 2 is a block diagram schematically showing a hardware configuration of the image drawing apparatus 1 according to the present embodiment.
 - the image drawing apparatus 1 includes a first processor 10 that is a CPU, a first storage device 20 that is a main memory, a second processor 30 that is a GPU, and a VRAM. And a second storage device 40 that is (Video Random Access Memory).
 - the image drawing apparatus 1 may include a display device (display) 50 such as a liquid crystal display device that displays an image.
 - the image drawing apparatus 1 is an apparatus that can perform the image drawing method according to the present embodiment.
 - the first processor 10 is means that can execute the image drawing program according to the present embodiment.
 - the image drawing program according to the present embodiment is stored in, for example, an external storage device (not shown), and is read into the first storage device 20 and executed.
 - the first processor 10 includes a plurality of drawing data (first drawing data) V0 (T0), V1, V2 (T1), V3, and V4 (shown in FIG. 4 described later). And a plurality of drawing data (second drawing commands) including a plurality of drawing commands (first drawing commands) F0 to F4 (shown in FIG. 5 described later) including a plurality of drawing commands (first drawing commands).
 - Group) G01, G23, G4 (shown in FIG. 11 described later) are generated, and a plurality of second drawing commands are executed in order.
 - the second processor 30 includes a drawing unit 31, and a plurality of second drawing data V 0 ′ (T 0 ′), V 1 ′, and V 3 (output from the first processor 10.
 - a drawing process based on a plurality of second drawing command groups G01, G23, and G4 (shown in FIG. 11) is performed.
 - the drawing unit 31 is realized by the second processor 30 executing a predetermined program.
 - the second processor 30 can store the result of the drawing process in the second storage device 40. Further, the second processor 30 provides the result of the drawing process to the display device 50, and the display device 50 displays an image (shown in FIG. 3 described later) on the display screen 51 based on the result of the drawing process. Can do.
 - the first processor 10 includes an application execution unit 11, a drawing command reorder unit 12, a drawing command coupling unit 13, and a drawing command execution unit 14.
 - the application execution unit 11, the drawing command reorder unit 12, the drawing command combination unit 13, and the drawing command execution unit 14 are realized by the first processor 10 executing the image processing program.
 - the application execution unit 11 has a function of executing an arbitrary application. For example, based on input data input from the outside, the plurality of first drawing data V0 (T0), V1, V2 (T1), V3, V4 (shown in FIG. 4) and a plurality of first drawing command groups F0 to F4 (shown in FIG. 5) including a plurality of first drawing commands are generated, and the first drawing data V0 (T0) is generated. ), V1, V2 (T1), V3, V4 and the first drawing command group F0 to F4 are temporarily stored in the first storage device 20.
 - the drawing command reorder unit 12 executes a plurality of first drawing command groups F0 to F4 (shown in FIG. 5) among the plurality of first drawing commands temporarily stored in the first storage device 20.
 - a plurality of drawing command groups (third drawing command group) (shown in FIGS. 6 and 7) is deleted by deleting the first drawing commands that are no longer required to be executed by changing the arrangement order indicating the order.
 - a plurality of third drawing command groups are temporarily stored in the first storage device 20 (shown in FIG. 8).
 - the drawing command combining unit 13 can be executed by the second processor 30 in the same drawing state among a plurality of third drawing commands included in a plurality of third drawing command groups (shown in FIG. 8).
 - a plurality of second drawing data V0 ′ (T0 ′), V1 ′, and V3 are generated by combining the first drawing data corresponding to the third drawing command with each other.
 - a plurality of second drawing command groups corresponding to a plurality of second drawing data V0 ′ (T0 ′), V1 ′, and V3 by deleting a third drawing command that becomes unnecessary due to the combination of one drawing data G01, G23, G4 (shown in FIG. 11) are generated, and the second drawing instruction group G01, G23, G4 and the second drawing data V0 ′ (T0 ′), V1 ′, V3 are stored in the first memory.
 - the device 20 is temporarily stored.
 - the drawing command execution unit 14 stores the second drawing command group G01, G23, G4 (shown in FIG. 11) and the second drawing data V0 ′ (T0 ′), V1 ′, V3 (from the first storage device 20. (Shown in FIG. 12) is output to the second processor 30.
 - the drawing command execution unit 14 executes each of the plurality of second drawing commands in the order of arrangement of the plurality of second drawing commands.
 - FIG. 3 is a diagram showing an example of polygons P0 to P4 included in an image displayed on the display screen 51 of the display device 50.
 - FIG. 4 is a diagram illustrating an example of a plurality of first drawing data V0 (T0), V1, V2 (T1), V3, and V4 provided by the application execution unit 11.
 - FIG. 5 is a diagram illustrating an example of a plurality of first drawing command groups F0 to F4 provided by the application execution unit 11.
 - FIG. 4 shows five pieces of first drawing data V0 (T0), V1, V2 (T1), V3, and V4.
 - FIG. 5 shows 20 first drawing commands included in the five first drawing command groups F0 to F4.
 - the application execution unit 11 has a function of executing an application for displaying an image on the display screen 51.
 - the application execution unit 11 stores a plurality of drawing command groups F0 to F4 (shown in FIG. 5) including a plurality of first drawing commands and a plurality of drawing data (shown in FIG. 4) in the first storage device. 20 is output.
 - the drawing data includes at least the coordinates (vertex coordinates) of each vertex of the polygon.
 - the drawing data can include various types of information such as texture data indicating texture, information indicating the material of the polygon, and light source information regarding a light source that illuminates the polygon.
 - texture data indicating texture
 - information indicating the material of the polygon indicating the material of the polygon
 - light source information regarding a light source that illuminates the polygon.
 - drawing data includes vertex row data including vertex coordinates of polygons and texture data.
 - the vertex string data includes texture coordinates representing the relationship between the vertex of the polygon and the mapping of the texture in addition to the vertex coordinates of the polygon.
 - the drawing command is a command for the second processor 30 generated by the first processor 10 and includes at least a command for changing the drawing state of the second processor 30 and a drawing start command.
 - Information indicating the drawing state in the second processor 30 includes (a) information indicating the presence / absence of texture mapping, (b) reference information for designating a texture to be mapped when mapping a texture, and (c) When the texture is not mapped, there is reference information for designating the polygon color and polygon vertex string data.
 - the texture T0 is mapped to the polygon P0
 - the texture T1 is mapped to the polygon P2
 - the polygon P1 is painted with the color C0
 - the polygon P4 is painted with the color C0
 - the polygon P3 is filled with the color C1.
 - the vertex column data V0 and V2 are shown as a column of vertex coordinates and texture coordinates
 - the vertex column data V1, V3 and V4 are shown as a column of vertex coordinates.
 - F0 to F4 represent a first drawing command group for drawing the polygons P0 to P4, respectively.
 - Each of the plurality of first drawing instruction groups F0 to F4 includes a plurality of first drawing instructions.
 - each of the plurality of first drawing command groups F0 to F4 includes one or more drawing state change commands and a drawing start command as the first drawing commands.
 - FIG. 6 is a flowchart showing an operation example of the drawing command reorder unit 12.
 - FIG. 7 is a diagram illustrating an operation example (deletion of an unnecessary first drawing command) of the drawing command reorder unit 12.
 - FIG. 8 is a diagram illustrating an example of a plurality of third drawing command groups G0 to G4 provided by the drawing command reorder unit 12.
 - the drawing command reorder unit 12 changes the arrangement order of the plurality of first drawing command groups F0 to F4 so as to reduce the number of drawing commands (preferably to a minimum) within a range where there is no change in the drawing result. To do.
 - the first drawing command groups F0, F2, F1, F4, and F3 after the arrangement order is changed are referred to as third drawing command groups G0 to G4, respectively.
 - the drawing command included in the command group G0 to G4 is referred to as a third drawing command. This rearrangement is executed by the following process, for example.
 - step ST123 the drawing command reorder unit 12 refers to the first drawing command group Fi and the first drawing command group Fj corresponding to the variable i and the variable j, and uses the first drawing command group Fj as the first drawing command.
 - the drawing result that is, the image displayed on the display screen 51
 - drawing command reordering unit 12 advances the process to step ST124, and if the drawing result changes (NO in step ST123), the process returns to ST122. .
 - step ST124 the drawing command reorder unit 12 moves the first drawing command group Fj immediately after the first drawing command group Fi, so that the number of first drawing commands in the first drawing command group Fj ( Strictly speaking, it is confirmed whether or not the number of the first drawing commands accompanying the change of the drawing state in the second processor 30 can be reduced. If the number of first drawing commands can be reduced (YES in step ST124), the drawing command reorder unit 12 advances the process to step ST125.
 - the first drawing command included in the first drawing command group Fj is set after the processing by the first drawing command in the first drawing command group Fi. If the drawing state to be attempted is already set, it is determined that the first drawing command is an unnecessary drawing command and can be reduced. For example, as shown in FIG. 7, by moving the first drawing command group F2 immediately after the first drawing command group F0, the first drawing command “texture validation” in the first drawing command group F2 Can be deleted. Further, for example, as shown in FIG. 7, the first drawing command group F4 is moved immediately after the first drawing command group F1, so that the first drawing command “texture” in the first drawing command group F4 is moved. “Invalidation” and “color C0 setting” can be deleted. If the number of first drawing commands cannot be reduced (NO in step ST124), the drawing command reorder unit 12 returns the process to step ST122.
 - step ST125 the drawing command reordering unit 12 moves the first drawing command group Fj behind the first drawing command group Fi, thereby changing the arrangement order of the first drawing command group and reducing the order.
 - the first drawing command is deleted, and then the process returns to step ST122.
 - FIG. 8 shows a result of applying the processing of the drawing command reorder unit 12 to the first drawing command group F0 to F4 of FIG.
 - the drawing command groups for drawing the polygons P0, P2, P1, P4, and P3 are defined as third drawing command groups G0 to G4, respectively.
 - FIG. 9 is a flowchart illustrating an operation example of the drawing command combining unit 13.
 - FIG. 10 is a diagram illustrating an operation example (combination of third drawing commands) of the drawing command combining unit 13.
 - FIG. 11 is a diagram illustrating an example of a plurality of second drawing command groups G01, G23, and G4 provided by the drawing command combining unit 13.
 - FIG. 12 is a diagram illustrating an example of a plurality of second drawing data V0 ′ (T0 ′), V1 ′, and V3 provided by the drawing command combining unit 13.
 - the drawing command combining unit 13 reduces the number of third drawing commands (preferably to a minimum), and a plurality of first drawing data V0 (T0), V1, V2 (T1), V3, V4. And a plurality of third drawing commands are combined. This can be executed by the following processing, for example.
 - step ST133 the drawing command combining unit 13 refers to the third drawing command group Gi and the third drawing command group Gj corresponding to the variable i and the variable j, and performs the third drawing command group Gi and the third drawing command. Check whether both instruction groups Gj use textures. If both use textures (YES in step ST133), drawing command combining unit 13 advances the process to step ST134, and otherwise (NO in step ST133) advances the process to step ST135.
 - step ST134 the drawing command combining unit 13 uses two textures (two texture images) used in the third drawing command group Gi and the third drawing command group Gj as shown in FIGS.
 - T0 and T1 one texture (one texture image) T0 ′ corresponding to the textures T0 and T1 is generated.
 - the drawing command combining unit 13 converts the texture setting commands included in the third drawing command group Gi shown in FIG. 10 into the second drawing data V0 ′ (T0 ′), V1 ′, As in V3, the texture image is changed to indicate the combined texture image, and the texture setting command “texture T1 setting” included in the third drawing command group Gj shown in FIG. 10 is deleted.
 - the texture coordinates included in the vertex sequence data indicated by the vertex drawing setting commands included in the third drawing command group Gi and the third drawing command group Gj are updated.
 - the texture image Ti indicated by the texture setting instruction in the third drawing instruction group Gi and the texture image Tj indicated by the texture setting instruction in the third drawing instruction group Gj are combined side by side
 - the coordinates of the pixels of the texture image Tj in this image are shifted by the number of pixels corresponding to the width of the texture image Ti.
 - the number of pixels corresponding to the width of the texture image Ti is added to the x coordinate (the horizontal coordinate axis in FIG. 12).
 - the drawing command combining unit 13 advances the process to step ST137.
 - step ST135 the drawing command combining unit 13 checks whether only one of the third drawing command group Gi and the third drawing command group Gj uses the texture. If neither the third drawing command group Gi nor the third drawing command group Gj uses the texture (NO in step ST135), the drawing command combining unit 13 advances the process to step ST136. When only one of the third drawing command group Gi and the third drawing command group Gj uses the texture (YES in step ST135), the drawing command combining unit 13 exits the loop processing ST132 and performs processing. To step ST131.
 - step ST136 the drawing command combining unit 13 draws a polygon in which the third drawing command group Gj does not include a color designation command, that is, the third drawing command group Gi and the third drawing command group Gj have the same color. Check if you want to.
 - the drawing command combining unit 13 advances the process to step ST137, and when drawing a polygon with a different color (NO in step ST136), loop processing is performed. After exiting ST132, the process returns to step ST131.
 - step ST137 for example, as illustrated in FIG. 10, the drawing command combining unit 13 combines the vertex drawing data indicated by the vertex drawing setting commands included in the third drawing command group Gi and the third drawing command group Gj. Then, by updating the vertex sequence setting command included in the third rendering command group Gi so as to indicate the vertex sequence data after the combination, the third rendering commands are combined (the number of the third rendering commands is reduced). ) Further, the drawing command combining unit 13 deletes the vertex sequence setting command held by the third drawing command group Gj (shaded vertex sequence setting command in FIG. 10). Furthermore, the drawing command combining unit 13 deletes the third drawing command group Gj (third drawing command groups G1 and G4 in FIG. 10) that is only the drawing start command, and returns the process to step ST132.
 - the drawing command combining unit 13 deletes the vertex drawing data indicated by the vertex drawing setting commands included in the third drawing command group Gi and the third drawing command group Gj. Then, by updating the vertex sequence setting command included in the third rendering command group Gi so as
 - the third drawing command groups G0 to G4 in FIG. 8 and the first drawing data V0 (T0), V1, V2 (T1), V3, and V4 in FIG. 11 is converted into second drawing command groups G01, G23, G4 shown in FIG. 11 and second drawing data V0 ′ (T0 ′), V1 ′, V3 shown in FIG.
 - Drawing command execution unit 14 transmits the second drawing data V0 ′ (T0 ′), V1 ′, and V3 recorded in the first storage device 20 to the drawing unit 31, and the second drawing command group G01 and G23. , G4, the second drawing command included in sequence is executed.
 - Drawing unit 31 uses the second storage device according to the second drawing command (FIG. 11) and the second drawing data V0 ′ (T0 ′), V1 ′, and V3 (FIG. 12) received from the drawing command execution unit 14.
 - Draw in 40 The drawing unit 31 draws a drawing image (graphics) in a frame buffer in the second storage device 40, for example. Then, after the drawing is completed, the drawing result is output to the display device 50. This process is the same as the drawing process in a general GPU.
 - Display device 50 displays an image based on the image data received from the drawing unit 31 on the display screen 51 (for example, displays a graphic image corresponding to the drawing image drawn in the frame buffer).
 - the display device 50 is not an essential component of the image drawing device 1 according to the present embodiment, and may be replaced with another image output unit such as an image data transmission device, a printer, or a projector.
 - the first processor 10 can reduce the number of times the drawing state is changed in the second processor 30. Since V0 ′ (T0 ′), V1 ′, V3 and the second drawing command group G01, G23, G4 are output to the second processor 30, the drawing efficiency can be improved. As a result, the image drawing apparatus 1 The drawing speed can be improved.
 - a two-dimensional polygon is used as the drawing data constituting the drawing content, and the two-dimensional polygon is specified by the vertex row data and the texture data or the vertex row data and the color data.
 - the polygon as the drawing data may hold other information (for example, information indicating a normal line, light reflection information, etc.) that can be handled by the GPU which is the second processor 30.
 - the GPU as the second processor 30 is an image drawing apparatus that sets the drawing state and handles the drawing data in accordance with the drawing state change command output from the CPU as the first processor 10.
 - Arbitrary data other than polygons can be used as drawing data constituting the drawing content.
 - drawing command reorder unit 12 gives priority to combining more drawing commands and drawing data in the drawing command combining unit 13 without giving priority to reducing the drawing state change command in the drawing command reorder unit 12.
 - the arrangement order of the drawing command group may be changed.
 - the drawing command combining unit 13 employs an algorithm that generates two texture images T0 ′ by combining two texture images side by side as shown in FIG. Any other algorithm (for example, an algorithm for solving a two-dimensional bin packing problem) may be used for image combination (generation of texture atlas).
 - a process for displaying an image of one frame that is, a drawing process for one time is described.
 - a drawing process for a plurality of frames a drawing process for a plurality of frames is performed.
 - the amount of information processing in the drawing command combining unit 13 may be reduced by storing the texture data and the vertex string data generated by the above and reusing them in the drawing processing for the next frame and thereafter.
 - the recorded combined data may be reused. In this case, the amount of information processing in the first processor 10 can be reduced.
 - the drawing data is recorded in the first storage device 20, and the drawing command execution unit 14 transmits the necessary drawing data to the drawing unit 31, but the drawing unit 31 receives part of the received data.
 - the entire data may be recorded in the second storage device 40, and the recorded data may be used when the same data is used in subsequent drawing processing. In this case, the amount of information processing in the second processor 30 can be reduced.
 - the drawing data is recorded in the first storage device 20, and the drawing command execution unit 14 transmits the necessary second drawing data V0 ′ (T0 ′), V1 ′, V3 to the drawing unit 31.
 - the second drawing data may be output from the first processor 10 to the second processor 30 at an arbitrary timing. For example, when the drawing command combining unit 13 determines that a part of the drawing data is not combined in the subsequent processing, a part of the drawing data is transferred to the drawing unit 31 before all the processing in the drawing command combining unit 13 is completed. You may start sending to. In this case, the drawing speed in the image drawing apparatus 1 can be improved.
 - the image drawing apparatus and the image processing method according to this embodiment include various types of information processing including a CPU as the first processor 10 and a GPU as the second processor 30 that receives drawing data and drawing command groups from the CPU. It is applicable to a device (for example, a computer).
 
Landscapes
- Engineering & Computer Science (AREA)
 - Theoretical Computer Science (AREA)
 - Physics & Mathematics (AREA)
 - General Physics & Mathematics (AREA)
 - Computer Graphics (AREA)
 - Image Generation (AREA)
 - Software Systems (AREA)
 - Controls And Circuits For Display Device (AREA)
 - General Engineering & Computer Science (AREA)
 - Advance Control (AREA)
 - Executing Machine-Instructions (AREA)
 
Abstract
Description
図1は、本発明の実施の形態に係る画像描画装置1の概略構成を示す機能ブロック図である。図2は、本実施の形態に係る画像描画装置1のハードウェア構成を概略的に示すブロック図である。図1及び図2に示されるように、画像描画装置1は、CPUである第1のプロセッサ10と、メインメモリである第1の記憶装置20と、GPUである第2のプロセッサ30と、VRAM(Video Random Access Memory)である第2の記憶装置40とを備えている。また、画像描画装置1は、画像を表示する液晶表示装置などの表示装置(ディスプレイ)50を備えてもよい。
図3は、表示装置50の表示画面51に表示させる画像に含まれるポリゴンP0~P4の例を示す図である。図4は、アプリケーション実行部11によって提供される複数の第1の描画データV0(T0),V1,V2(T1),V3,V4の例を示す図である。図5は、アプリケーション実行部11によって提供される複数の第1の描画命令群F0~F4の例を示す図である。
図6は、描画命令リオーダ部12の動作例を示すフローチャートである。図7は、描画命令リオーダ部12の動作例(不要な第1の描画命令の削除)を示す図である。図8は、描画命令リオーダ部12によって提供される複数の第3の描画命令群G0~G4の例を示す図である。
図9は、描画命令結合部13の動作例を示すフローチャートである。図10は、描画命令結合部13の動作例(第3の描画命令の結合)を示す図である。図11は、描画命令結合部13によって提供される複数の第2の描画命令群G01,G23,G4の例を示す図である。図12は、描画命令結合部13によって提供される複数の第2の描画データV0′(T0′),V1′,V3の例を示す図である。
描画命令実行部14は、第1の記憶装置20に記録された第2の描画データV0′(T0′),V1′,V3を描画部31に送信しながら第2の描画命令群G01,G23,G4に含まれる第2の描画命令を順に実行する。
描画部31は、描画命令実行部14から受け取った第2の描画命令(図11)と第2の描画データV0′(T0′),V1′,V3(図12)に従い、第2の記憶装置40内に描画する。描画部31は、例えば、第2の記憶装置40内のフレームバッファに描画イメージ(グラフィックス)を描画する。そして、描画完了後、描画結果を表示装置50へ出力する。この処理は、一般的なGPUにおける描画処理と同様である。
表示装置50は、描画部31から受け取った画像データに基づく画像を表示画面51に表示する(例えば、フレームバッファ内に描画された描画イメージに対応するグラフィック画像を表示する)。表示装置50は、本実施の形態に係る画像描画装置1に必須の構成ではなく、画像データの送信装置、プリンタ、又はプロジェクタなどのような、他の画像出力手段に置き替えられてもよい。
本実施の形態に係る画像描画装置1及び画像描画方法によれば、第1のプロセッサ10は、第2のプロセッサ30における描画状態の変更回数を減らすことができる第2の描画データV0′(T0′),V1′,V3及び第2の描画命令群G01,G23,G4を第2のプロセッサ30に出力するので、描画効率を向上させることができ、その結果、画像描画装置1における描画速度を向上させることができる。
上記説明では、描画内容を構成する描画データとして2次元のポリゴンを用い、2次元のポリゴンを、頂点列データとテクスチャデータ又は頂点列データと色データで特定している。しかし、描画データとしてのポリゴンは、第2のプロセッサ30であるGPUが扱うことができる他の情報(例えば、法線を示す情報、光の反射情報など)を保持してもよい。また、第2のプロセッサ30としてのGPUが、第1のプロセッサ10としてのCPUから出力される描画状態変更命令に応じて、描画状態を設定して描画データを扱う画像描画装置の場合には、描画内容を構成する描画データとして、ポリゴン以外の任意のデータを使用することができる。
Claims (9)
-  複数の第1の描画データと、複数の第1の描画命令を含む複数の第1の描画命令群とから、複数の第2の描画データと、複数の第2の描画命令を含む複数の第2の描画命令群とを生成する第1のプロセッサと、
前記第1のプロセッサから出力された前記複数の第2の描画データと前記複数の第2の描画命令群とに基づく描画処理を行う第2のプロセッサとを備え、
前記第1のプロセッサは、
前記複数の第1の描画命令群の実行の順番を示す並び順を変更し、前記複数の第1の描画命令の内の、前記複数の第1の描画命令群の並び順を変更することで実行不要になった第1の描画命令を削除することによって、複数の第3の描画命令群を生成する描画命令リオーダ部と、
前記複数の第3の描画命令群に含まれる複数の第3の描画命令の内の、前記第2のプロセッサが同じ描画状態で実行可能な第3の描画命令に対応する第1の描画データを互いに結合することによって、前記複数の第2の描画データを生成し、前記第1の描画データの結合によって不要になった前記第3の描画命令を削除することによって前記複数の第2の描画データに対応する前記複数の第2の描画命令群を生成する描画命令結合部と、
前記複数の第2の描画命令の並び順に前記複数の第2の描画命令の各々を実行する描画命令実行部と
を有することを特徴とする画像描画装置。 -  前記描画命令リオーダ部は、前記複数の第3の描画命令群に含まれる前記複数の第3の描画命令の個数が減少するように、前記複数の第1の描画命令群の並び順を変更することを特徴とする請求項1に記載の画像描画装置。
 -  前記第2の描画データは、ポリゴンの頂点列データと、前記ポリゴンのテクスチャデータとを有し、
前記描画命令結合部は、前記複数の第2の描画データの個数が減少するように、前記テクスチャデータを互いに結合する
ことを特徴とする請求項1に記載の画像描画装置。 -  第1の記憶装置をさらに備え、
前記描画命令結合部は、前記複数の第2の描画データと前記複数の第2の描画命令群とを前記第1の記憶装置に記憶させる
ことを特徴とする請求項1から3のいずれか1項に記載の画像描画装置。 -  第2の記憶装置をさらに備え、
前記第2のプロセッサは、前記第1のプロセッサから出力された前記複数の第2の描画データと前記複数の第2の描画命令群とに基づく前記描画処理の結果を前記第2の記憶装置に記憶させる
ことを特徴とする請求項1から4のいずれか1項に記載の画像描画装置。 -  前記描画命令実行部は、前記描画命令結合部による前記複数の第2の描画データの生成が完了する前に、前記複数の第2の描画データの一部を前記第2のプロセッサに出力し始めることを特徴とする請求項1から5のいずれか1項に記載の画像描画装置。
 -  前記第2のプロセッサの前記描画処理の結果に基づく画像を表示する表示装置をさらに備えたことを特徴とする請求項1から6のいずれか1項に記載の画像描画装置。
 -  複数の第1の描画データと、複数の第1の描画命令を含む複数の第1の描画命令群とから、複数の第2の描画データと、複数の第2の描画命令を含む複数の第2の描画命令群とを生成する第1のプロセッサと、前記第1のプロセッサから出力された前記複数の第2の描画データと前記複数の第2の描画命令群とに基づく描画処理を行う第2のプロセッサとを備えた装置における画像描画方法であって、
前記複数の第1の描画命令群の実行の順番を示す並び順を変更し、前記複数の第1の描画命令の内の、前記複数の第1の描画命令群の並び順を変更することで実行不要になった第1の描画命令を削除することによって、複数の第3の描画命令群を生成するステップと、
前記複数の第3の描画命令群に含まれる複数の第3の描画命令の内の、前記第2のプロセッサが同じ描画状態で実行可能な第3の描画命令に対応する第1の描画データを互いに結合することによって、前記複数の第2の描画データを生成し、前記第1の描画データの結合によって不要になった前記第3の描画命令を削除することによって前記複数の第2の描画データに対応する前記複数の第2の描画命令群を生成するステップと、
前記複数の第2の描画命令の並び順に前記複数の第2の描画命令の各々を実行するステップと
を有することを特徴とする画像描画方法。 -  複数の第1の描画データと、複数の第1の描画命令を含む複数の第1の描画命令群とから、複数の第2の描画データと、複数の第2の描画命令を含む複数の第2の描画命令群とを生成する第1のプロセッサと、前記第1のプロセッサから出力された前記複数の第2の描画データと前記複数の第2の描画命令群とに基づく描画処理を行う第2のプロセッサとを備えたコンピュータの前記第1のプロセッサに、
前記複数の第1の描画命令群の実行の順番を示す並び順を変更し、前記複数の第1の描画命令の内の、前記複数の第1の描画命令群の並び順を変更することで実行不要になった第1の描画命令を削除することによって、複数の第3の描画命令群を生成する処理と、
前記複数の第3の描画命令群に含まれる複数の第3の描画命令の内の、前記第2のプロセッサが同じ描画状態で実行可能な第3の描画命令に対応する第1の描画データを互いに結合することによって、前記複数の第2の描画データを生成し、前記第1の描画データの結合によって不要になった前記第3の描画命令を削除することによって前記複数の第2の描画データに対応する前記複数の第2の描画命令群を生成する処理と、
前記複数の第2の描画命令の並び順に前記複数の第2の描画命令の各々を実行する処理と
を実行させる画像描画プログラム。 
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| PCT/JP2017/002862 WO2018138855A1 (ja) | 2017-01-27 | 2017-01-27 | 画像描画装置、画像描画方法、及び画像描画プログラム | 
| CN201780083804.4A CN110199320B (zh) | 2017-01-27 | 2017-01-27 | 图像描绘装置、方法和记录有图像描绘程序的记录介质 | 
| DE112017006527.5T DE112017006527T5 (de) | 2017-01-27 | 2017-01-27 | Bildzeichnungseinrichtung, Bildzeichnungsverfahren und Bildzeichnungsprogramm | 
| JP2018564034A JP6513312B2 (ja) | 2017-01-27 | 2017-01-27 | 画像描画装置、画像描画方法、及び画像描画プログラム | 
| KR1020197021151A KR102091398B1 (ko) | 2017-01-27 | 2017-01-27 | 화상 묘화 장치, 화상 묘화 방법, 및 화상 묘화 프로그램 | 
| US16/348,052 US11244482B2 (en) | 2017-01-27 | 2017-01-27 | Image drawing device, image drawing method, and image drawing program | 
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| PCT/JP2017/002862 WO2018138855A1 (ja) | 2017-01-27 | 2017-01-27 | 画像描画装置、画像描画方法、及び画像描画プログラム | 
Publications (1)
| Publication Number | Publication Date | 
|---|---|
| WO2018138855A1 true WO2018138855A1 (ja) | 2018-08-02 | 
Family
ID=62978212
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| PCT/JP2017/002862 Ceased WO2018138855A1 (ja) | 2017-01-27 | 2017-01-27 | 画像描画装置、画像描画方法、及び画像描画プログラム | 
Country Status (6)
| Country | Link | 
|---|---|
| US (1) | US11244482B2 (ja) | 
| JP (1) | JP6513312B2 (ja) | 
| KR (1) | KR102091398B1 (ja) | 
| CN (1) | CN110199320B (ja) | 
| DE (1) | DE112017006527T5 (ja) | 
| WO (1) | WO2018138855A1 (ja) | 
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| KR20200010062A (ko) * | 2018-07-18 | 2020-01-30 | 가부시키가이샤 뉴플레어 테크놀로지 | 묘화 데이터 생성 방법, 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 및 멀티 하전 입자빔 묘화 장치 | 
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2013120438A (ja) * | 2011-12-06 | 2013-06-17 | Sony Computer Entertainment Inc | グラフィックスコマンド生成装置およびグラフィックスコマンド生成方法 | 
| US20130176323A1 (en) * | 2012-01-05 | 2013-07-11 | Samsung Electronics Co., Ltd. | Method and apparatus for graphic processing using multi-threading | 
| WO2014083776A1 (ja) * | 2012-11-30 | 2014-06-05 | 株式会社デンソー | 3次元画像生成装置及び3次元画像生成方法 | 
| WO2016028482A1 (en) * | 2014-08-21 | 2016-02-25 | Qualcomm Incorporated | Render target command reordering in graphics processing | 
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JPH09190539A (ja) | 1996-01-10 | 1997-07-22 | Fuji Xerox Co Ltd | 画像描画装置 | 
| WO2013102956A1 (ja) * | 2012-01-06 | 2013-07-11 | 三菱電機株式会社 | 描画制御装置 | 
| US8941676B2 (en) * | 2012-10-26 | 2015-01-27 | Nvidia Corporation | On-chip anti-alias resolve in a cache tiling architecture | 
- 
        2017
        
- 2017-01-27 WO PCT/JP2017/002862 patent/WO2018138855A1/ja not_active Ceased
 - 2017-01-27 DE DE112017006527.5T patent/DE112017006527T5/de not_active Ceased
 - 2017-01-27 CN CN201780083804.4A patent/CN110199320B/zh active Active
 - 2017-01-27 US US16/348,052 patent/US11244482B2/en active Active
 - 2017-01-27 JP JP2018564034A patent/JP6513312B2/ja active Active
 - 2017-01-27 KR KR1020197021151A patent/KR102091398B1/ko active Active
 
 
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2013120438A (ja) * | 2011-12-06 | 2013-06-17 | Sony Computer Entertainment Inc | グラフィックスコマンド生成装置およびグラフィックスコマンド生成方法 | 
| US20130176323A1 (en) * | 2012-01-05 | 2013-07-11 | Samsung Electronics Co., Ltd. | Method and apparatus for graphic processing using multi-threading | 
| WO2014083776A1 (ja) * | 2012-11-30 | 2014-06-05 | 株式会社デンソー | 3次元画像生成装置及び3次元画像生成方法 | 
| WO2016028482A1 (en) * | 2014-08-21 | 2016-02-25 | Qualcomm Incorporated | Render target command reordering in graphics processing | 
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| KR20200010062A (ko) * | 2018-07-18 | 2020-01-30 | 가부시키가이샤 뉴플레어 테크놀로지 | 묘화 데이터 생성 방법, 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 및 멀티 하전 입자빔 묘화 장치 | 
| KR102293626B1 (ko) | 2018-07-18 | 2021-08-25 | 가부시키가이샤 뉴플레어 테크놀로지 | 묘화 데이터 생성 방법, 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 및 멀티 하전 입자빔 묘화 장치 | 
Also Published As
| Publication number | Publication date | 
|---|---|
| JP6513312B2 (ja) | 2019-05-15 | 
| CN110199320A (zh) | 2019-09-03 | 
| CN110199320B (zh) | 2023-06-09 | 
| JPWO2018138855A1 (ja) | 2019-06-27 | 
| US11244482B2 (en) | 2022-02-08 | 
| DE112017006527T5 (de) | 2019-09-26 | 
| US20210279927A1 (en) | 2021-09-09 | 
| KR20190090038A (ko) | 2019-07-31 | 
| KR102091398B1 (ko) | 2020-03-20 | 
Similar Documents
| Publication | Publication Date | Title | 
|---|---|---|
| JP6726946B2 (ja) | レンダリング方法、レンダリング装置及び電子装置 | |
| CN113515396A (zh) | 图形渲染方法、装置、电子设备与存储介质 | |
| US10803547B2 (en) | Graphics processing systems using a subset of pipeline stages | |
| CA2645746C (en) | Method and graphical interface for embedding animated content into a computer application | |
| US20090058848A1 (en) | Predicted geometry processing in a tile based rendering system | |
| US11049211B2 (en) | Methods and system for asynchronously buffering rendering by a graphics processing unit | |
| KR101404489B1 (ko) | 멀티쓰레드를 이용한 동영상 실시간 렌더링 방법 및 시스템 | |
| CN108090943B (zh) | 渲染曲线的方法 | |
| JP3797372B2 (ja) | 描画命令のフックを利用した画像の転送 | |
| JP6513312B2 (ja) | 画像描画装置、画像描画方法、及び画像描画プログラム | |
| CN106204519A (zh) | 一种控制早期深度处理和后期深度处理的装置和方法 | |
| KR100371253B1 (ko) | 화상생성방법및장치 | |
| US10311627B2 (en) | Graphics processing apparatus and method of processing graphics pipeline thereof | |
| JP2010164972A (ja) | 画像ドローイング方法及び装置 | |
| KR102085701B1 (ko) | 이미지를 렌더링하는 방법 | |
| CN102117477B (zh) | 一种嵌入式设备显示等待动画的方法及系统 | |
| JP3826941B2 (ja) | 描画命令のフックを利用した画像の転送 | |
| JP3740415B2 (ja) | グラフィック処理装置 | |
| KR101663023B1 (ko) | 그래픽 처리 장치 및 방법 | |
| WO2013114462A1 (ja) | 表示装置 | |
| CN118262023A (zh) | 一种提高并行渲染并行度的方法 | |
| JP4461965B2 (ja) | 文字画像生成装置、文字画像生成プログラムおよび文字画像生成方法 | |
| JP2011008181A (ja) | 画像表示装置 | |
| JP2011008182A (ja) | 画像表示装置 | |
| JP2011018291A (ja) | 画像描画装置 | 
Legal Events
| Date | Code | Title | Description | 
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | 
             Ref document number: 17894431 Country of ref document: EP Kind code of ref document: A1  | 
        |
| ENP | Entry into the national phase | 
             Ref document number: 2018564034 Country of ref document: JP Kind code of ref document: A  | 
        |
| ENP | Entry into the national phase | 
             Ref document number: 20197021151 Country of ref document: KR Kind code of ref document: A  | 
        |
| 122 | Ep: pct application non-entry in european phase | 
             Ref document number: 17894431 Country of ref document: EP Kind code of ref document: A1  |