WO2006033261A1 - 画像処理装置、画像処理方法、情報記録媒体、ならびに、プログラム - Google Patents

画像処理装置、画像処理方法、情報記録媒体、ならびに、プログラム Download PDF

Info

Publication number
WO2006033261A1
WO2006033261A1 PCT/JP2005/016779 JP2005016779W WO2006033261A1 WO 2006033261 A1 WO2006033261 A1 WO 2006033261A1 JP 2005016779 W JP2005016779 W JP 2005016779W WO 2006033261 A1 WO2006033261 A1 WO 2006033261A1
Authority
WO
WIPO (PCT)
Prior art keywords
polyhedron
predetermined
polygons
virtual
image processing
Prior art date
Application number
PCT/JP2005/016779
Other languages
English (en)
French (fr)
Inventor
Hideki Yanagihara
Original Assignee
Konami Digital Entertainment Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co., Ltd. filed Critical Konami Digital Entertainment Co., Ltd.
Priority to US11/575,652 priority Critical patent/US20080094391A1/en
Priority to EP05782027A priority patent/EP1796046A4/en
Publication of WO2006033261A1 publication Critical patent/WO2006033261A1/ja
Priority to HK07114264.3A priority patent/HK1106052A1/xx

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/206Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Definitions

  • Image processing apparatus image processing method, information recording medium, and program
  • the present invention relates to an image processing apparatus, an image processing method, and an image processing apparatus suitable for rendering an object arranged in a virtual three-dimensional space and formed by polygons while reducing the number of polygons to be processed.
  • the present invention relates to a computer-implemented program and a computer-readable information recording medium on which the program is recorded.
  • 3D graphics technology has been used in the field of computer graphics and processing in various game devices.
  • objects to be drawn are placed in a virtual 3D space.
  • the surface of the object is represented by a polyhedron, and the polyhedron has a polygonal surface.
  • Such 3D graphics technology is disclosed in the following documents.
  • Patent Document 1 Japanese Patent No. 3490983
  • the present invention has been made to solve the above-described problems, and is suitable for rendering an object formed by polygons arranged in a virtual three-dimensional space with a reduced number of polygons to be processed. It is an object of the present invention to provide a simple image processing apparatus, an image processing method, a program for realizing these with a computer, and a computer-readable information recording medium on which the program is recorded.
  • An image processing apparatus includes a storage unit, a determination unit, and a generation unit.
  • the configuration is as follows.
  • the storage unit corresponds to each of a plurality of polygons forming the surface of the object on one of the surfaces of the approximate polyhedron that approximates the shape of the object arranged in the virtual three-dimensional space. Add and remember.
  • the concrete surface, window glass surface, reinforcing bar surface, etc. of the surface of the building are polygons (polygons). It is divided and expressed.
  • a rectangular parallelepiped or a quadrangular pyramid can be adopted as an approximate polyhedron for such a building. This is because the rough shape of the building is often a rectangular parallelepiped, and the rough shape of the tower is often a quadrangular pyramid.
  • each polygon (polygon) is stored in association with either surface of the rectangular parallelepiped or the quadrangular pyramid.
  • the determination unit determines whether or not each of the stored faces of the approximate polyhedron is visible when the virtual three-dimensional space is viewed from a predetermined viewpoint in a predetermined line-of-sight direction.
  • the present invention does not calculate and contrast the angle between the outward normal vector and the line-of-sight vector for each polygon.
  • the angle formed with the direction vector is calculated and compared.
  • the approximate polyhedron represents the rough shape of the object.
  • the generation unit from among the plurality of polygons stored in association with each other, is associated with the surface of the approximate polyhedron determined to be visible in the determination step from the predetermined viewpoint. An image viewed in a predetermined line-of-sight direction is generated.
  • an object arranged in a virtual three-dimensional space and formed by polygons can be drawn by reducing the number of polygons to be processed, and the calculation time required for drawing can be reduced. Can do.
  • the polygon for each of the plurality of polygons, the polygon has an outward normal vector and an outward normal vector of the surface of the approximate polyhedron. It can be configured to be stored in association with the surface of the approximate polyhedron having the smallest corner.
  • the present invention defines the correspondence between each surface of the approximate polyhedron in the above invention and each polyhedron of the object surface.
  • the surface is made to correspond in advance to the surface that minimizes the angle between the outward normal vector of the polyhedron and the outward normal vector.
  • the determination of whether or not the polygon is visible is that some kind of approximation is adopted. By adopting the correspondence as in the present invention, this determination is performed as accurately as possible. .
  • one of the guidelines for determining the correspondence between the polygon and each face of the approximate polyhedron is provided, and once such a correspondence is established, the 3D graphics Since the labor required for processing is the same as that of the above invention, high-speed processing is possible.
  • the approximate polyhedron is a polygonal cylinder circumscribing the object, and one of the surfaces is in contact with the ground of the virtual three-dimensional space, and the plurality of polygons Is stored in association with a surface other than the surface in contact with the ground, and the determination unit can be configured to determine whether a surface other than the surface in contact with the ground is visible.
  • polygons are not associated with the surface of the approximate polyhedron that is in contact with the ground, the determination process for the surface that is in contact with the ground is omitted, and the calculation required for the three-dimensional graphics processing is performed.
  • the amount can be reduced and high-speed processing can be performed.
  • the approximate polyhedron is a polygonal cone circumscribing the object, a bottom surface thereof is in contact with the ground of the virtual three-dimensional space, and the plurality of polygons are
  • the determination unit can be configured to determine whether or not it is visible on a surface other than the bottom surface in association with a surface other than the bottom surface.
  • a polygonal cylinder (typically a rectangular parallelepiped) is used as the approximate polyhedron.
  • a polygonal pyramid is used as the approximate polyhedron, and its bottom surface is a surface in contact with the ground.
  • the polygon is not associated with the surface of the approximate polyhedron that is in contact with the ground, and the determination process for the surface that is in contact with the ground is omitted, and the three-dimensional graphic is obtained. This reduces the amount of calculation required for the processing, and enables high-speed processing.
  • An image processing method is executed by an image processing apparatus including a storage unit, a determination unit, and a generation unit.
  • Each of a plurality of polygons forming the surface of the object is stored in association with one of the faces of the approximate polyhedron that approximates the shape of the object, and includes a determination process and a generation process, and is configured as follows. .
  • the determination unit determines the position in the virtual three-dimensional space from a predetermined viewpoint. Judgment is made as to whether or not each of the faces of the stored approximate polyhedron can be seen when viewed in a fixed gaze direction.
  • the generating unit selects a predetermined polygonal viewpoint that is associated with the surface of the approximate polyhedron determined to be seen by the determining unit from among the plurality of polygons stored in association with each other. To generate an image viewed in the predetermined line-of-sight direction.
  • a program according to another aspect of the present invention is configured to cause a computer to function as the image processing apparatus or to cause the computer to execute the image processing method.
  • the program of the present invention can be recorded on a computer-readable information storage medium such as a compact disk, a flexible disk, a hard disk, a magneto-optical disk, a digital video disk, a magnetic tape, and a semiconductor memory.
  • the above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed.
  • the information storage medium can be distributed and sold independently of the computer.
  • an image processing apparatus an image processing method, and an image processing apparatus suitable for rendering an object that is arranged in a virtual three-dimensional space and formed by polygons while reducing the number of polygons to be processed
  • FIG. 1 is an explanatory diagram showing a schematic configuration of a typical game device in which an image processing device according to one embodiment of the present invention is realized.
  • FIG. 2 is a schematic diagram showing a schematic configuration of one image processing apparatus according to the embodiment of the present invention.
  • FIG. 3 is an explanatory diagram showing a relationship between an object and a virtual polyhedron.
  • FIG. 4 is an explanatory diagram showing the relationship among viewpoints, line-of-sight directions, virtual polyhedron faces, and polygons.
  • FIG. 5 is a flowchart showing the flow of image processing control executed by the image processing apparatus of the present embodiment.
  • Embodiments of the present invention will be described below.
  • the present invention can be similarly applied to information processing apparatuses such as various computers, PDA (Personal Data Assistants), and mobile phones. That is, the embodiments described below are for explanation, and do not limit the scope of the present invention. Therefore, those skilled in the art can adopt embodiments in which each or all of these elements are replaced with equivalent ones, and these embodiments are also included in the scope of the present invention.
  • FIG. 1 is an explanatory diagram showing a schematic configuration of a typical game device in which the image processing device of the present invention is realized.
  • FIG. 1 is an explanatory diagram showing a schematic configuration of a typical game device in which the image processing device of the present invention is realized.
  • the game apparatus 100 includes a CPU (Central Processing Unit) 101, a ROM 102, and a RAM.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • a DVD-ROM storing an image processing program and data is mounted on the DVD-ROM drive 108, and the game apparatus 100 is turned on to execute the program.
  • the image processing apparatus of this embodiment is Realized.
  • CPU 101 controls the overall operation of game device 100 and is connected to each component to exchange control signals and data.
  • the CPU 101 uses arithmetic operations such as addition / subtraction / division / division, logical sum, logic, etc. using an ALU (Arithmetic Logic Unit) (not shown) for a storage area called a register (not shown) that can be accessed at high speed. It can perform logical operations such as product and logical negation, and bit operations such as bit sum, bit product, bit inversion, bit shift, and bit rotation.
  • the CPU 101 itself is configured and equipped with a coprocessor so that saturation operations such as addition, subtraction, multiplication, and division for multimedia processing and trigonometric functions can be performed at high speed. There is something to do.
  • the ROM 102 records an IPL (Initial Program Loader) that is executed immediately after the power is turned on. By executing this, the program recorded on the DVD-ROM is read to the RAM 103 and the CPU 101 Execution starts. In ROM 102, operating system programs and various programs necessary for controlling the operation of the entire game device 100 are stored. Data is recorded.
  • IPL Initial Program Loader
  • the RAM 103 is for temporarily storing data and programs, and holds programs and data read from the DVD-ROM and other data necessary for game progress and chat communication.
  • the CPU 101 provides a variable area in the RAM 103 and performs an arithmetic operation by directly applying an ALU to the value stored in the variable, or stores the value stored in the RAM 103 in a register. Performs operations such as performing an operation on the register from the memory and writing the operation result back to the memory.
  • the controller 105 connected via the interface 104 receives an operation input performed by the user when executing a game such as a racing game.
  • the external memory 106 which is detachably connected via the interface 104, has data indicating the playing status (such as past results) of the racing game, data indicating the progress of the game, and log (record) data of chat communication. Are stored in a rewritable manner. The user can appropriately record these data in the external memory 106 by inputting instructions via the controller 105.
  • a DVD-ROM loaded in the DVD-ROM drive 108 stores a program for realizing a game and image data and sound data associated with the game. Under the control of the CPU 101, the DVD-ROM drive 108 performs a reading process on the DVD-ROM mounted on the DVD-ROM drive 108 to read out necessary programs and data, which are temporarily stored in the RAM 103 or the like. .
  • the image processing unit 107 processes the data read out from the DVD-ROM power by the CPU 101 or an image arithmetic processor (not shown) provided in the image processing unit 107, and then the image processing unit 107 processes the processed data. It records in a frame memory (not shown) provided. The image information recorded in the frame memory is converted into a video signal at a predetermined synchronization timing and output to a monitor (not shown) connected to the image processing unit 107. As a result, various image displays are possible.
  • the image calculation processor can perform two-dimensional image overlay calculation, transparency calculation such as blending, and various saturation calculations at high speed.
  • the information can be rendered by the z-buffer method, and high-speed computation can be performed to obtain a rendered image in which a polygon placed in a virtual three-dimensional space is viewed from a predetermined viewpoint position in the direction of a predetermined line of sight.
  • the CPU 101 and image processor can work together to draw a character string as a two-dimensional image in the frame memory or on the surface of each polygon according to the font information that defines the character shape. is there.
  • the image arithmetic processor generally has a rendering function for projecting a bitmap image (texture image) of a triangle or quadrangle into another triangle or quadrangle area as appropriate.
  • the NIC 109 is used to connect the game device 100 to a computer communication network (not shown) such as the Internet, and is used when configuring a LAN (Local Area Network).
  • a computer communication network such as the Internet
  • LAN Local Area Network
  • T modem analog modem for connecting to the Internet using a telephone line
  • ISDN Integrated Services Digital Network
  • ADSL Asymmetric Digital Subscriber Line
  • Cape Norre television line A cable modem or the like for connecting to the CPU, and an interface (not shown) for interfacing these with the CPU 101.
  • the audio processing unit 110 converts audio data read from the DVD-ROM into an analog audio signal, and outputs it from a speaker (not shown) connected thereto.
  • a speaker not shown
  • sound effects and music data to be generated during the progress of the game are generated, and the corresponding sound is output from the speaker.
  • the audio processing unit 110 converts the MIDI data into PCM data with reference to the sound source data included in the audio data. If the compressed audio data is in ADPCM format or Ogg Vorbis format, it is expanded and converted to PCM data.
  • the PCM data can be output as audio by performing DZA (Digital / Analog) conversion at the timing corresponding to the sampling frequency and outputting it to the speaker.
  • DZA Digital / Analog
  • the game apparatus 100 is mounted on the ROM 102, RAM 103, external memory 106, and DVD-ROM drive 108 using a large-capacity external storage device such as a hard disk. You may comprise so that the same function as DVD-ROM etc. may be fulfilled.
  • FIG. 2 is a schematic diagram showing a schematic configuration of an image processing apparatus according to one embodiment of the present invention.
  • An image processing apparatus 201 includes a storage unit 202, a determination unit 203, and a generation unit 204.
  • the storage unit 202 corresponds to each of a plurality of polygons forming the surface of the object on one of the faces of the approximate polyhedron approximating the shape of the object arranged in the virtual three-dimensional space. Add and remember.
  • FIG. 3 is an explanatory view showing an example of the shape of an object arranged in the virtual three-dimensional space and an example of a polyhedron corresponding to the shape.
  • the outline of the object is indicated by a solid line
  • the outline of the approximate polyhedron is indicated by a dotted line.
  • FIG. 3 (a) shows the relationship between the building object 301 arranged in the virtual three-dimensional space and the virtual polyhedron 302.
  • the rough shape of the building is typically a rectangular parallelepiped, and in some cases it may take the shape of a polygonal column, but the shape of the object 301 in this example is a substantially rectangular parallelepiped. Textures such as concrete surfaces and window glass surfaces are affixed to the polygons that make up the object 301, representing buildings in a virtual three-dimensional space.
  • a rectangular parallelepiped with a (wall and ceiling) as a surface is adopted.
  • FIG. 3 (b) shows the relationship between the tower object 301 arranged in the virtual three-dimensional space and the virtual polyhedron 302.
  • the rough shape of the tower is typically a polygonal cylinder, a polygonal pyramid, and a polygonal frustum (the remainder after cutting the apex of the polygonal pyramid), and the shape of the object 301 in this example is a substantially square pyramid.
  • the polygon that forms the object 301 has a mesh-like texture that represents a reinforcing bar.
  • a texture such as a concrete surface or a window glass surface is occupied by the shell. Is expressed.
  • the main structure (wall surface) of the object 301 of the tower. ) Is a square pyramid with the top as the apex.
  • the virtual polyhedron 302 typically circumscribes the object 301 (the polygon of the object 301 is included or overlaps the polygon of the object 301), or represents the outline of the object 301 (therefore, There may be a plane that intersects the polygon of the object 301.) It is desirable to adopt a polyhedron, especially a polygonal column or a polygonal pyramid. This is because the number of faces of these polyhedrons is extremely small compared to the number of polygons constituting the object 301. As will be described later, the polygon processing is trimmed by the surface of this virtual polyhedron 302 to reduce the amount of calculation.
  • the storage unit 202 stores each of the polygons of the object in association with any surface of such a virtual polyhedron.
  • FIG. 4 is an explanatory diagram showing the positional relationship between the viewpoint, the line-of-sight direction, one surface of the virtual polyhedron, and one polygon.
  • the point indicated by the position vector r 411 of the polygon 401 is one of the representative points in the polygon 401, and is typically the force at the vertex of the polygon 401 or the weight of the polygon 401.
  • the force determined by the range of the angle between the position vector r 411 and the outward normal vector n 413 is determined.
  • approximation calculation may be performed using the line-of-sight direction vector s 412 instead of the position vector r 411. That is, strictly speaking,
  • this is determined using the face 404 of the virtual polyhedron 302 associated with the polygon 401.
  • the surface 404 is associated with a plurality of polygons 401, and it is determined whether or not the surface 404 can be seen by collectively determining whether or not the polygons associated with the surface 404 can be seen. Judge.
  • the outward normal vector n 413 of the polygon 401 and the outward direction of the surface 404 is required to be close.
  • the storage unit 202 stores the association between the polygon 401 and the surface 404 in this way.
  • each polygon 401 is associated with either the side surface 404 or the surface 404 arranged on the upper surface of the virtual polyhedron 302.
  • the force that is determined to be visible if the angle formed by the two betatones is 90 degrees or more and less than 180 degrees.
  • This lower limit is slightly reduced.
  • the angle formed by the two betatones is 80 degrees or more and less than 180 degrees.
  • this margin angle is ⁇ (0 ° ⁇ ⁇ 90 °, that is, 0 ⁇ ⁇ ⁇ / 2)
  • FIG. 5 is a flowchart showing the flow of image processing control executed by the image processing apparatus.
  • FIG. 5 is a flowchart showing the flow of image processing control executed by the image processing apparatus.
  • the storage unit 202 already stores each of the polygons 401 of the object 301 in association with one of the surfaces 404 of the virtual polyhedron 302.
  • the determination unit 203 performs repeated processing for each of the surfaces 404 of the virtual polyhedron 302. First, it is determined whether or not all the surfaces 404 have been processed (step S 501). If there is a surface 404 that has not been processed yet (step S 501; No), one unprocessed surface 404 is acquired ( Step S502), when the surface 404 is viewed from the viewpoint 402 arranged in the virtual three-dimensional space in the direction of the line-of-sight direction vector s412, it is determined whether or not the outer surface of the surface 404 can be seen ( Step S503). At this time, as described above, the outward normal vector n ′ 423 assigned to the surface 404 and the position vector r ′ 421 from the viewpoint 402 to the surface 404 are used as necessary. .
  • step S503 When the outer surface of the surface 404 is visible (step S503; Yes), all the polygons 401 associated with the surface 404 and stored in the storage unit 202 are registered in the Z buffer (step S5 04).
  • the Z buffer is prepared in the RAM 103 or the like, and as described later, is a storage area in the form of an array used to determine the perspective relationship between the polygons from the viewpoint.
  • step S503 when the outer surface of the surface 404 is not visible (step S503; No), the process returns to step S501.
  • the CPU 101 cooperates with RAM 103 to function as determination unit 203.
  • multimedia instructions, vector operation instructions, parallel operation instructions, etc., possessed by the image processing processor can be used, the above-mentioned repetition is processed in parallel, or vector operation instructions are used. It is good also as fulfill
  • step S501 when the processing is completed for all the faces 404 (step S501; Yes), the generation unit 204 sorts the polygons 401 registered in the Z buffer in order from the viewpoint (step S505). Then, the following processing is repeated from the farthest polygon 401 to the nearest polygon 401.
  • step S506 it is determined whether all the polygons 401 registered in the sorted Z buffer have been processed. If there is an unprocessed polygon 401 (step S506; No), an unprocessed polygon is determined.
  • the polygon 401 farthest from the viewpoint, 402 force is acquired from the 401 (step S507), and the position information and posture information of the polygon 401 in the virtual three-dimensional space, the position of the viewpoint and the direction of the line of sight are determined.
  • Perspective transformation is performed (step S508), an area where the polygon 401 is projected is acquired in the screen buffer (step S509), and the texture assigned to the polygon 401 is pasted in the area (step S509).
  • Step S510 and return to Step S506.
  • the CPU 101 functions as the generation unit 204 in cooperation with the RAM 103 and the image processing processor of the image processing unit 107.
  • step S504 By repeating the processing from step S501 to step S504, only the polygon 401 in which the texture surface can be seen from the viewpoint 402 is assumed to be registered in the Z buffer. For this reason, the calculation amount is naturally smaller than when all the polygons 401 are registered in the Z buffer. It is clear that the amount of calculation can be reduced by using the approximation method of this embodiment, rather than pre-processing whether all polygons 401 are visible or visible. is there.
  • step S506 After drawing in the screen buffer by the above-described repetitive steps S506 to S510 (step S506; Yes), the contents of the screen buffer are generated by transferring them to the display device in the vertical synchronization signal cycle. Displayed image (Step S51
  • an image processing apparatus As described above, an image processing apparatus, an image processing method, and an image processing apparatus suitable for rendering an object formed by polygons arranged in a virtual three-dimensional space with a reduced number of polygons to be processed,

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

 処理すべきポリゴン数を減らして3次元グラフィックス処理を行うため、画像処理装置(201)の記憶部(202)は、仮想3次元空間に配置されるオブジェクトの形状を近似する近似多面体の面のいずれかに、当該オブジェクトの表面を形成する複数の多角形のそれぞれを、対応付けて記憶し、判断部(203)は、当該仮想3次元空間内を所定の視点から所定の視線方向に見た場合に、記憶された近似多面体の面のそれぞれが見えるか否かを判断し、生成部(204)は、対応付けて記憶された複数の多角形のうち、判断工程にて見えると判断された近似多面体の面に対応付けられるものについて、当該所定の視点から当該所定の視線方向に見た画像を生成する。

Description

明 細 書
画像処理装置、画像処理方法、情報記録媒体、ならびに、プログラム 技術分野
[0001] 本発明は、仮想 3次元空間内に配置されポリゴンによって形成されるオブジェクトを 、処理すべきポリゴンの数を減らして描画するのに好適な画像処理装置、画像処理 方法、ならびに、これらをコンピュータにて実現するプログラムおよび当該プログラム を記録したコンピュータ読取可能な情報記録媒体に関する。
背景技術
[0002] 従来から、コンピュータグラフィックスの分野や各種のゲーム装置における処理にお いては、 3次元グラフィックスの技術が利用されている。このような 3次元グラフィックス の技術では、仮想的な 3次元空間の中に描画対象となるオブジェクトを配置する。ォ ブジエタトの表面は多面体で表現されており、多面体の角面は多角形 (ポリゴン)とな つている。このような 3次元グラフィックスの技術については、以下の文献に開示があ る。
特許文献 1:特許第 3490983号
[0003] 一般に、当該 3次元空間の中に配置されたオブジェクトを当該 3次元空間の中に配 置された視点から、与えられた視線方向に見た様子を 3次元グラフィックス表示する 場合には、以下のような処理を行っている。すなわち、各ポリゴンのそれぞれについ て、その外向き法線と視線方向を表す視線ベクトルとのなす角を対比する。そして、 その角が 90度〜 180度であるようなポリゴンを視点力も遠い順にソートする。さらに、 ポリゴンを遠レ、順に画像バッファに投影変換 (視点から視線方向に見た場合の透視 変換を用いるのが一般的である。)して、当該ポリゴンに割り当てられたテクスチャを 投影変換された領域に貼り込む。このような処理を、 Zバッファ法と呼ぶ。
発明の開示
発明が解決しょうとする課題
[0004] し力 ながら、 3次元グラフィックスの処理は多大な計算を要するため、処理の対象 となるポリゴンの数を簡易に(用途によっては近似的に)減らして、処理に要する時間 を短くしたレ、、との要望は強い。
本発明は、上記のような課題を解決するためになされたもので、仮想 3次元空間内 に配置されポリゴンによって形成されるオブジェクトを、処理すべきポリゴンの数を減 らして描画するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンビ ユータにて実現するプログラムおよび当該プログラムを記録したコンピュータ読取可 能な情報記録媒体を提供することを目的とする。
課題を解決するための手段
[0005] 以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する 本発明の第 1の観点に係る画像処理装置は、記憶部、判断部、生成部を備え、以 下のように構成する。
[0006] まず、記憶部は、仮想 3次元空間に配置されるオブジェクトの形状を近似する近似 多面体の面のいずれかに、当該オブジェクトの表面を形成する複数の多角形のそれ ぞれを、対応付けて記憶する。
たとえば、仮想 3次元空間にビルディングやタワーのような建造物のオブジェクトが 配置されている場合、当該建造物の表面のコンクリート面、窓ガラス面、鉄筋面等の 各面が、多角形(ポリゴン)に分割されて表現される。
[0007] このような建造物に対する近似多面体としては、たとえば直方体や四角錐を採用す ることができる。ビルディングの大まかな形状は直方体であることが多ぐタワーの大ま 力な形状は四角錐であることが多いからである。
そして、各多角形 (ポリゴン)を、当該直方体や当該四角錐のいずれかの面に対応 付けて記憶するのである。
[0008] 一方、判断部は、当該仮想 3次元空間内を所定の視点から所定の視線方向に見た 場合に、記憶された近似多面体の面のそれぞれが見えるか否かを判断する。
すなわち、本発明では、各多角形について外向き法線ベクトルを視線方向ベクトル とをなす角を計算して対比するのではなく、近似多面体の各面にっレ、て外向き法線 ベクトルが視線方向ベクトルとなす角を計算して対比するのである。上記のように、近 似多面体はオブジェクトの大まかな形状を表すものであるから、オブジェクトの外形を 構成するポリゴンの数と、近似多面体の面の数とを比較すれば、前者は後者に比べ て圧倒的に多いのが一般的である。
[0009] さらに、生成部は、対応付けて記憶された複数の多角形のうち、判断工程にて見え ると判断された近似多面体の面に対応付けられるものについて、当該所定の視点か ら当該所定の視線方向に見た画像を生成する。
すなわち、近似多面体の各面のうち、現在の視点から現在の視線方向に見た場合 に見える面に対応付けられているポリゴンのみを 3次元グラフィックス処理し、近似多 面体の各面のうち見えない面に対応付けられているポリゴンについては、各種の処 理を省略するのである。
[0010] 本発明によれば、仮想 3次元空間内に配置されポリゴンによって形成されるォブジ ェクトを、処理すべきポリゴンの数を減らして描画することができ、描画に要する計算 時間を短縮することができる。
[0011] また、本発明の画像処理装置は、当該複数の多角形のそれぞれについて、当該多 角形は、その外向き法線ベクトルと当該近似多面体の面の外向き法線べクトノレとがな す角が最小の近似多面体の面に対応付けて記憶されるように構成することができる。 本発明は、上記発明における近似多面体の各面とオブジェクト表面の各多面体と の対応関係を定めるものである。
[0012] もっとも単純には、オブジェクト表面の各多面体について、当該多面体に最も近接 する近似多面体の面を対応付けることが可能である。このような対応付けによっても、 オブジェクトの形状や 3次元グラフィックスの適用分野においては、十分な品質の映 像が得られることも多い。
[0013] 一方、本発明では、あらかじめ近似多面体の面のうち、多面体の外向き法線べタト ルとその外向き法線ベクトルとのなす角が最小となるような面に対応付ける。本発明 では、多角形が見えるか見えないかの判定はある種の近似を採用していることとなる 力 本発明のような対応関係を採用することによって、できるだけ正確にこの判定を 行うのである。
本発明によれば、ポリゴンと近似多面体の各面との対応付けを決める指針の一つ が提供されるとともに、一旦そのような対応付けをしてしまえば、 3次元グラフィックス 処理に要する手間は上記発明と同様なので、高速な処理が可能となる。
[0014] また、本発明の画像処理装置において、当該近似多面体は、当該オブジェクトに 外接する多角柱であり、その面の一つは、当該仮想 3次元空間の地面に接し、当該 複数の多角形は、当該地面に接する面以外の面に対応付けられて記憶され、判断 部は、当該地面に接する面以外の面について、見えるか否かを判断するように構成 すること力 Sできる。
[0015] 上記の例のように、 3次元空間内に配置される建物について描画処理を行う場合に は、地面に接している面を描画の対象とすることがないのは明らかである。そこで本 発明では、そのような処理を省略する。
本発明によれば、近似多面体の地面に接している面にはポリゴンを対応付けないこ ととし、地面に接している面についての判断処理を省略して、 3次元グラフィックス処 理に要する計算量を減らし、高速な処理を行うことができる。
[0016] また、本発明の画像処理装置において、当該近似多面体は、当該オブジェクトに 外接する多角錐であり、その底面は、当該仮想 3次元空間の地面に接し、当該複数 の多角形は、当該底面以外の面に対応付けられて記憶され、判断部は、当該底面 以外の面にっレ、て、見えるか否力を判断するように構成することができる。
上記発明では、近似多面体として多角柱 (典型的には直方体)を採用したが、本発 明では、近似多面体として多角錐を採用し、その底面を地面に接する面とするもので ある。
本発明によれば、上記発明と同様に、近似多面体の地面に接している面にはポリ ゴンを対応付けないこととし、地面に接している面についての判断処理を省略して、 3 次元グラフィックス処理に要する計算量を減らし、高速な処理を行うことができる。
[0017] 本発明の第 2の観点に係る画像処理方法は、記憶部、判断部、生成部を備える画 像処理装置にて実行され、記憶部には、仮想 3次元空間に配置されるオブジェクトの 形状を近似する近似多面体の面のいずれかに、当該オブジェクトの表面を形成する 複数の多角形のそれぞれが、対応付けて記憶され、判断工程、生成工程を備え、以 下のように構成する。
[0018] すなわち、判断工程では、判断部が、当該仮想 3次元空間内を所定の視点から所 定の視線方向に見た場合に、記憶された近似多面体の面のそれぞれが見えるか否 力を判断する。
[0019] 一方、生成工程では、生成部が、対応付けて記憶された複数の多角形のうち、判 断部により見えると判断された近似多面体の面に対応付けられるものについて、当該 所定の視点から当該所定の視線方向に見た画像を生成する。
[0020] 本発明のその他の観点に係るプログラムは、コンピュータを上記画像処理装置とし て機能させ、または、コンピュータに上記画像処理方法を実行させるように構成する。 また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディ スク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコン ピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ 通信網を介して配布 ·販売することができる。また、上記情報記憶媒体は、コンビユー タとは独立して配布 ·販売することができる。
発明の効果
[0021] 本発明によれば、仮想 3次元空間内に配置されポリゴンによって形成されるォブジ ェクトを、処理すべきポリゴンの数を減らして描画するのに好適な画像処理装置、画 像処理方法、ならびに、これらをコンピュータにて実現するプログラムおよび当該プロ グラムを記録したコンピュータ読取可能な情報記録媒体を提供することができる。 図面の簡単な説明
[0022] [図 1]本発明の実施形態の 1つに係る画像処理装置が実現される典型的なゲーム装 置の概要構成を示す説明図である。
[図 2]本発明の実施形態の 1つの画像処理装置の概要構成を示す模式図である。
[図 3]オブジェクトと仮想多面体の関係を示す説明図である。
[図 4]視点、視線の方向、仮想多面体の面、ポリゴンの関係を示す説明図である。
[図 5]本実施形態の画像処理装置にて実行される画像処理の制御の流れを示すフロ 一チャートである。
符号の説明
[0023] 100 ゲーム装置 101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コン卜ローラ
106 外部メモリ
107 画像処理部
108 DVD— ROMドライブ
109 NIC
110 音声処理部
201 画像処理装置
202 記憶部
203 判断部
204 生成部
301 オブジェクト
302 仮想多面体
401 ポリゴン
402 視点
403 視線
404 仮想多面体の面
411 ポリゴンの位置ベクトル
412 視線方向べクトノレ
413 ポリゴンの外向き法線ベクトル
421 仮想多面体の面の位置べクトノレ
423 仮想多面体の面の外向き法線べクトル
発明を実施するための最良の形態
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、三次元 グラフィックス表示がされるゲーム装置に本発明が適用される実施形態を説明するが 、各種のコンピュータ、 PDA (Personal Data Assistants)、携帯電話などの情報処理 装置においても同様に本発明を適用することができる。すなわち、以下に説明する実 施形態は説明のためのものであり、本願発明の範囲を制限するものではなレ、。したが つて、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した 実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含ま れる。
実施例 1
[0025] 図 1は、本発明の画像処理装置が実現される典型的なゲーム装置の概要構成を示 す説明図である。以下、本図を参照して説明する。
[0026] ゲーム装置 100は、 CPU (Central Processing Unit) 101と、 ROM 102と、 RAM
103と、インターフェイス 104と、コントローラ 105と、外部メモリ 106と、画像処理部 1
07と、 DVD— ROMドライブ 108と、 NIC (Network Interface Card) 109と、音声処理 部 110と、を備える。
画像処理用のプログラムおよびデータを記憶した DVD— ROMを DVD— ROMド ライブ 108に装着して、ゲーム装置 100の電源を投入することにより、当該プログラム が実行され、本実施形態の画像処理装置が実現される。
[0027] CPU 101は、ゲーム装置 100全体の動作を制御し、各構成要素と接続され制御 信号やデータをやりとりする。また、 CPU 101は、レジスタ(図示せず)という高速ァ クセスが可能な記憶域に対して ALU (Arithmetic Logic Unit) (図示せず)を用いて 加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビ ット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さら に、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベタ トル演算などを高速に行えるように、 CPU 101自身が構成されているものや、コプロ セッサを備えて実現するものがある。
[0028] ROM 102には、電源投入直後に実行される IPL (Initial Program Loader)が記録 され、これが実行されることにより、 DVD— ROMに記録されたプログラムを RAM 1 03に読み出して CPU 101による実行が開始される。また、 ROM 102には、ゲー ム装置 100全体の動作制御に必要なオペレーティングシステムのプログラムや各種 のデータが記録される。
[0029] RAM 103は、データやプログラムを一時的に記憶するためのもので、 DVD— R 〇Mから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要 なデータが保持される。また、 CPU 101は、 RAM 103に変数領域を設け、当該 変数に格納された値に対して直接 ALUを作用させて演算を行ったり、 RAM 103 に格納された値をー且レジスタに格納してからレジスタに対して演算を行レ、、演算結 果をメモリに書き戻す、などの処理を行う。
[0030] インターフェイス 104を介して接続されたコントローラ 105は、ユーザがレーシングゲ ームなどのゲーム実行の際に行う操作入力を受け付ける。
インターフェイス 104を介して着脱自在に接続された外部メモリ 106には、レーシン グゲーム等のプレイ状況 (過去の成績等)を示すデータ、ゲームの進行状態を示す データ、チャット通信のログ (記録)のデータなどが書き換え可能に記憶される。ユー ザは、コントローラ 105を介して指示入力を行うことにより、これらのデータを適宜外部 メモリ 106に記録することができる。
[0031] DVD— ROMドライブ 108に装着される DVD— ROMには、ゲームを実現するた めのプログラムとゲームに付随する画像データや音声データが記録される。 CPU 1 01の制御によって、 DVD— ROMドライブ 108は、これに装着された DVD— ROM に対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらは R AM 103等に一時的に記憶される。
[0032] 画像処理部 107は、 DVD— ROM力 読み出されたデータを CPU 101や画像処 理部 107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを 画像処理部 107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記 録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部 10 7に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能 となる。
画像演算プロセッサは、 2次元の画像の重ね合わせ演算やひプレンディング等の 透過演算、各種の飽和演算を高速に実行できる。
[0033] また、仮想三次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情 報を、 zバッファ法によりレンダリングして、所定の視点位置から仮想三次元空間に配 置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速 実行も可能である。
さらに、 CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を 定義するフォント情報にしたがって、文字列を 2次元画像としてフレームメモリへ描画 したり、各ポリゴン表面へ描画することが可能である。
[0034] また、画像演算プロセッサは、三角形や四角形のビットマップ画像(テクスチャ画像 )を他の三角形や四角形の領域に適宜変形して投影するレンダリング機能を有する のが一般的である。
[0035] NIC 109は、ゲーム装置 100をインターネット等のコンピュータ通信網(図示せず )に接続するためのものであり、 LAN (Local Area Network)を構成する際に用いられ る 10BASE— T/100BASE— T規格にしたがうものや、電話回線を用いてインター ネットに接続するためのアナログモデム、 ISDN (Integrated Services Digital Network )モデム、 ADSL (Asymmetric Digital Subscriber Line)モデム、ケープノレテレビジョン 回線を用いてインターネットに接続するためのケーブルモデム等と、これらと CPU 1 01との仲立ちを行うインターフェース(図示せず)により構成される。
[0036] 音声処理部 110は、 DVD— ROMから読み出した音声データをアナログ音声信号 に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、 CPU 101 の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、こ れに対応した音声をスピーカから出力させる。
音声処理部 110では、 DVD— ROMに記録された音声データが MIDIデータであ る場合には、これが有する音源データを参照して、 MIDIデータを PCMデータに変 換する。また、 ADPCM形式や Ogg Vorbis形式等の圧縮済音声データである場合に は、これを展開して PCMデータに変換する。 PCMデータは、そのサンプリング周波 数に応じたタイミングで DZA (Digital/Analog)変換を行って、スピーカに出力するこ とにより、音声出力が可能となる。
[0037] このほか、ゲーム装置 100は、ハードディスク等の大容量外部記憶装置を用いて、 ROM 102、 RAM 103、外部メモリ 106、 DVD— ROMドライブ 108に装着される DVD— ROM等と同じ機能を果たすように構成してもよい。
[0038] 図 2は、本発明の実施形態の一つに係る画像処理装置の概要構成を示す模式図 である。以下、本図を参照して説明する。本実施形態に係る画像処理装置 201は、 記憶部 202、判断部 203、生成部 204を備える。
[0039] ここで、記憶部 202は、仮想 3次元空間に配置されるオブジェクトの形状を近似する 近似多面体の面のいずれかに、当該オブジェクトの表面を形成する複数の多角形の それぞれを、対応付けて記憶する。
[0040] 図 3は、仮想 3次元空間に配置されるオブジェクトの形状の例と、それに対応する近 似多面体の例とを示す説明図である。以下、本図を参照して説明する。なお、本図で は、オブジェクトの輪郭は実線で、近似多面体の輪郭は点線で、それぞれ示すものと する。
[0041] 図 3 (a)は、仮想 3次元空間内に配置されるビルディングのオブジェクト 301と、その 仮想多面体 302との関係を示すものである。
ビルディングの大まかな形状は、典型的には直方体であることが多ぐ場合によって は多角柱のような形状をとることもあるが、本例のオブジェクト 301の形状は略直方体 となっている。オブジェクト 301を構成するポリゴンには、コンクリート面や窓ガラス面 などのテクスチャが貼り込まれており、仮想 3次元空間内のビルディングを表現してい る。
[0042] そこで、仮想多面体 302として、当該ビルディングのオブジェクト 301の主要構造物
(壁面および天井)を面として持つ直方体(四角柱)を採用している。
[0043] 図 3 (b)は、仮想 3次元空間内に配置されるタワーのオブジェクト 301と、その仮想 多面体 302との関係を示すものである。
タワーの大まかな形状は、典型的には多角柱や多角錐、多角錐台(多角錐の頂点 付近を切断した残り)をとること力多く、本例のオブジェクト 301の形状は略四角錐と なっている。オブジェクト 301を構成するポリゴンには、鉄筋を表す網目状のテクスチ ャのほカ 上記オブジェクト 301同様、コンクリート面や窓ガラス面などのテクスチャが 貝占り込まれており、仮想 3次元空間内のタワーを表現している。
[0044] そこで、仮想多面体 302として、当該タワーのオブジェクト 301の主要構造物(壁面 )を面とし、頂上を頂点として持つ四角錐を採用している。
[0045] 仮想多面体 302としては、典型的には、当該オブジェクト 301に外接する(オブジェ タト 301のポリゴンを内包もしくはオブジェクト 301のポリゴンと重なる。)、もしくは、ォ ブジェクト 301の概形を表す(したがってオブジェクト 301のポリゴンと交差する面が 存在することもありうる。)多面体、特に多角柱や多角錐を採用することが望ましい。ォ ブジェクト 301を構成するポリゴン数に比べて、これらの多面体の面の数は極めて小 さいからである。後述するように、この仮想多面体 302の面によってポリゴン処理の刈 り込みを行い、計算量を減少させるのである。
[0046] 記憶部 202は、このような仮想多面体のいずれかの面に、オブジェクトのポリゴンの それぞれを対応付けて記憶する。以下では、このような対応付けをどのように定める 、について説明する。図 4は、視点、視線方向、仮想多面体の 1つの面、 1つのポリ ゴンの位置関係を示す説明図である。以下、本図を参照して説明する。
[0047] 3次元グラフィックスでは、仮想 3次元空間内に配置されるポリゴン 401を当該空間 内に配置される視点 402から視線 403の方向へ見た様子を描画する。視点 402を原 点、とするポリゴン 401の位 ク卜ノレ r 411と、視点、402を出発点、とする視! ¾403の 方向べクトノレ s 412と、ポリゴン 401の外向き法線べクトノレ n 413と、を考える。
[0048] ポリゴン 401の位置ベクトル r 411の指す先は、ポリゴン 401内のいずれかの代表 点であり、典型的には、ポリゴン 401の頂点のいずれ力 \もしくは、ポリゴン 401の重 心である。
[0049] 当該ポリゴン 401のテクスチャを描画すべきか否かの判断には、厳密には、位置べ タトル r 411と、外向き法線ベクトル n 413とのなす角の範囲によって判定することに なる力 所定の距離以上離れているオブジェクトの場合には、位置ベクトル r 411に かえて視線方向ベクトル s 412を用いて、近似計算を行うこととしても良い。すなわち 、厳密には、
-1≤ (r-n)/(|r||n|)≤ 0
近似的には、
Figure imgf000013_0001
が成立するとき(両ベクトルのなす角が 90度以上 180度以下のとき)に、当該ポリゴン 401の表面力 当該視点 402から見えることになる。もちろんさらに arccos(')を用いて 角度そのものを得て、判断を行うこととしても良い。
[0050] したがって、本来であれば、ポリゴン 401ごとに、上記の内積の計算(ベクトル同士 がなす角を求める計算)を行う必要がある。
[0051] 本実施形態では、これを、ポリゴン 401に対応付けられる仮想多面体 302の面 404 を用いて、判断する。面 404には、複数のポリゴン 401が対応付けられており、面 40 4が見えるか否かの判断で、これに対応付けられた複数のポリゴンが見えるか否かを まとめて (近似的に)判断するのである。
[0052] 本図に示すように、視点、402を原点、とする面 404の位置べク卜ノレ r' 421と、面 404 の外向き法線べクトノレ n 423と、を考える。位置べクトノレ r 421の旨す先は、面 404 内の代表点であり、典型的には面 404の重心もしくはいずれかの頂点である。
[0053] さて、仮想多面体 302の面 404が見えるか否かは、ポリゴン 401の場合の判断と同 様に、
Figure imgf000014_0001
ちしくは、
- 1 ≤ (s - n')/(|s||n'|) ≤ 0
によって判断できる。
[0054] そこで、ポリゴン 401が見えるか否かの判断を、面 404が見えるか否かの判断で近 似するためには、ポリゴン 401の外向き法線ベクトル n 413と、面 404の外向き法線 ベクトル n' 423と、のなす角が、近いことが必要とされる。複数のポリゴン 401のそれ ぞれについて、当該ポリゴン 401と、仮想多面体 302の面 404のそれぞれと、につい て、
(η· η /(|n||n'|)
の値を求め、これが最大となる(1に近ければ近いほど、両者のなす角は小さくなる。 ) 面 404に対応付ければ良い。
[0055] 記憶部 202には、このようにして、ポリゴン 401と、面 404との対応付けを記憶する のである。
[0056] なお、ビルディングやタワーなどの建造物の場合には、その底面 (建造物が地面に 接する面)が見えることはありえない。そこで、本実施形態では、仮想多面体 302の面 404として、地面に接する面は採用しなレ、。各ポリゴン 401は、仮想多面体 302の側 面もしくは上面に配置される面 404のいずれかに対応付けることになる。
[0057] また、仮想多面体 302の面 404が見えるか否かによってポリゴン 401が見えるか否 力を判断するのは、近似的手法であるが、本実施形態の適用分野によっては、これ で十分な視覚的効果が得られることが多い。もっとも、計算量が増えない(見えない ポリゴン 401の処理をできるだけ省く)範囲で、この近似をできるだけ正確にすることも 可能である。
[0058] すなわち、上記の説明では、 2つのべタトノレのなす角が 90度以上 180度未満であ れば見える、と判断していた力 この下限を少し小さくするのである。たとえば、余裕 角を 10度として、 2つのべタトノレのなす角が 80度以上 180度未満であれば見える、と 判断する。具体的には、この余裕角を Θ (0° ≤ θ≤90° ,すなわち 0≤ θ≤ π /2)と したとき、
_1 ^ \r · η,)/(|Γ,| |η |) ^ cos Θ
ちしくは、
- 1 ≤ (s - n')/(|s||n'|) ≤ cos θ
によって判断できる。
[0059] これらは、ベクトル同士のなす角の関係で書けば、
π ^ arccos((r · ηノ /(|r'||n'|)) ≤ π /2_ θ
しく ίま、
π arccos((s .n )/(|s||n |)) ≤ π /2- θ
として半 IJ断することもできる。いずれの判断を用いるか、は、計算機にどのようなハー ドウエアや基本ライブラリが備えられているかによって、適宜選択することができる。
[0060] なお、法線ベクトルや視線方向べクトノレは長さを 1とするのが一般的である。すなわ ち、
|n| = |n,| = |s| = 1
この場合、上記の判断基準はそれぞれ、
_1 ^ r · Π,)/|Γ I ^ cos Θ; - 1 ≤ (s - n,) ≤ cos Θ ;
π ≥ arccos((r' ' n')/|r'|) ≥ π /2— Θ;
π ^ arccos(s ' n') ≤ π /2— θ
のように簡単化することが可能である。これを見れば明らかな通り、位置ベクトル r' 4 21を利用するよりも視線方向ベクトル s 412を利用して判断を行った方力 計算時 間が短くてすむと考えられる。
[0061] また、 Θを 0° (=0)としたときには、余裕が一切ないことになり、 Θを 90° (= π /2)とし たときには、すべてのポリゴン 401が見えるものとして処理を行うことになる。したがつ て、適用分野と計算機資源の能力に応じて Θの値を適宜定めれば良い。
[0062] 図 5は、当該画像処理装置にて実行される画像処理の制御の流れを示すフローチ ヤートである。以下、本図を参照して説明する。
[0063] 上記のように記憶部 202には、すでにオブジェクト 301のポリゴン 401のそれぞれが 、仮想多面体 302の面 404のいずれかに対応付けて記憶されているものとする。
[0064] そこで、まず、判断部 203は、仮想多面体 302の面 404のそれぞれについて繰り返 しの処理を行う。まず、面 404のすべてについて処理を行つたかを判断し(ステップ S 501)、まだ処理していない面 404があれば(ステップ S501; No)、未処理の面 404 を 1つ取得して (ステップ S502)、その面 404を、仮想 3次元空間内に配置された視 点 402から視線方向ベクトル s 412の方向へ見たときに、当該面 404の外面が見え るか否かを判断する(ステップ S503)。この際には、上記のように、当該面 404に割り 当てられた外向き法線ベクトル n' 423や、必要に応じて視点 402から当該面 404へ の位置ベクトル r' 421を用いることになる。
[0065] 面 404の外面が見える場合 (ステップ S503 ; Yes)、当該面 404に対応付けられて 記憶部 202に記憶されているポリゴン 401をすベて、 Zバッファに登録し (ステップ S5 04)、ステップ S501に戻る。ここで、 Zバッファは、 RAM 103内などに用意され、後 述するように、ポリゴン同士の視点からの遠近関係を判断するために使われる配列状 の記憶領域である。
[0066] 一方、面 404の外面が見えない場合(ステップ S503 ; No)ステップ S501に戻る。
[0067] このように、画像処理装置 201がゲーム装置 100上に実現される場合には、 CPU 101が RAM 103と共働して判断部 203として機能する。このほか、画像処理プロセ ッサが有するマルチメディア命令やベクトル演算命令、並列演算命令などが利用でき る場合には、上記の繰返しを並列処理したり、ベクトル演算命令を利用したりして、判 断部 203の機能を果たすこととしても良い。
[0068] ついで、すべての面 404について処理が終わると(ステップ S501 ; Yes)、生成部 2 04は、 Zバッファに登録されたポリゴン 401を、視点から遠い順にソートする(ステップ S505)。そして、最も遠いポリゴン 401から最も近いポリゴン 401まで、以下の処理を 繰り返す。
[0069] すなわち、ソート済み Zバッファ内に登録されたポリゴン 401のすべてについて処理 をしたかを判断し (ステップ S506)、未処理のポリゴン 401があれば (ステップ S506 ; No)、未処理のポリゴン 401のうち、もっとも視点、402力ら遠いポリゴン 401を取得し て (ステップ S507)、仮想 3次元空間における当該ポリゴン 401の位置情報、姿勢情 報と、視点の位置や視線方向に基づいて所定の透視変換を施し (ステップ S508)、 画面バッファ内に当該ポリゴン 401が投影される領域を取得し (ステップ S509)、さら に、当該領域内に当該ポリゴン 401に割り当てられたテクスチャを貼り込んで (ステツ プ S510)、ステップ S506に戻る。
このように、 CPU 101が、 RAM 103や画像処理部 107の画像処理プロセッサと 共働して、生成部 204として機能する。
[0070] ステップ S501〜ステップ S504の繰返し処理によって、視点 402からそのテクスチ ャ面が見える(と推測される)ポリゴン 401のみが Zバッファ内に登録されることになる。 このため、すべてのポリゴン 401を Zバッファに登録した場合よりも、当然に計算量 が少なくてすむ。すべてのポリゴン 401につレ、て見えるか見えなレ、かの前処理を行う よりも、本実施形態の近似法を用いた方が計算量を少なくすることができるのも、明ら かである。
[0071] なお、かりに、実際には見えないはずのポリゴン 401が Zバッファに登録されてしま つたとしても、オブジェクト 301が閉多面体であるときは、実際には見えないはずのポ リゴン 401は、それよりも視点 402に近い場所にあるポリゴン 401によって上書きされ ることとなる(ことがほぼ確実である)ので、レーシングゲームなどのようにリアルタイム で (プレイヤーがかならずしも注目しない)背景画像の生成に適用するには、十分な 性能を有すると考えられる。
[0072] さて、上記の繰り返しステップ S506〜ステップ S510によって画面バッファに描画が された後は (ステップ S506 ;Yes)、当該画面バッファの内容を垂直同期信号周期で ディスプレイ装置に転送することによって、生成された画像を表示して (ステップ S51
1)、本処理を終了する。
[0073] このように、本実施形態によれば、計算処理対象となるポリゴンの数を減らすことに よってできるだけ高速に 3次元グラフィックスを生成することができるようになる。
[0074] なお、本願においては、 日本国特許出願 特願 2004— 275722号 を基礎とする 優先権を主張するものとし、当該基礎出願の内容を、すべて、本願の内容として取り 込むものとする。
産業上の利用可能性
[0075] 以上説明したように、仮想 3次元空間内に配置されポリゴンによって形成されるォブ ジェタトを、処理すべきポリゴンの数を減らして描画するのに好適な画像処理装置、 画像処理方法、ならびに、これらをコンピュータにて実現するプログラムおよび当該 プログラムを記録したコンピュータ読取可能な情報記録媒体を提供することができ、 高速な 3次元グラフィックス処理を必要とするレーシングゲームやアクションゲームな どを実現する場合のほか、各種の仮想体験を提供するバーチャルリアリティ技術等に 適用すること力 Sできる。

Claims

請求の範囲
[1] 仮想 3次元空間に配置されるオブジェクトの形状を近似する近似多面体の面のい ずれかに、当該オブジェクトの表面を形成する複数の多角形のそれぞれを、対応付 けて記憶する記憶部、
当該仮想 3次元空間内を所定の視点から所定の視線方向に見た場合に、前記記 憶された近似多面体の面のそれぞれが見えるか否かを判断する判断部、
前記対応付けて記憶された複数の多角形のうち、前記判断部により見えると判断さ れた近似多面体の面に対応付けられるものについて、当該所定の視点から当該所 定の視線方向に見た画像を生成する生成部
を備えることを特徴とする画像処理装置。
[2] 請求項 1に記載の画像処理装置であって、
当該複数の多角形のそれぞれについて、当該多角形は、その外向き法線べクトノレ と当該近似多面体の面の外向き法線ベクトルとがなす角が最小の近似多面体の面 に対応付けて記憶される
ことを特徴とする物。
[3] 請求項 1に記載の画像処理装置であって、
前記判断部は、当該視線方向をあらわすベクトルと、当該近似多面体の面の外向 き法線ベクトルと、のなす角が、所定の下限角と所定の上限角との間にある場合に、 当該近似多面体の面が見えると判定し、
当該所定の下限角は 90度以下の角度であり、当該所定の上限角は 180度である ことを特徴とする物。
[4] 請求項 1に記載の画像処理装置であって、
前記判断部は、当該視点を原点としたときの当該近似多面体に含まれる代表点の 位置ベクトルと、当該近似多面体の面の外向き法線ベクトルと、のなす角が、所定の 下限角と所定の上限角との間にある場合に、当該近似多面体の面が見えると判定し 当該所定の下限角は 90度以下の角度であり、当該所定の上限角は 180度である ことを特徴とする物。
[5] 請求項 1に記載の画像処理装置であって、
当該近似多面体は、当該オブジェクトに外接する多角柱であり、その面の一つは、 当該仮想 3次元空間の地面に接し、
当該複数の多角形は、当該地面に接する面以外の面に対応付けられて記憶され、 前記判断部は、当該地面に接する面以外の面について、見えるか否力を判断する ことを特徴とする物。
[6] 請求項 1に記載の画像処理装置であって、
当該近似多面体は、当該オブジェクトに外接する多角錐であり、その底面は、当該 仮想 3次元空間の地面に接し、
当該複数の多角形は、当該底面以外の面に対応付けられて記憶され、 前記判断部は、当該底面以外の面について、見えるか否力を判断する ことを特徴とする物。
[7] 記憶部、判断部、生成部を備える画像処理装置にて実行される画像処理方法であ つて、
前記記憶部には、仮想 3次元空間に配置されるオブジェクトの形状を近似する近似 多面体の面のいずれかに、当該オブジェクトの表面を形成する複数の多角形のそれ ぞれが、対応付けて記憶され、
前記判断部が、当該仮想 3次元空間内を所定の視点から所定の視線方向に見た 場合に、前記記憶された近似多面体の面のそれぞれが見えるか否かを判断する判 断工程、
前記生成部が、前記対応付けて記憶された複数の多角形のうち、前記判断工程に て見えると判断された近似多面体の面に対応付けられるものについて、当該所定の 視点から当該所定の視線方向に見た画像を生成する生成工程
を備えることを特徴とする画像処理方法。
[8] コンピュータを、
仮想 3次元空間に配置されるオブジェクトの形状を近似する近似多面体の面のい ずれかに、当該オブジェクトの表面を形成する複数の多角形のそれぞれを、対応付 けて記憶する記憶部、 当該仮想 3次元空間内を所定の視点から所定の視線方向に見た場合に、前記記 憶された近似多面体の面のそれぞれが見えるか否かを判断する判断部、
前記対応付けて記憶された複数の多角形のうち、前記判断部により見えると判断さ れた近似多面体の面に対応付けられるものについて、当該所定の視点から当該所 定の視線方向に見た画像を生成する生成部
として機能させることを特徴とするプログラムを記録したコンピュータ読取可能な情 報記録媒体。
コンピュータを、
仮想 3次元空間に配置されるオブジェクトの形状を近似する近似多面体の面のい ずれかに、当該オブジェクトの表面を形成する複数の多角形のそれぞれを、対応付 けて記憶する記憶部、
当該仮想 3次元空間内を所定の視点から所定の視線方向に見た場合に、前記記 憶された近似多面体の面のそれぞれが見えるか否かを判断する判断部、
前記対応付けて記憶された複数の多角形のうち、前記判断部により見えると判断さ れた近似多面体の面に対応付けられるものについて、当該所定の視点から当該所 定の視線方向に見た画像を生成する生成部
として機能させることを特徴とするプログラム。
PCT/JP2005/016779 2004-09-22 2005-09-12 画像処理装置、画像処理方法、情報記録媒体、ならびに、プログラム WO2006033261A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/575,652 US20080094391A1 (en) 2004-09-22 2005-09-12 Image Processor, Image Processing Method, Information Recording Medium, and Program
EP05782027A EP1796046A4 (en) 2004-09-22 2005-09-12 IMAGE PROCESSOR, IMAGE PROCESSING METHOD, INFORMATION RECORDING MEDIUM, AND PROGRAM
HK07114264.3A HK1106052A1 (en) 2004-09-22 2007-12-28 Image processor and image processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004275722A JP3961525B2 (ja) 2004-09-22 2004-09-22 画像処理装置、画像処理方法、ならびに、プログラム
JP2004-275722 2004-09-22

Publications (1)

Publication Number Publication Date
WO2006033261A1 true WO2006033261A1 (ja) 2006-03-30

Family

ID=36090024

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/016779 WO2006033261A1 (ja) 2004-09-22 2005-09-12 画像処理装置、画像処理方法、情報記録媒体、ならびに、プログラム

Country Status (8)

Country Link
US (1) US20080094391A1 (ja)
EP (1) EP1796046A4 (ja)
JP (1) JP3961525B2 (ja)
KR (1) KR100898671B1 (ja)
CN (1) CN100550060C (ja)
HK (1) HK1106052A1 (ja)
TW (1) TWI278789B (ja)
WO (1) WO2006033261A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401208B2 (en) 2007-11-14 2013-03-19 Infineon Technologies Ag Anti-shock methods for processing capacitive sensor signals

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5609336B2 (ja) 2010-07-07 2014-10-22 ソニー株式会社 画像データ送信装置、画像データ送信方法、画像データ受信装置、画像データ受信方法および画像データ送受信システム
TWI450215B (zh) * 2010-12-14 2014-08-21 Via Tech Inc 影像物件之隱藏面移除的預先揀選方法、系統以及電腦可記錄媒體
JP5899364B1 (ja) * 2015-09-17 2016-04-06 株式会社Cygames プレイヤの意図を予測してレンダリングするためのリソース配分を決定するプログラム、電子装置、システム及び方法
WO2018105534A1 (ja) * 2016-12-07 2018-06-14 京セラ株式会社 光源装置、ディスプレイ装置、移動体、3次元投影装置、3次元投影システム、画像投影装置、および画像表示装置
EP3554069B1 (en) 2016-12-07 2021-09-15 Kyocera Corporation Image projection device, image display device, and moving body
DE102017216821A1 (de) * 2017-09-22 2019-03-28 Siemens Aktiengesellschaft Verfahren zur Erkennung einer Objektinstanz und/oder Orientierung eines Objekts
GB2572996A (en) * 2018-04-19 2019-10-23 Nokia Technologies Oy Processing video patches for three-dimensional content
CN110232741B (zh) * 2019-06-17 2022-11-25 腾讯科技(深圳)有限公司 多层包围盒确定方法、碰撞检测及运动控制方法与设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05174156A (ja) * 1991-12-19 1993-07-13 Fujitsu Ltd 立体表示方法及び装置
JPH06348860A (ja) * 1993-06-10 1994-12-22 Namco Ltd 画像合成装置およびこれを用いたゲーム装置
JPH11259681A (ja) * 1998-03-09 1999-09-24 Japan Nuclear Cycle Development Inst State Of Projects(Jnc) オブジェクトをプリミティブに変換する装置
JP2003109033A (ja) * 2002-07-22 2003-04-11 Fujitsu Ltd オクルージョンカリングを行う3次元グラフィックス描画装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3689271T2 (de) * 1985-02-26 1994-02-24 Sony Corp Verfahren zur Bildanzeige.
TW284870B (ja) * 1994-01-26 1996-09-01 Hitachi Ltd
US5949423A (en) * 1997-09-30 1999-09-07 Hewlett Packard Company Z buffer with degree of visibility test
JP3654616B2 (ja) * 1997-12-19 2005-06-02 富士通株式会社 階層化ポリゴンデータ生成装置及び方法及び当該階層化ポリゴンデータを用いる三次元リアルタイム映像生成装置及び方法
GB2389293B (en) * 2000-12-06 2004-10-13 Sun Microsystems Inc Using ancillary geometry for visibility determination

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05174156A (ja) * 1991-12-19 1993-07-13 Fujitsu Ltd 立体表示方法及び装置
JPH06348860A (ja) * 1993-06-10 1994-12-22 Namco Ltd 画像合成装置およびこれを用いたゲーム装置
JPH11259681A (ja) * 1998-03-09 1999-09-24 Japan Nuclear Cycle Development Inst State Of Projects(Jnc) オブジェクトをプリミティブに変換する装置
JP2003109033A (ja) * 2002-07-22 2003-04-11 Fujitsu Ltd オクルージョンカリングを行う3次元グラフィックス描画装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1796046A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401208B2 (en) 2007-11-14 2013-03-19 Infineon Technologies Ag Anti-shock methods for processing capacitive sensor signals

Also Published As

Publication number Publication date
KR100898671B1 (ko) 2009-05-22
EP1796046A4 (en) 2008-02-06
EP1796046A1 (en) 2007-06-13
TW200617806A (en) 2006-06-01
KR20070041788A (ko) 2007-04-19
US20080094391A1 (en) 2008-04-24
JP2006092177A (ja) 2006-04-06
HK1106052A1 (en) 2008-02-29
TWI278789B (en) 2007-04-11
JP3961525B2 (ja) 2007-08-22
CN100550060C (zh) 2009-10-14
CN101027695A (zh) 2007-08-29

Similar Documents

Publication Publication Date Title
WO2006033261A1 (ja) 画像処理装置、画像処理方法、情報記録媒体、ならびに、プログラム
TWI300200B (en) Display apparatus, display method, and information recording medium
JP4019095B2 (ja) 音声処理装置、音声処理方法、ならびに、プログラム
US8212839B2 (en) Image creating device, image creating method, information recording medium, and program
US20080095439A1 (en) Image Processing Device, Image Processing Method, Information Recording Medium, And Program
US8259116B2 (en) Image creating device, image creating method, information recording medium, and program
JP4193979B2 (ja) シャドウボリューム生成プログラム及びゲーム装置
US20030148802A1 (en) Recording medium which stores 3D image processing program, 3D image processor, 3D image processing method, and video game machine
JP2004287504A (ja) 画像生成装置、画像処理方法、ならびに、プログラム
JP4457099B2 (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP4244352B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
EP1249791B1 (en) 3-D game image processing method and device for drawing border lines
JP4210293B2 (ja) シミュレーション装置、シミュレーション方法、ならびに、プログラム
JP4815410B2 (ja) 表示装置、表示方法、ならびに、プログラム
JP4750085B2 (ja) 画像表示装置、画像表示方法、ならびに、プログラム
JP5143805B2 (ja) 画像処理装置、処理方法、ならびに、プログラム
JP5043903B2 (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP2006146807A (ja) シミュレーション装置、シミュレート方法、ならびに、プログラム
JP2006146806A (ja) シミュレーション装置、シミュレート方法、ならびに、プログラム
JP2013050895A (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP2006318390A (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005782027

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020077006386

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 200580031916.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 11575652

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2005782027

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11575652

Country of ref document: US