FI108679B - A 3D graphics arrangement - Google Patents

A 3D graphics arrangement Download PDF

Info

Publication number
FI108679B
FI108679B FI973682A FI973682A FI108679B FI 108679 B FI108679 B FI 108679B FI 973682 A FI973682 A FI 973682A FI 973682 A FI973682 A FI 973682A FI 108679 B FI108679 B FI 108679B
Authority
FI
Finland
Prior art keywords
map
elevation
elevation map
value
polygons
Prior art date
Application number
FI973682A
Other languages
Finnish (fi)
Swedish (sv)
Other versions
FI973682A0 (en
FI973682A (en
Inventor
Otto Chrons
Eero Pajarre
Original Assignee
Vlsi Solution Oy
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 Vlsi Solution Oy filed Critical Vlsi Solution Oy
Priority to FI973682A priority Critical patent/FI108679B/en
Publication of FI973682A0 publication Critical patent/FI973682A0/en
Publication of FI973682A publication Critical patent/FI973682A/en
Application granted granted Critical
Publication of FI108679B publication Critical patent/FI108679B/en

Links

Landscapes

  • Image Generation (AREA)

Description

3D-grafiikkalaite ^ U b 6 7 93D Graphics Device ^ U b 6 7 9

Nyt esillä oleva keksintö koskee patenttivaatimuksen 1 johdanto-osan 5 mukaista laitetta kolmiulotteisen grafiikan esittämiseksi.The present invention relates to an apparatus for displaying three-dimensional graphics according to the preamble of claim 1.

Integroituina piireinä toteutettavien tietojenkäsittely-yksiköiden yhtenä yhä tärkeämpänä sovellusalueena on kolmiulotteisen grafiikan esittäminen. Kolmiulotteisen grafiikan esitysprosessi koostuu tyypillisesti 10 useista toimenpiteistä. Esitysprosessi alkaa korkeatasoisesta sovellus-tiedosta, joka kuvaa esitettävää kuvauspaikkaa esineiden joukkona. Nämä esineet muunnetaan sitten kuvantamisjärjestelmää varten sopivaan avaruuskoordinaatistoon, ja niille lasketaan eri määreitä vastaavat arvot. Tämän jälkeen esineiden muunnostiedot muunnetaan rasteroin-15 niksi nimitetyssä prosessissa sarjaksi lukuarvoja, jotka vastaavat esineen näytöllä olevan kuvan kutakin kuva-alkiota.One of the increasingly important applications of data processing units implemented as integrated circuits is the representation of three-dimensional graphics. The process of rendering 3D graphics typically consists of 10 steps. The presentation process starts with a high level of application data that describes the scene to be displayed as a set of objects. These objects are then converted into a space coordinate system suitable for the imaging system, and values corresponding to different attributes are calculated for them. The object conversion data is then converted into a process called a raster-15 into a series of numeric values corresponding to each pixel in the image on the object display.

i | Tyypillisissä toteutusmuodoissa esinettä kuvaa joukko monikulmioita, esimerkiksi kolmioita. Monikulmion kunkin kärjen (huippupisteen) arvo 20 kuva-alkion parametreinä määräytyy esineen ja ympäristön ominaisuuksien perusteella. Näin ollen kullekin monikulmion alueella olevalle kuva-alkiolle muodostetaan kuva-alkion parametrit joko lineaarisen interpoloinnin avulla tai sopivimmin käyttäen perspektiivinkorjausinter-polointia.i | In typical embodiments, the object is represented by a plurality of polygons, for example, triangles. The value of each vertex (vertex) of a polygon as parameters of 20 pixels is determined by the properties of the object and the environment. Thus, for each pixel in the area of the polygon, the pixel parameters are formed either by linear interpolation or, preferably, by using perspective correction interpolation.

: 25: 25

Kunkin kuva-alkion lukuarvot voivat edustaa kunkin kuva-alkion väri-arvoja, kuva-alkion X- ja Y-koordinaatteja, kuva-alkion syvyyttä näytöllä kuvaavaa Z-arvoa, ja yhtä tai useampaa pintakartta- (pintarakenne-) koordinaattisarjaa.The numerical values of each pixel may represent the color values of each pixel, the X and Y coordinates of the pixel, the Z value representing the depth of the pixel on the screen, and one or more sets of surface map (surface structure) coordinates.

3030

Kuvantamisprosessin viimeisessä vaiheessa tämä tietovirta kootaan yhteen ja yhdistetään olemassaolevaan grafiikkatietoon lopullisten : : kuva-alkioarvojen luomiseksi. Yksittäisen kuva-alkion kokoonpano- v : prosessi on yleensä riippuvainen useista parametreista sekä myös nii- 35 den kuva-alkioiden tiedoista, jotka on tuotettu aiemmin näytölle.In the final step of the imaging process, this data stream is aggregated and combined with existing graphics data to create final:: pixel values. The configuration of a single pixel: the process generally depends on a number of parameters as well as the information of those pixels that have been previously generated on the screen.

On olemassa menetelmiä, kuten pintarakennekartoitus, joiden avulla kuvan todenmukaisuutta voidaan parantaa tunnetun tekniikan tason 2 108579 mukaisissa kolmiulotteisissa grafiikkajärjestelmissä. Ympäristön kartoitus on menetelmä, jonka avulla voidaan mallintaa ympäristön valonlähteiden vaikutusta hajottavalla pinnalla ja heijastuspinnan ympäristöä yleensä. Se perustuu siihen, että luodaan kuvattavan kohteen ympäris-5 töä edustava pintarakennekartta. Tämä pintarakennekartta voidaan luoda esimerkiksi muodostamalla pallonmuotoinen projektio ympäristöstä, kuten kuvauspaikan muista esineistä ja valonlähteistä.There are methods, such as surface texture mapping, that can improve the accuracy of the image in prior art three-dimensional graphics systems according to prior art 2 108579. Environmental mapping is a method of modeling the effect of ambient light sources on the scattering surface and the environment of the reflecting surface in general. It is based on the creation of a map of the surface structure of the object being photographed. This texture map can be created, for example, by creating a spherical projection of the environment, such as other objects in the scene and light sources.

Päinvastoin kuin tyypillinen pintarakennekartta, tämä kartta ei ole kiin-10 teä esineen pinnan suhteen. Sen sijaan pintarakennekartan pisteen koordinaatit, jotka vastaavat kuvattavan kohteen pinnalla olevaa pistettä, määräytyvät dynaamisesti. Tämä koordinaattimuunnos perustuu tyypillisesti pinnan normaalivektoreihin. Esimerkiksi käytettäessä ympäristön palloprojektiokarttaa ja pinnan hajavalaistusmallia on pinnan 15 kunkin pisteen ympäristökartan oikea koordinaatti suoraan pinnan nor-maalivektori tässä pisteessä, jos normaalivektori esitetään käyttäen j pallokoordinaatistoa. Kokonaan heijastavan pinnan oikea koordinaatti- | vektori saadaan peilaamalla vektori, joka vastaa katsojan suuntaa pin nan pisteestä, pinnan normaalivektoriin.Unlike a typical surface texture map, this map is not fixed to the object surface. Instead, the coordinates of the point on the surface map corresponding to the point on the surface of the object to be imaged are dynamically determined. This coordinate transformation is typically based on normal surface vectors. For example, when using an ambient sphere projection map and a surface diffused illumination model, the correct coordinate of the environmental map of each point on the surface 15 is directly at this point on the surface if the normal vector is represented using j sphere coordinates. Correct coordinate of the fully reflecting surface. | the vector is obtained by mirroring the vector corresponding to the viewer's direction from the surface point to the normal surface vector.

2020

Koordinaattimuunnos toteutetaan tyypillisesti edellä esitetyllä tavalla pätevästi vain määrittämällä ympäristön oikeat karttakoordinaatit pinnan muodostavien monikulmioiden kullekin kärjelle ja käyttämällä näiden koordinaattien välillä lineaarista tai perspektiivinkorjausinterpolointia.Typically, the coordinate transformation is performed as described above by validly determining the correct map coordinates of the environment at each vertex of the surface forming polygons and using linear or perspective correction interpolation between these coordinates.

! ·.: 25 Y; Kuten edellä on esitetty, ympäristön koordinaattimuunnosprosessi so veltuu tasaisten pintojen kuvantamiseen. Todenmukaisten kuvaus-v. paikkojen esittämiseksi käytetään tekniikkaa, jota kutsutaan kohouma- kartoitukseksi.! ·: 25 Y; As discussed above, the environmental coordinate transformation process is applicable to imaging flat surfaces. Truthful description-v. The technique used to represent locations is called elevation mapping.

:·. 30·. 30

Kohoumakartoituksessa pintaan liitetään lisäksi sopivimmin kaksiulotteinen pinnanmuodostuskartta. Tämä ns. kohoumakartta sisältää tietoa : siitä, kuinka ympäristön karttakoordinaatisto vastaa pintaa, jossa on erilaisia pinnan normaalivektoreita pinnan eri kohdilla, jolloin syntyy vai-35 kutelma karheasta pinnasta. Kohoumakartoituksen periaatetta on ku-'.···. vattu esimerkiksi Addison-Wesley -kustantamon julkaisussa "Fundamentals of three-dimensional Computer Graphics", jonka on kir-:: joittanut Alan Watt, 1989.In addition, for elevation mapping, a two-dimensional mapping map is preferably attached to the surface. This so-called. the elevation map contains information about how the map coordinate system of the environment corresponds to a surface with different surface normal vectors at different points on the surface, resulting in a rough-35 texture of the rough surface. The principle of mapping is ku - '. ···. See, for example, Addison-Wesley, "Fundamentals of Three-Dimensional Computer Graphics," by Alan Watt, 1989.

3 1086793, 108679

Tyypillisessä toteutuksessa on myös määriteltävä jotenkin kohouma-kartan orientaatio. Tähän on syynä se, että jos tarkastellaan pintaa, joka on periaatteessa tasainen, mutta siinä on kohoumia, ja jos pintaa 5 käännetään käyttäen sen normaalivektoria kääntöakselina, kohoumien visuaalinen vaikutelma muuttuu pintaa käännettäessä. Tätä ei voida saada aikaan kuvantamisprosessissa määrittelemättä kohoumakartan suuntaa. Tämä saadaan aikaan käyttämällä epätasaisuuden lähtökohtana paikallisiin pinnan derivaattoihin perustuvaa koordinaatistoa.In a typical implementation, the orientation of the elevation map must also be defined. The reason for this is that if one looks at a surface that is substantially flat but has elevations, and if the surface 5 is rotated using its normal vector as an axis of rotation, the visual impression of the elevations changes as the surface is rotated. This cannot be achieved in the imaging process without specifying the direction of the elevation map. This is achieved by using a coordinate system based on local surface derivatives as a starting point for the unevenness.

1010

Tyypillisessä kuvauspaikassa esimerkiksi esineen vasen ja oikea kulma heijastavat ympäristöä lähes vastakkaisista suunnista. Tämä saa aikaan sen, että esine peittää suuren alan ympäristön koko kartasta. Tästä syystä kohoumakartan orientaatiot esineen eri alueilla voivat 15 myös olla hyvin erilaiset.In a typical shooting location, for example, the left and right corners of an object reflect the environment from almost opposite directions. This causes the object to cover a large area around the map. Therefore, the orientations of the elevation map in different areas of the object may also be very different.

On mahdollista määritellä kunkin pinnan muodostavan monikulmion | yksittäinen suunta. Tämä voi johtaa suhteellisen yksinkertaiseen toteu tukseen, ja sitä on käytetty joissakin tunnetun tekniikan tason mukai-20 sissa graafisissa järjestelmissä, mutta se johtaa myös kiusallisiin kuva-virheisiin alueilla, joissa (vierekkäiset) eri monikulmiot koskettavat kohteen pintoja, jotka ovat kohoumakartassa erisuuntaisia.It is possible to define the polygon | single direction. This can lead to a relatively simple implementation and has been used in some prior art graphic systems, but it also results in annoying image errors in areas where (adjacent) different polygons touch the surfaces of the object that are different in the elevation map.

Kohoumakartoitusprosessi toteutetaan yleensä esilaskemalla haku-25 taulukosta, joka on sopivimmin tallennettu luku/kirjoitusmuistiin (RAM, : Random Access Memory).The elevation mapping process is generally accomplished by pre-fetching a look-25 from a table, preferably stored in Random Access Memory (RAM).

’ Eurooppalaisessa patenttihakemuksessa EP-764 921 on kuvattu tieto- konegrafiikkapiiriä valon heijastaman varjokuvan esittämiseksi. Kohou-,. 30 manormaali määritellään kaksiulotteisella mallilla ja tallennetaan muis tivälineisiin. Se kartoitetaan satunnaissuuntaiselle pinnalle. Kohouma-kartoitus kääntää pinnan normaalia (kulmaa) kohoumanormaalin suh-: : teen. Monikulmiota täydennetään interpoloimalla käyttämällä hyväksi : koordinaatistoa, pinnan karttaosoitetta, pinnan kulmaa ja valonlähteen ;v; 35 kulmaa (usean valonlähteen järjestelmässä). Kohoumamalli muodoste-,··. taan kaksiulotteisten u-, v-koordinaattien avulla, joiden toiminnallinen ’ ·’ muuttuja määritetään u- ja v-koordinaattien kanssa kohtisuoran akselin vaakasuoran ja pystysuoran kulman, Bh ja Bv avulla. Tämä malli tai- j 4 108679 lennetään luku/kirjoitusmuistiin. Tällä piirillä on kuitenkin vielä se edellämainittu haitta, että vierekkäisten monikulmioiden tapauksessa ko-houmakartan normaalit voivat olla merkittävästi erisuuntaisia erityisesti kaarevissa pinnoissa, mikä johtaa tällaisilla alueilla kiusallisiin kuva-5 virheisiin.European Patent Application EP-764 921 describes a computer graphics circuit for displaying a light reflected shadow. Protrusion ,. The 30 manuals are defined by a two-dimensional model and stored in storage media. It is mapped to a random surface. The bump mapping rotates the surface normal (angle) to the bump normal. The polygon is complemented by interpolation using: coordinate system, surface map address, surface angle, and light source; 35 angles (multi-light system). Bump model, ··. is determined by two-dimensional u, v coordinates whose functional variable '·' is defined by the horizontal and vertical angles of the axis perpendicular to the u and v coordinates, Bh and Bv. This model or 4 108679 is flown to read / write memory. However, this circuit still has the aforementioned disadvantage that, in the case of adjacent polygons, the deflection map normals can be significantly misaligned, especially on curved surfaces, resulting in annoying image-5 errors in such areas.

Tämän keksinnön tarkoituksena on poistaa edellä mainitut epäkohdat mitä suurimmassa määrin ja saada aikaan tehokkaampi menetelmä ja laite kolmiulotteista kuvantamisprosessia varten. Keksintö perustuu sii-10 hen ajatukseen, että kohoumakartan normaalivektoreita interpoloidaan. Keksinnön mukaiselle menetelmälle on tunnusomaista se, mitä on esitetty oheisen patenttivaatimuksen 1 tunnusmerkkiosassa.The object of the present invention is to eliminate the above drawbacks to the greatest extent and to provide a more efficient method and apparatus for the three-dimensional imaging process. The invention is based on the idea that the normal elevation map vectors are interpolated. The process according to the invention is characterized by what is set forth in the characterizing part of the appended claim 1.

Keksinnöllä saadaan merkittäviä etuja. Kuvantamisprosessi suoritetaan 15 merkittävästi nopeammin kuin käyttäen tunnetun tekniikan tason mukaisia menetelmiä. Kuvantamistulos on myös todenmukaisempi ja sisäl-j tää vähemmän kuvavirheitä kuin tekniikan tason mukaisissa järjestel missä. Yhtenä tämän keksinnön etuna on lisäksi se, että kun kohou-makartoitusta ei käytetä joissakin kohteissa, kohoumakartan inter-20 polointilaitetta voidaan käyttää muihin tarkoituksiin, kuten esineiden lä-pinäkyvyyskertoimien muodostamiseen.The invention provides significant advantages. The imaging process is performed significantly faster than using methods known in the art. The imaging result is also more realistic and contains fewer image errors than prior art systems. It is a further advantage of the present invention that when the embossing mapping is not used in some applications, the embossing map interpolator may be used for other purposes such as generating object transparency coefficients.

Keksintöä selostetaan seuraavassa lähemmin viittaamalla oheisiin piirustuksiin, joissa 25 kuva 1 on pelkistetty lohkokaavio, joka esittää nyt esillä olevan keksinnön mukaisen grafiikkalaitteen erästä edullista suoritusmuotoa, ja I * 9 30 kuva 2 on pelkistetty lohkokaavio, joka esittää interpolointiyksikön edullista suoritusmuotoa.The invention will now be described in more detail with reference to the accompanying drawings, in which Fig. 1 is a reduced block diagram showing a preferred embodiment of a graphics device according to the present invention, and Fig. 2 is a simplified block diagram showing a preferred embodiment of an interpolation unit.

1 : Seuraavassa selostetaan keksinnön erään edullisen suoritusmuodon : mukaista menetelmää. Kohteet on määritelty monikulmioiksi, sopivim- : ··: 35 min kolmioiksi, ja kohoumakartan tietoja tallennetaan sopivimmin napa-.···. koordinaatistomuotoon luku/kirjoitusmuistiin 6 (kuval). Aluksi kustakin ’ ·’ monikulmiosta määritetään monikulmion kunkin kärjen kohoumakartan suunta BD. Kohoumakartan suunta määritetään sopivimmin napa- 5 108579 kulmamuotoon. Tämän keksinnön mukaisesti kohoumakartan suunnat kärjen kohdalla lasketaan käyttämällä sopivimmin kohteen kaikkien ko. pisteessä suppenevien monikulmioiden suuntatietoja. Tämä tarkoittaa, että kullakin suppenevalla monikulmiolla on edullisesti sama suuntatieto 5 tässä huippukohdassa. Tämän jälkeen kun monikulmiot rasteroidaan, muodostetaan kyseisen kuva-alkion interpoloitu suunta-arvo BDI käyttäen samanlaista interpolointitekniikkaa kuin käytetään kunkin kuva-alkion pintarakenteen koordinaattiarvojen muodostamiseen. Kohouma-kartan koordinaattiarvot Bx, By interpoloidaan pintarakenteen koordi-10 naattiosoitteen Taddr saamiseksi kyseiselle kuva-alkiolle.1: The following describes a method according to a preferred embodiment of the invention. Items are defined as polygons, preferably: ··: 35 min triangles, and elevation map data is preferably stored in polar · ···. coordinate format to read / write memory 6 (picture). Initially, for each polygon '·', the direction BD of the elevation map for each vertex of the polygon is determined. Preferably, the direction of the elevation map is determined by the polar angle 108579. In accordance with the present invention, the directions of the elevation map at the tip are calculated using preferably all of the points of interest of the object. direction information about converging polygons at a point. This means that each converging polygon preferably has the same directional information 5 at this peak. Thereafter, when polygons are rasterized, the interpolated orientation value BDI of that pixel is formed using an interpolation technique similar to that used to construct the coordinate values of the surface structure of each pixel. Coordinate values Bx, By of the elevation map are interpolated to obtain the coordinate of the surface structure, Taddr, for that pixel.

Pintarakenteen koordinaattiosoitteen Taddr avulla noudetaan kohteen kohoumakarttatiedot muistista 6. Näin saatu kohoumakarttatieto, joka käsittää suuruustiedon BM ja suuntatiedon BD, yhdistetään interpoloi-15 tuun suunta-arvoon (kulma-arvoon) BDI ja mahdollisesti vakiokulma-arvoon C laskemalla yhteen kulma-arvot BD, BDI, C. Tunnetun tekniikan mukaisissa järjestelmissä kohoumakartan suunta on esitetty kohtisuorina koordinaattiarvoina, eikä laitteistopohjaisissa järjestelmissä ole käytetty interpolointitekniikkaa.The surface structure coordinate address Taddr is used to retrieve object elevation map data from memory 6. The resulting elevation map data, comprising magnitude BM and direction BD, is combined with the interpolated 15 directional angle (angular value) BDI and optionally a constant angle value BD by summing the angular values BD , C. In prior art systems, the direction of the elevation map is represented as perpendicular coordinate values, and in hardware based systems, no interpolation technique is used.

2020

Joissakin tilanteissa saattaa olla tarpeetonta käyttää interpoloitua suunta-arvoa BDI, jolloin sen sijaan voidaan käyttää vakioarvoa C.In some situations, it may not be necessary to use the interpolated reference value BDI, which may instead use a constant value C.

Seuraavassa vaiheessa näin saatu kohoumakartta-arvo muunnetaan 25 ensin napakoordinaateista suorakulmaiseen koordinaatistoon, ja tämän jälkeen näitä muunnettuja koordinaattiarvoja Dx, Dy käytetään pintarakenteen osoitteen muuntamiseen. Muunnettua pintarakenteen osoi-. tetta MTaddr käytetään lopuksi ympäristön kartta-arvojen (pintarakennetietojen) noutamiseen, jotka on myös tallennettu sopi-. 30 vimmin luku/kirjoitusmuistiin.In the next step, the elevation map value thus obtained is first converted from polar coordinates to a rectangular coordinate system, and then these converted coordinate values Dx, Dy are used to transform the address of the surface structure. The modified surface structure showed. Finally, MTaddr is used to retrieve environmental map values (texture data), which are also stored in the appropriate map. 30 most read / write memory.

Tällaisissa sovelluksissa, joissa käytetään pallomaisia ympäristön ‘ : karttoja, keksinnön mukaisessa menetelmässä voidaan käyttää myös x-koordinaatin skaalausta jakamalla se funktiolla sin(—(l-\y\)), jossaIn such applications, using spherical maps of the environment ': the method of the invention may also employ x-coordinate scaling by dividing it by the function sin (- (l- \ y \)),

| · I| · I

35 oletetaan, että y = ±1 pallon navoissa. Tämä skaalaus tasoittaa sitä ' * · ·" seikkaa, että pallon pinnalla pohjois—etelä-akselin ympäri kulkevien ympyröiden kehä lyhenee napoja kohti, mutta jos sen sijaan käytetään 6 108579 triviaalia pallokarttaprojektiota, jossa pituus- ja leveyskoordinaatteja käytetään karteesisen kartan suorakulmaisina koordinaatteina, kartan leveys ei muutu ekvaattorilta napoja kohti siirryttäessä.35 suppose that y = ± 1 on the sphere poles. This scaling compensates for the fact that the circumference of the circles on the surface of the globe around the north-south axis is shortened to the poles, but if instead we use 6 108579 trivial spherical map projections that use the Cartesian map as Cartesian coordinates, does not change as you move from the equator towards the poles.

5 Kuva 1 on pelkistetty lohkokaavio, joka esittää nyt esillä olevan keksinnön mukaisen grafiikkalaitteen 1 edullista suoritusmuotoa. Siinä on esitetty ainoastaan grafiikkalaitteen 1 oleelliset piirteet. Ensimmäinen interpolointiyksikkö 2 laskee monikulmion rasteroidun pisteen kohou-makartan x-koordinaatin. Toinen interpolointiyksikkö 3 laskee moni-10 kulmion rasteroidun pisteen kohoumakartan y-koordinaatin. Lasketut x-ja y-koordinaatit siirretään pintarakenneosoitteen laskentayksikköön 4, jossa lasketaan kyseisen pisteen pintarakenteen osoite Taddr. Pintarakenteen osoitteen laskentayksiköstä 4 laskettu osoitetieto siirretään muistinlukuyksikköön 5. Tämä muistinlukuyksikkö 5 muodostaa laske-15 tuista pintarakenteen koordinaateista muistinlukuosoitteen. Tämä osoite viittaa muistipaikkaan muistielimissä 6, joihin kohoumakartan tiedot tallennetaan. Tämä muistipaikka sisältää pinnan pisteen kohouma-karttatiedon sopivimmin napakoordinaattimuodossa. Kohoumakartan kullekin yksityiskohdalle varattu muistitila riippuu sovelluksesta. Se voi 20 käsittää esimerkiksi yhden tavun suuruustietoa varten ja yhden tavun suuntatietoa (kulmatietoa) varten. Yksi tavu käsittää tyypillisesti 8 bittiä.Figure 1 is a simplified block diagram showing a preferred embodiment of the graphic device 1 according to the present invention. Only the essential features of the graphics device 1 are shown therein. The first interpolation unit 2 calculates the x-coordinate of the elevated macrobar of the polygon rasterized point. The second interpolation unit 3 calculates the y-coordinate of the elevation map of the rasterized dot of the polygon 10. The calculated x and y coordinates are transferred to the surface structure address calculating unit 4, where the surface structure address Taddr of that point is calculated. The address information calculated from the surface address calculating unit 4 is transferred to the memory reading unit 5. This memory reading unit 5 forms a memory reading address from the calculated surface structure coordinates. This address refers to the memory location in the memory members 6 where the elevation map data is stored. This location contains the surface point elevation map data, preferably in polar coordinates. The memory space reserved for each detail of the elevation map depends on the application. For example, it may comprise one byte for size information and one byte for directional information. One byte typically comprises 8 bits.

Kolmas interpolointiyksikkö 7 määrittää interpoloidun kohoumakartta-suunta-arvon kyseisessä pisteessä. Interpoloitu suunta-arvo lasketaan 25 ensimmäisessä summauselimessä 8 yhteen vakiosuunta-arvon kanssa, : joka noudetaan vakiokiertorekisteristä 9. Tulos ja muistielimestä 6 nou- dettu kohoumasuunta-arvo lasketaan edelleen yhteen toisessa sum-I . mauselimessä 10. Muistielimestä 6 noudettu kohoumasuuruusarvo ja toisesta summauselimestä 10 saatu kohoumasuunta-arvo muunnetaan ... 30 napakoordinaateista suorakulmaisiksi koordinaateiksi koordinaatti- muunnoselimessä 11, joka muodostaa kohouman x-siirtymäarvon Dx ja kohouman y-siirtymäarvon Dy. Kompensointielin 12 kompensoi ko- t * /Γ houman x-siirtymäarvon Dx jakamalla sen funktiolla sin(—(l-\y\)), ..'. jossa y on rasteroidun kuva-alkion y-koordinaatti.The third interpolation unit 7 determines the directional value of the interpolated elevation map at that point. The interpolated directional value in the first 25 summing members 8 is added to the constant direction value: which is retrieved from the constant rotation register 9. The result and the elevation direction value retrieved from the memory member 6 are further summed in the second sum-I. the elevation magnitude value retrieved from the memory element 6 and the elevation direction value obtained from the second summing element 10 are converted ... from polar coordinates to orthogonal coordinates in the coordinate transform element 11, which forms the x displacement value Dx and the y displacement value Dy. Compensation element 12 compensates for the size * / Γ of the x-displacement Dx of the houma by dividing by the function sin (- (l- \ y \)), .. '. where y is the y-coordinate of the rasterized pixel.

3535

Kuvassa 1 on esitetty myös neljäs 13 ja viides interpolointiyksikkö 14. Niitä käytetään muodostamaan interpoloidut ympäristökartan koordi-Figure 1 also shows the fourth 13 and the fifth interpolation unit 14. They are used to form interpolated environmental map coordinates.

, . I 4 I,. I 4 I

7 1 G 8 6 7 9 naatit sinänsä tunnetuista ympäristön karttatiedoista. Interpolointi voi olla lineaari- tai perspektiivikorjattua interpolointia. Perspektiivikorjattu interpolointi huolehtii perspektiivivaikutelmasta. Nämä ympäristön koordinaatit lasketaan yhteen kohoumasiirtymäarvojen kanssa vastaa-5 vissa kolmannessa 15 ja neljännessä summauselimessä 16. Kolmas 15 ja neljäs summauselin 16 tulostavat kohoumakartan korjattuja koordi-naattiarvoja, joita käytetään kyseisen pisteen pintarakenteen tietojen noutamiseksi. Pintarakenneosoitteen laskentaelin 17 käyttää kohoumakartan korjattuja koordinaattiansa pintarakenneosoitteen laskemi-10 seksi, jota käytetään toisessa muistinlukuyksikössä 18 pintarakenne-tietojen saamiseksi toisesta muistielimestä 19. Toinen muistinlukuyksik-kö18 siis tulostaa kyseisen pisteen kohoumakartan korjatun pinta-rakennetiedon.7 1 G 8 6 7 9 see maps of the environment known per se. The interpolation may be linear or perspective corrected interpolation. Perspective-corrected interpolation provides a perspective effect. These environmental coordinates are summed with the displacement values in the respective third 15 and fourth summing means 16. The third 15 and the fourth summing means 16 output the corrected coordinate values of the elevation map used to retrieve the surface structure data for that point. The surface structure calculator 17 uses its corrected map elevation map coordinates to compute the surface structure address 10 used in the second memory reading unit 18 to obtain surface structure information from the second memory means 19. The second memory reading unit 18 thus prints the corrected surface map of that point.

15 On huomattava, että vaikka tässä on esitetty kaksi muistinlukuyksikköä 5, 18 ja kaksi muistielintä 6, 19, ne voidaan todellisissa sovelluksissa toteuttaa myös yhtenä muistinlukuyksikkönä ja yhtenä muistina.It should be noted that although two memory reading units 5, 18 and two memory members 6, 19 are shown herein, they may also be implemented in one embodiment as a single memory reading unit and one memory.

Kuvassa 2 on pelkistetty lohkokaavio, joka esittää interpolointiyksikön 20 2, 3, 7, 13, 14 edullista suoritusmuotoa. Interpolointiyksikkö 2, 3, 7, 13, 14 käsittää multipleksointiyksikön 20, joka valitsee yhden kahdesta lähtöarvosta. Lähtöarvot ovat esimerkiksi x-siirtymäarvo DX ja y-siirtymäarvo DY. Multipleksointiyksikön 20 ulostulo yhdistetään summaus/vähennysyksikön 21 toiseen sisääntuloon. Sum-25 maus/vähennysyksikön 21 toinen sisääntulo on kytketty laskurin 22 ulostuloon. Summaus/vähennysyksikön 21 ulostulo on kytketty laskurin 22 sisääntuloon, ja se muodostaa myös interpolointiyksikön 2, 3, 7, ,·. 13,14 ulostulon.Figure 2 is a reduced block diagram showing a preferred embodiment of the interpolation unit 20, 3, 7, 13, 14. The interpolation unit 2, 3, 7, 13, 14 comprises a multiplexing unit 20 which selects one of two output values. The output values are, for example, x-offset DX and y-offset DY. The output of the multiplexing unit 20 is connected to the second input of the summing / subtracting unit 21. The second input of the sum-25 maus / subtraction unit 21 is coupled to the output of the counter 22. The output of the addition / subtraction unit 21 is coupled to the input of the counter 22 and also forms an interpolation unit 2, 3, 7,, ·. 13.14 output.

r » ,.. 30 Kun interpolointi aloitetaan (esimerkiksi monikulmion vasemmasta reu nasta), laskurin 22 sisältö on joko nolla tai se asetetaan lähtöarvoon.When interpolation is started (for example, to the left of the polygon), the content of counter 22 is either zero or set to an initial value.

: : Tätä keksintöä ei ole rajoitettu pelkästään edellä esitettyihin suoritus- v : muotoihin, vaan sitä voidaan muunnella oheisten patenttivaatimusten ./: 35 puitteissa.The present invention is not limited to the above embodiments, but may be modified within the scope of the appended claims.

I *I *

, I, I

1 i » t I »1 i »t I»

Claims (5)

1. Anordning för presentering av tredimensionell grafik, omfattande: — medel för att bestämma en eller flera polygoner av ett objekt som 5 skall presenteras, — medel (13, 14) för att kartlägga omgivningen, omfattande ett medel (6) för lagring av ytkonstruktionskartan och ett medel (5) för att avhämta uppgiften om ytkonstruktionen frän lagringsmedlet (6) av ytkonstruktionskartan, 10. medel (2, 3, 4) för att kartlägga upphöjningar, omfattande ett medel (6) för lagring av upphöjningskartan och ett medel (5) för avhämtning a upphöjningskartan frän lagringsmedlet (6), samt medel för bestämning av upphöjningskartans normala riktnings-vektor vid polygonens varje spets, 15. medel (15, 16) för att förändra koordinaterna av ytkonstruktionen enligt sagda uppgift om upphöjningar genom att tillsätta uppgiften om upphöjningskartan som en tvädimensionell förskjutning tili koordinaterna av ytkonstruktionskartan, och — medel (13, 14, 17, 18, 19) för att rastera bilder pä en 20 visningsanordning, kännetecknad därav, att anordningen (1) omfattar ytterligare medel (7) för interpolering av riktningsvektorer av upphöjningskartan genom att använda upphöjningskartans riktningsvärden vid spetsarna av polygonerna för att ästadkomma ett vinkelvärde, som används för att 25 rotera riktningsvektorn av upphöjningskartan för att förminska förtretliga • · · 0. bildfel pä omräden där avsmalnande polygoner möter pä objektets ytor.A device for presenting three-dimensional graphics, comprising: - means for determining one or more polygons of an object to be presented; - means (13, 14) for mapping the environment, comprising means (6) for storing the surface construction map and a means (5) for retrieving the surface construction data from the storage means (6) of the surface construction map, means (2, 3, 4) for mapping elevations, comprising a means (6) for storing the elevation map and a means (5). ) for picking up the elevation map from the storage means (6), and means for determining the normal direction vector of the elevation map at each point of the polygon, 15. means (15, 16) to change the coordinates of the surface structure according to said elevation data by adding the information about the elevation map as a two-dimensional offset to the coordinates of the surface construction map, and - means (13, 14, 17, 18, 19) for rasterization a view of a display device, characterized in that the device (1) comprises additional means (7) for interpolating directional vectors of the projection map by using the directional values of the projection map at the tips of the polygons to obtain an angular value used to rotate the directional vector of the elevation map to reduce tedious • · · 0. image errors in areas where tapered polygons meet on the object's surfaces. 2. Anordning (1) enligt krav 1, kännetecknad därav, att bildningsmedlet (7) av vinkelvärdet omfattar ytterligare medel (8, 9) för : att kombinera företrädesvis ett standard vinkelvärde med ett 30 vinkelvärde som är bildat med bildningsmedlet (7) av vinkelvärdet (7). • · ·»·Device (1) according to claim 1, characterized in that the forming means (7) of the angular value comprise further means (8, 9) for: combining preferably a standard angular value with an angular value formed with the forming means (7) of the angular value. (7). • · · » 3. Anordning (1) enligt krav 1 eller 2, kännetecknad därav, att . upphöjningskartan är lagrad som en tvädimensionell övergängskarta och värdena av upphöjningskartan är konverterade ett bildelement ät 35 gängen genom att kombinera riktningsdelen av upphöjningskartan genom att tillägga den i den interpolerade riktningsvinkeln och/eller •: · · i vinkelvärdet, som är standard för polygoner. 11 108579Device (1) according to claim 1 or 2, characterized in that:. the elevation map is stored as a two-dimensional transition map and the values of the elevation map are converted a pixel by the thread by combining the directional portion of the elevation map by adding it in the interpolated direction angle and / or: in the angle value, which is standard for polygons. 11 108579 4. Anordning (1) enligt krav 3, kännetecknad därav, att förskjutningen av den första dimensionen (x) skalas med ett värde, som är räknat enligt förskjutningen av den andra riktningen (y). 5Device (1) according to claim 3, characterized in that the displacement of the first dimension (x) is scaled by a value calculated according to the displacement of the second direction (y). 5 5. Anordning (1) enligt krav 4, kännetecknad därav, att skalningsvärdet är räknat med funktionen 1/sin(l-\y\). ! • · * · ♦ · · ♦ » · * *Device (1) according to claim 4, characterized in that the scaling value is calculated by the function 1 / sin (1 - y). ! • · * · ♦ · · ♦ »· * *
FI973682A 1997-09-12 1997-09-12 A 3D graphics arrangement FI108679B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FI973682A FI108679B (en) 1997-09-12 1997-09-12 A 3D graphics arrangement

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI973682A FI108679B (en) 1997-09-12 1997-09-12 A 3D graphics arrangement
FI973682 1997-09-12

Publications (3)

Publication Number Publication Date
FI973682A0 FI973682A0 (en) 1997-09-12
FI973682A FI973682A (en) 1999-03-13
FI108679B true FI108679B (en) 2002-02-28

Family

ID=8549526

Family Applications (1)

Application Number Title Priority Date Filing Date
FI973682A FI108679B (en) 1997-09-12 1997-09-12 A 3D graphics arrangement

Country Status (1)

Country Link
FI (1) FI108679B (en)

Also Published As

Publication number Publication date
FI973682A0 (en) 1997-09-12
FI973682A (en) 1999-03-13

Similar Documents

Publication Publication Date Title
US5325472A (en) Image displaying system for interactively changing the positions of a view vector and a viewpoint in a 3-dimensional space
US20230053462A1 (en) Image rendering method and apparatus, device, medium, and computer program product
El-Hakim et al. A multi-sensor approach to creating accurate virtual environments
JP3358169B2 (en) Mirror surface rendering method and apparatus
US7102647B2 (en) Interactive horizon mapping
US10593096B2 (en) Graphics processing employing cube map texturing
Theoharis et al. Graphics and visualization: principles & algorithms
US6469700B1 (en) Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps
US20090153555A1 (en) System and Computer-Implemented Method for Modeling the Three-Dimensional Shape of An Object by Shading of a Two-Dimensional Image of the Object
US20060114262A1 (en) Texture mapping apparatus, method and program
US10592242B2 (en) Systems and methods for rendering vector data on static and dynamic-surfaces using screen space decals and a depth texture
US6806886B1 (en) System, method and article of manufacture for converting color data into floating point numbers in a computer graphics pipeline
JP2005071368A (en) Method and device for capturing self-shadowing and self-interreflection light
US6724383B1 (en) System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object
CN113593027B (en) Three-dimensional avionics display control interface device
US6346939B1 (en) View dependent layer ordering method and system
Boreskov et al. Computer Graphics: From Pixels to Programmable Graphics Hardware
JP3629243B2 (en) Image processing apparatus and method for rendering shading process using distance component in modeling
KR100559127B1 (en) Image processing device
US6850244B2 (en) Apparatus and method for gradient mapping in a graphics processing system
US6188409B1 (en) 3D graphics device
KR100848687B1 (en) 3-dimension graphic processing apparatus and operating method thereof
FI108679B (en) A 3D graphics arrangement
Blythe et al. Lighting and shading techniques for interactive applications
CA2282240C (en) System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object