WO1999004371A1 - Graphic image texture generation - Google Patents
Graphic image texture generation Download PDFInfo
- Publication number
- WO1999004371A1 WO1999004371A1 PCT/IB1998/000992 IB9800992W WO9904371A1 WO 1999004371 A1 WO1999004371 A1 WO 1999004371A1 IB 9800992 W IB9800992 W IB 9800992W WO 9904371 A1 WO9904371 A1 WO 9904371A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- texture
- processor
- data
- procedural
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Definitions
- the present invention relates to image processing and in particular to means for texture mapping in the rendering of two dimensional pixel images, where those images are made up of a number of polygons defined in three- dimensional (object) space and projected into two-dimensional (screen) space, and pixel texture values (texels) from a two dimensional texture map are mapped onto pixel positions within the projected two dimensional polygons.
- texture mapping is well known, in essence comprising the step of wrapping a two-dimensional picture or texture over a geometric surface in order to give a greater degree of realism and often a reduction in the geometric complexity of the object.
- Basic texture mapping techniques are described for example in "Computer Graphics: Principles and Practice” by Foley, van Dam, Feiner and Hughes, published by Addison Wesley 1990, ISBN 0-201-12110-7, at pages 741-744.
- the problem may be reduced when the format of data storage and representation for such virtual environments is at least partially standardised, allowing for greater interchange between systems of different manufacturers and simplification of standard commands, as well as a reduction in the necessity for individually tailored translation utilities.
- the necessary configuration of a browser for accessing such data becomes simpler.
- VRML Virtual Reality Modelling Language
- VRML is a file format for describing interactive three-dimensional objects and worlds to be experienced on the Internet/World Wide Web and it is generally analogous to the way HTML (HyperText Markup Language) is used to describe documents for transmission over the Internet.
- HTML HyperText Markup Language
- an apparatus for texture mapping in a computer graphics system using a predetermined set of standardised textures, the apparatus having an input to receive data identifying one of the set of standardised textures, and means for processing the data to generate output texels of the identified texture; characterised in that each texture of the standardised set is a procedural texture, the input identifying data comprises one or a sequence of program commands the execution of which will result in the generation of a respective procedural texture, with the means for processing data comprising a processor operable to implement all such input program commands or sequences of input programme commands as required to generate the procedural textures of the standardised set.
- the apparatus has at least one further input for one or more predetermined classes of numerical parameter, with the processor being arranged to generate procedural textures with reference to the or each numerical parameter value received.
- a predetermined class of numerical parameter may suitably comprise a scale factor, or the scale factor may be input in a different form, with the processor then being arranged to generate a procedural texture at a resolution determined by a received scale factor.
- this scale factor will directly relate the depth and orientation of the polygon surface to be textured with the texture resolution to be applied.
- the processor is operable to implement only such input program commands or sequences of input programme commands as required to generate those procedural textures of the standardised set. This places a finite limit on the required capability of the processor leading to faster operation and allowing the apparatus to be implemented as a single semiconductor chip.
- the apparatus may further comprise a cache memory coupled with the processor, with the processor being configured to generate said procedural textures as texture maps within said cache.
- Such an embodiment suitably further comprises an input to receive a scale factor, and an interpolator to generate output texels from texture map entries in the cache at a resolution determined by the received scale factor.
- this modified embodiment may suitably be provided on a semiconductor chip, with the processor, cache and interpolator on a common substrate.
- this modified embodiment with cache is substantially faster than the prior art technique of storing the predetermined textures as a series of texture maps on a users hard disk and then reading the required texel values.
- a computer graphics system including either the first or modified embodiments of texture mapping apparatus described above, together with a source of three- dimensional polygon data, a geometry processor coupled to receive said polygon data and arranged to generate a two-dimensional representation of said polygons, a source of program commands coupled to the input of the texture mapping apparatus and specifying textures to be applied to respective ones of said polygons, and rendering means coupled to receive the outputs of the geometry processor and texture mapping apparatus and arranged to generate an output image of said polygons with texture applied.
- the sources of polygon data and program commands may comprise an interface to a data network (such as the Internet) to which are coupled remote sources of such polygon data and program commands, the interface being coupled with a memory holding a store of network addresses for such remote sources and being operable to format and transmit messages to such addresses calling for the polygon data and program commands.
- a data network such as the Internet
- the use of a standardised set of procedural textures provides a notable speed improvement due to the reduced volume of data transmitted in comparison with a full texture map: due to the standardisation of the set, only a short identifier may be required in the request for texture, and its transmitted form as a sequence of program commands will be of smaller volume than sending a full texture map in encoded form.
- the program commands are liable to be transmitted over the network in a virtual machine code and the system would accordingly further comprise means for conversion of the same to a local machine code supported by the processor.
- FIG. 1 is a block schematic diagram of an image processing system embodying the present invention
- Figure 2 is a simplified flow chart illustrating data acquisition procedure of the system of Figure 1 ;
- Figures 3 and 4 represent two different configurations of texture data processing circuit for use in the system of Figure 1 ;
- Figure 5 is a flow chart illustrating implementation of a processing capability check applied to the system of Figure 1.
- VRML standard for describing virtual environments and embodying the present invention for texture mapping in the generation of two-dimensional images of such environments will be described. It will be recognised, however, that conformance with the VRML standard is neither an essential nor a limiting feature of the present invention.
- FIG. 1 is a block schematic diagram of a user apparatus, such as a personal computer (PC) 10, for accessing a virtual environment via connection to a data network 12 - for example the Internet/World Wide Web, with the virtual environment being provided by a remote service provider 14.
- the data 16 defining the appearance, structure and behaviour of the virtual environment in conformance with the VRML standard is accessed by the user sending a request message to the service provider VRML store, as identified by a unique URL (uniform resource locator).
- a source 18 of control and operational instructions for implementing operational features of the virtual environment. These instructions, preferably as segments of a virtual machine code (such as the Java ® virtual machine language developed by Sun Microsystems Inc) for general system flexibility, are accessed by the users system via a further URL, as will be described below.
- the users system 10 comprises a main processor 20 coupled via address and data bus 22 to a random-access memory (RAM) 24, such as a hard disk, and read-only memory (ROM) 26. Also connected via the bus 22 are one or more user input devices 28, such as a keyboard and mouse or joystick, and an interface 30 to the network 12.
- RAM random-access memory
- ROM read-only memory
- the users system is configured, via an operating program loaded from ROM 26, as a network browser with the network interface configured according to the type of data transfer supported by the users system: for a home user, the network link is likely to be via telephone line and accordingly the interface will incorporate a modem, controlled from the main processor 20.
- the user apparatus need not be a PC; consumer systems specialising in network access/browsing (but otherwise of limited capability) such as the Philips Magnavox WebTV® and similar systems may embody the present invention.
- the generation of images of the virtual environment from the data obtained via the network 12 is handled by a graphics processor 32 and texture management stage 34, both of which are coupled to receive input data via the address and data bus 22.
- the texture management stage 34 generating texels using parameterised procedural texture specifications, supplies the texture to be applied by the graphics processor 32 to the polygonal image primitives making up the image of the virtual environment.
- the generated images, assembled in a frame buffer 36, are finally output to a display device 38, such as a computer monitor.
- the first step 201 is for the system to contact the service provider and request downloading of the data defining the virtual environment in accordance with the VRML specification. Nested within the VRML data supplied by the service provider will be pointers to further locations (in the form of further URLs) from which the required specification of the procedural data required for rendering the VRML scene may be obtained. Consequently, the next step 202 of the procedure is to identify and extract these texture URLs from the received VRML data stream. Having obtained the texture URL, or more preferably a sequence of
- the user's system (at step 203) will sequentially attempt to contact the URLs listed to obtain the procedural texture data until it is successful.
- the way in which the user's system is configured as a browser differs slightly with respect to conventional web browsers in that, on contacting a site identified by URL to obtain texture data, a conventional browser would be seeking to obtain a texture map or image whereas the browser embodying the present invention will be requesting the supply of machine code segments held at these sites. These machine code segments will suitably be in a machine-independent form such as the above mentioned Java® virtual code.
- the user's system receives from this source a short code segment (at step 204) referred to as a code skeleton.
- the function of the code skeleton is to cause the user's system to request from the source the texture-specifying data in a form most suited to the texture data processing capability of the user's system.
- the generation of the textured image commences at step 205 with the execution of the procedural textural specifications (via texture generation stage 34; Figure 1) such as to obtain, at step 206, the required texels for mapping at the resolution required. While this is occurring, the VRML data received is parsed and processed, at step 207 (in graphics engine 32; Figure 1), to generate a model of the virtual environment and its behaviour, including identifying the various surfaces to be textured and their associated scale and/or depth value, such as to determine the required resolution for the texture pattern to be mapped.
- the final stage at step 208, combines the generated texture and polygonal image data defining the virtual environment and rendering a two- dimensional image thereof into the frame buffer (36; Figure 1) for subsequent display.
- An example of a procedural texture that may be applied is the blending operator.
- This operation can of course be used for calculating many components of the output texels: not only for the color components red, green and blue, but if desired also for the diffuseness and glossiness parameters (as input for illumination calculations), and for small surface displacements (as inputs for bump mapping) for example.
- Figures 3 and 4 illustrate two alternative configurations for the texture generation circuit 34 of Figure 1 each of which may suitably be implemented as a single semiconductor chip device.
- the bulk of device comprises a limited instruction set processor 40 having the capability to run the machine code segments that specify the various procedural textures of a predetermined standard set, but with little other capability such as to maximise the efficiency in generation of the procedural textures.
- a small non-volatile memory 42 is provided to hold the limited operating system for the processor 40 for fast initialisation of the texture processor 34 on boot-up or initialisation of the system.
- memory 42 may be omitted, with the processor operating system being loaded up from system ROM (26; Figure 1).
- the texture processor of Figure 3 has additional inputs 46 for a number of parameters including a depth value.
- This depth value represents the apparent depth, and suitably also orientation, of the polygonal surface onto which the texture to be generated is to be mapped.
- This depth value will provide an indication of the polygon "footprint" when translated to two- dimensional screen space and hence will have a direct bearing on the resolution at which the texture is to be generated, such that the output texels generated (on line 48) will not need scaling before being mapped directly onto a polygonal surface.
- FIG. 4 An alternative configuration for the texture processor 34' is shown in Figure 4.
- the processor 50 whilst still having an operating system capability to handle all procedural textures specified in the above mentioned standardised set, is a more general device.
- the processor rather than generating texels to order at a given scale, the processor generates a texture map (or map segment) into an associated cache memory 52 suitably at two or more levels of resolution. From these different levels of resolution, interpolator stage 54, in response to receipt of the polygon depth signal generates texels for display at the desired resolution.
- FIG. 5 this schematically represents both the operational features and results of implementation of the skeleton code sent by a source of procedural texture specification codes to identify the texture processing capability of the requesting system.
- the procedure begins at step 501 with a direction for the user's system to identify its texture processing capability, preferably by use of short code words indicating predetermined types.
- the first check is whether the processor is a limited instruction set processor dedicated to the standardised set of procedural textures, as with the processor of Figure 3. If the user system does have such a texture processor, the user system can proceed to obtain the procedural texture codes and any associated scaling factors (at step 503) and subsequently (at step 504) generate on demand texels of the pattern required and to the scale desired.
- the next check at step 505 is to whether the texture processor has an onboard cache memory, as in the embodiment of Figure 4. If this is the case, then, at step 506, the machine code segments specifying the procedural texture may again be obtained and implemented by the processor (50; Figure 4) such as to generate one or more texture maps into the cache at step 507. Having determined (at step 508) the depth of the polygon surface to be textured with reference to a specified texture resolution for that polygon, the extent to which the texture for the polygon needs to be scaled up or down may be determined (at step 508). From the data in the cache an interpolator may then generate texture to the required resolution (step 509).
- the next step (510) is to determine whether the texture handling circuitry of the user system has any capacity for handling of procedural textures (perhaps implemented in the main system CPU rather than a dedicated texture processor). If there is a procedural capacity, the system will again proceed to obtain the code segments specifying the textures to be mapped at step 51 and to generate one or more resolutions of texture map at step 512. In this instance, without benefit of an on-chip cache the more lengthy process of storing the generated texture maps in RAM has to be gone through (at step 513). In order to generate texels for mapping, data from the generated and stored texture maps must be read from the RAM (step 514) and interpolated as required (step 515) in order to generate the necessary texels at the correct resolution.
- step 516 a check is made (step 516) to determine whether the user system has any capability for the storage of texture maps and, if so, these will be called (step 517) from their remote source and downloaded via the data network to be stored in the system RAM on receipt.
- step 518 is to use a single texture value for all surfaces to be textured (step 518): for example, all surfaces to be textured may appear as coloured purple.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE69811854T DE69811854T2 (en) | 1997-07-17 | 1998-06-29 | GRAPHIC IMAGE STRUCTURE DESIGN |
EP98925879A EP0951701B1 (en) | 1997-07-17 | 1998-06-29 | Graphic image texture generation |
JP11506784A JP2001501009A (en) | 1997-07-17 | 1998-06-29 | Graphic image texture generation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9715005A GB9715005D0 (en) | 1997-07-17 | 1997-07-17 | Graphic image texture generation |
GB9715005.6 | 1997-07-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1999004371A1 true WO1999004371A1 (en) | 1999-01-28 |
Family
ID=10815964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB1998/000992 WO1999004371A1 (en) | 1997-07-17 | 1998-06-29 | Graphic image texture generation |
Country Status (7)
Country | Link |
---|---|
US (1) | US7456841B2 (en) |
EP (1) | EP0951701B1 (en) |
JP (1) | JP2001501009A (en) |
KR (1) | KR100552253B1 (en) |
DE (1) | DE69811854T2 (en) |
GB (1) | GB9715005D0 (en) |
WO (1) | WO1999004371A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000052595A2 (en) * | 1999-03-04 | 2000-09-08 | Mannacom Technologies Inc. | Method and system for transmitting texture information through communications networks |
WO2008108900A1 (en) * | 2007-03-06 | 2008-09-12 | Wildtangent, Inc. | Rendering of two-dimensional markup messages |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685534B2 (en) * | 2000-02-16 | 2010-03-23 | Jlb Ventures Llc | Method and apparatus for a three-dimensional web-navigator |
GB2379299B (en) * | 2001-09-04 | 2006-02-08 | Imagination Tech Ltd | A texturing system |
CA2387328C (en) * | 2002-05-24 | 2012-01-03 | Diversinet Corp. | Mobile terminal system |
US20040204127A1 (en) * | 2002-06-24 | 2004-10-14 | Forlines Clifton L. | Method for rendering with composited images on cellular telephones |
KR20050036722A (en) * | 2003-10-14 | 2005-04-20 | 삼성전자주식회사 | 3 dimension object graphic processing apparatus and 3 dimension scene graph processing apparatus |
KR100657946B1 (en) * | 2005-01-28 | 2006-12-14 | 삼성전자주식회사 | Method and apparatus for creating procedural texture for natural phenomenon in the 3-Dimensions graphics and recording media thereof |
US7280107B2 (en) | 2005-06-29 | 2007-10-09 | Microsoft Corporation | Procedural graphics architectures and techniques |
US7746344B2 (en) * | 2006-01-27 | 2010-06-29 | Auryn Inc. | Identification of occlusions in stroke-based rendering |
WO2009131277A1 (en) * | 2008-04-24 | 2009-10-29 | Thinkware Systems Corporation | System and method for displaying three-dimensional map using template modeling |
KR100888155B1 (en) * | 2008-05-14 | 2009-03-10 | 팅크웨어(주) | System and method for displaying 3-dimension map using texture mapping |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274760A (en) * | 1991-12-24 | 1993-12-28 | International Business Machines Corporation | Extendable multiple image-buffer for graphics systems |
US5631975A (en) * | 1992-04-14 | 1997-05-20 | Koninkl Philips Electronics Nv | Image segmentation device |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5097427A (en) * | 1988-07-06 | 1992-03-17 | Hewlett-Packard Company | Texture mapping for computer graphics display controller system |
US5680525A (en) * | 1991-08-08 | 1997-10-21 | Hitachi, Ltd. | Three-dimensional graphic system with an editor for generating a textrue mapping image |
GB2267203B (en) * | 1992-05-15 | 1997-03-19 | Fujitsu Ltd | Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping |
US5388206A (en) * | 1992-11-13 | 1995-02-07 | The University Of North Carolina | Architecture and apparatus for image generation |
JPH06251166A (en) | 1993-02-25 | 1994-09-09 | Toshiba Corp | Image processing device |
DE69424716T2 (en) * | 1993-04-01 | 2001-02-08 | Sun Microsystems Inc | Method and device for adaptive control of texture mapping |
US5548709A (en) * | 1994-03-07 | 1996-08-20 | Silicon Graphics, Inc. | Apparatus and method for integrating texture memory and interpolation logic in a computer system |
TW304254B (en) * | 1994-07-08 | 1997-05-01 | Hitachi Ltd | |
US5847712A (en) * | 1995-01-03 | 1998-12-08 | University Of Washington | Method and system for generating graphic illustrations according to a stroke texture and a tone |
DE69635638T2 (en) | 1995-06-06 | 2006-07-20 | Hewlett-Packard Development Co., L.P., Houston | Buffer memory for texture data |
US5999189A (en) * | 1995-08-04 | 1999-12-07 | Microsoft Corporation | Image compression to reduce pixel and texture memory requirements in a real-time image generator |
US6005582A (en) * | 1995-08-04 | 1999-12-21 | Microsoft Corporation | Method and system for texture mapping images with anisotropic filtering |
US5880737A (en) * | 1995-08-04 | 1999-03-09 | Microsoft Corporation | Method and system for accessing texture data in environments with high latency in a graphics rendering system |
JP2000515270A (en) * | 1996-01-24 | 2000-11-14 | サン・マイクロシステムズ・インコーポレイテッド | Dual instruction set processor for execution of instruction sets received from network or local memory |
US5926647A (en) * | 1996-10-11 | 1999-07-20 | Divicom Inc. | Processing system with dynamic alteration of a color look-up table |
US6111582A (en) * | 1996-12-20 | 2000-08-29 | Jenkins; Barry L. | System and method of image generation and encoding using primitive reprojection |
-
1997
- 1997-07-17 GB GB9715005A patent/GB9715005D0/en active Pending
-
1998
- 1998-06-29 WO PCT/IB1998/000992 patent/WO1999004371A1/en active IP Right Grant
- 1998-06-29 JP JP11506784A patent/JP2001501009A/en not_active Abandoned
- 1998-06-29 DE DE69811854T patent/DE69811854T2/en not_active Expired - Fee Related
- 1998-06-29 EP EP98925879A patent/EP0951701B1/en not_active Expired - Lifetime
- 1998-06-29 KR KR1019997002259A patent/KR100552253B1/en not_active IP Right Cessation
- 1998-07-17 US US09/118,572 patent/US7456841B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274760A (en) * | 1991-12-24 | 1993-12-28 | International Business Machines Corporation | Extendable multiple image-buffer for graphics systems |
US5631975A (en) * | 1992-04-14 | 1997-05-20 | Koninkl Philips Electronics Nv | Image segmentation device |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000052595A2 (en) * | 1999-03-04 | 2000-09-08 | Mannacom Technologies Inc. | Method and system for transmitting texture information through communications networks |
WO2000052595A3 (en) * | 1999-03-04 | 2002-03-07 | Mannacom Technologies Inc | Method and system for transmitting texture information through communications networks |
WO2008108900A1 (en) * | 2007-03-06 | 2008-09-12 | Wildtangent, Inc. | Rendering of two-dimensional markup messages |
US8117541B2 (en) | 2007-03-06 | 2012-02-14 | Wildtangent, Inc. | Rendering of two-dimensional markup messages |
US9171397B2 (en) | 2007-03-06 | 2015-10-27 | Wildtangent, Inc. | Rendering of two-dimensional markup messages |
Also Published As
Publication number | Publication date |
---|---|
DE69811854T2 (en) | 2003-11-06 |
KR100552253B1 (en) | 2006-02-15 |
US20020057277A1 (en) | 2002-05-16 |
DE69811854D1 (en) | 2003-04-10 |
JP2001501009A (en) | 2001-01-23 |
GB9715005D0 (en) | 1997-09-24 |
EP0951701B1 (en) | 2003-03-05 |
KR20000068580A (en) | 2000-11-25 |
US7456841B2 (en) | 2008-11-25 |
EP0951701A1 (en) | 1999-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4465049B2 (en) | Virtual environment navigation aid | |
US6184888B1 (en) | Method and apparatus for rapidly rendering and image in response to three-dimensional graphics data in a data rate limited environment | |
KR100995157B1 (en) | A component of a graphics subsystem, a computer readable recording medium, and a method of providing target memory buffers | |
US7283135B1 (en) | Hierarchical tile-based data structure for efficient client-server publishing of data over network connections | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
JP4819164B2 (en) | Image-mapped point cloud with the ability to accurately display point coordinates | |
KR101130407B1 (en) | Systems and Methods for Providing an Enhanced Graphics Pipeline | |
US7400331B2 (en) | Apparatus and methods for texture mapping | |
EP0951701B1 (en) | Graphic image texture generation | |
WO2002095687A1 (en) | Efficient image parcel texture rendering with t-junction crack elimination | |
US6924814B1 (en) | System and method for simulating clip texturing | |
GB2406252A (en) | Generation of texture maps for use in 3D computer graphics | |
EP0951685B1 (en) | Distributed database access via virtual environment browser | |
US6169545B1 (en) | Data management within a virtual environment browser | |
EP1027682B1 (en) | Method and apparatus for rapidly rendering an image in response to three-dimensional graphics data in a data rate limited environment | |
US6285373B1 (en) | Method and apparatus for texture transmission and storage | |
JP2000515659A (en) | Virtual environment data browser |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP KR |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1998925879 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 1999 506784 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1019997002259 Country of ref document: KR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 1998925879 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1019997002259 Country of ref document: KR |
|
WWG | Wipo information: grant in national office |
Ref document number: 1998925879 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 1019997002259 Country of ref document: KR |