SE0801742A0 - Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda - Google Patents
Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestandaInfo
- Publication number
- SE0801742A0 SE0801742A0 SE0801742A SE0801742A SE0801742A0 SE 0801742 A0 SE0801742 A0 SE 0801742A0 SE 0801742 A SE0801742 A SE 0801742A SE 0801742 A SE0801742 A SE 0801742A SE 0801742 A0 SE0801742 A0 SE 0801742A0
- Authority
- SE
- Sweden
- Prior art keywords
- representation
- vertex
- group
- vertex points
- instructions
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 57
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008901 benefit Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 2
- 210000000941 bile Anatomy 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 210000004197 pelvis Anatomy 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Description
10
15
20
25
30
2
ningar och skrivbordsbildskärmsadaptrar. Dessutom finns det begränsningar
för klockfrekvensema hos varje GPU.
Följaktligen finns det fortfarande problem med otillräcklig förmåga att
förbättra prestandan i digitalt representerad grafik.
.Sammanfattning av uggfinningen
Med anledning av det ovanstående är ett ändamål med uppfinningen att lösa
eller åtminstone minska ett eller flera av problemen som diskuteras ovan.
Allmänt uppnås ovanstående ändamål medelst de bifogade oberoende
patentkraven.
I enlighet med en första aspekt förverkligas föreliggande uppfinning
genom ett förfarande för förbättring av prestandan avseende skapande av
digitalt representerad grafik. Förfarandet innefattar stegen att: ta emot en
första representation av en grupp av vertexpunkter, bestämma en andra
representation av nämnda grupp av vertexpunkter baserat på nämnda första
representation, exekvera en första uppsättning av instruktioner på nämnda
andra representation av nämnda grupp av vertexpunkter för åstadkommande
av en tredje representation av nämnda grupp av vertexpunkter, varvid
nämnda första uppsättning av instruktioner är associerade med vertexpunkt-
positionsbestämning, och låta nämnda tredje representation av nämnda
grupp av vertexpunkter undergå en gallringsprocess.
l datorgrafik innefattar en vertexpunkt data som är associerad med en
punkt i rymden. En vertexpunkt kan exempelvis vara alla data som associeras
med ett hörn hos en primitiv. Vertexpunkterna associeras inte bara med tre
rymdkoordinater utan även med annan grafisk information som är nödvändig
för rendering av objekt på ett korrekt sätt, såsom färger, reflektansegenska-
per, texturer och ytnonnaler.
En sammanhängande uppsättning av vertexpunkter kan användas för
att definiera en primitiv. En primitiv kan exempelvis vara en triangel, fyrsiding,
polygon, eller annan geometrisk form, eller alternativt kan en primitiv exem-
pelvis vara en yta eller en punkt i rymden. En primitiv som representeras som
en triangel har exempelvis tre vertexpunkter och en fyrsiding har fyra vertex-
punkter.
~
10
15
20
25
30
3
Föreliggande uppfinning baseras på insikten om att det är möjligt att
utföra gallring på grupper av vertexpunkter. Att utföra gallring på grupper av
vertexpunkter är fördelaktigt eftersom grupper av vertexpunkter kan förkastas
vilket resulterar i prestandavinster. Vidare vidarebefordras inte en majoritet av
ytorna hos objekten som ska renderas som är osynliga l den fullt renderade
bilden i processen, vilket även resulterar i prestandavinster. Med andra ord,
att utföra gallring på grupper av vertexpunkter är fördelaktigt eftersom man
undviker rendering av ytor som inte är synliga i föreliggande ram, vilket
resulterar i prestandavinster.
Nämnda första uppsättning av instruktioner som är associerade med
vertexpunktpositionsbestämning kan vara vertexpunktgallringsinstruktioner.
Vertexpunktgallringsinstruktionerna kan när de exekveras vara anordnade att
beräkna positionsgränser och andra typer av gränser.
Steget att exekvera en första uppsättning av instruktioner kan innefatta
att använda gränsaritmetik.
Att använda gränsaritmetik är fördelaktigt eftersom en konservativ
inneslutning av nämnda andra representation av gruppen av vertexpunkter
kan beräknas, det vill säga en inneslutning som garanterat innefattar nämnda
andra representation av nämnda grupp av vertexpunkter. Konservativa
inneslutningar är fördelaktiga eftersom steget att bestämma utförs på en
enklare men konservativ inneslutning vilket resulterar i prestandavinster.
Nämnda steg att bestämma en andra representation kan vidare
innefatta att använda gränsaritmetik.
Att använda gränsaritmetik vid bestämning av nämnda andra
representation är fördelaktigt eftersom nämnda andra representation kan bli
enklare vilket gör nämnda exekvering av nämnda första uppsättning av
instruktioner på nämnda andra uppsättning av instruktioner ännu mer effektiv
vilket resulterar i prestandavinster.
Förfarandet kan innefatta att nämnda gränsaritmetik är minst en från
gruppen av Taylor-aritmetik, intervallaritmetik och affin aritmetik.
Detta är fördelaktigt eftersom metoden är flexibel och stödjer olika
typer av gränsaritmetik och är inte begränsad till en typ av gränsaritmetik. En
fördel med intervallaritmetik är att den är enkel och därför snabb. En fördel
r~1.;};:»lštï>s flët-.ëxï översíatl
10
15
20
25
30
4
med Taylor-aritmetik är att polynomberäkningar kan representeras på ett
exakt sätt medelst Taylor-modeller (förutsatt att de är av tillräckligt stor
storleksordning) vilket leder till väldigt tättslutande gränser. Affin aritmetik är
fördelaktig eftersom den är snabbare jämfört med Taylor-aritmetik och
åstadkommer bättre gränser jämfört med intervallaritmetik.
Nämnda grupp av vertexpunkter kan innefatta vertexpunkter från minst
två primitiver.
Detta är fördelaktigt eftersom mer än en primitiv åt gången kan
behandlas vilket resulterar i prestandavinster.
Förfarandet kan innefatta att nämnda grupp av vertexpunkter innefattar
vertexpunkter som är associerade med samma uppsättning av instruktioner
som är associerade med vertexpunktpositionsbestämning_
Detta är fördelaktigt eftersom det underlättar behandlingen av nämnda
grupp av vertexpunkter. Att vertexpunktema är associerade med samma
uppsättning av instruktioner som är associerade med vertexpunktpositions-
bestämning innebär att samma första uppsättning av instruktioner kan
användas på nämnda andra representation som bestäms från alla vertex-
punkterna i nämnda grupp av vertexpunkter, snarare än att använda flera
första uppsättningar av instruktioner.
Förfarandet kan vidare innefatta steget att härleda nämnda första
uppsättning av instruktioner från en andra uppsättning av instruktioner som är
associerade med vertexpunktpositionsbestämning_
Detta är fördelaktigt eftersom nämnda första uppsättning av
instruktioner kan härledas automatiskt från ett vertexshaderprogram utan att
användaren behöver tillhandahålla instruktionerna. Att användaren inte
behöver tillhandahålla instruktionerna gör metoden ännu mer flexibel och
enkel att använda. Ett vertexshaderprogram innefattar en uppsättning av
instruktioner som är associerade med vertexpunktpositionsbestämning och
andra per-vertexberäkningar, såsom vertexljus.
Nämnda andra uppsättning av instruktioner som är associerade med
vertexpunktpositionsbestämning kan vara vertexshaderprograminstruktioner.
En vertexshaderenhet enligt känd teknik innefattar vertexshaderprogram-
instruktioner.
10
15
20
25
30
5
Förfarandet kan vidare innefatta stegen att härleda en tredje
uppsättning av instruktioner från nämnda andra uppsättning av instruktioner,
och exekvera nämnda tredje uppsättning av instruktioner för åstadkommande
av en normalgräns.
Detta är fördelaktigt eftersom nämnda tredje uppsättning av instruk-
tioner kan härledas automatiskt från vertexshaderprogrammet utan att en
användare behöver tillhandahålla instruktionerna och vidare kan normal-
gränsen beräknas automatiskt. Normalgränsen är fördelaktig eftersom
backface-gallring kan utföras vilket resulterar i prestandavinster.
Nämnda tredje uppsättning av instruktioner som är associerade med
vertexpunktpositionsbestämning kan vara vertexnonnalgallringsinstruktioner.
Vertexnormalgallringsinstruktionerna kan, när de exekveras, vara anordnade
att beräkna normalgränser.
Nämnda steg att ta emot en första representation kan vidare innefatta
att om antalet vertexpunkter i nämnda grupp av vertexpunkter överskrider ett
tröskelvärde, dela upp nämnda grupp av vertexpunkter i minst två undergrup-
per, varvid nämnda minst två undergrupper innefattar vertexpunkter som är
associerade med samma uppsättning av instruktioner som är associerade
med vertexpunktpositionsbestämning.
Steget att dela upp i undergrupper är fördelaktigt eftersom grupper av
lämplig storlek hanteras. Ju mindre undergrupperna är desto större är
möjligheten att gallringsprocessen resulterar i utförande av gallring på
nämnda minst en grupp av vertexpunkter. Vidare innebär vanligtvis mindre
grupper (undergrupperna) mer tättslutande gränser som omsluter grupperna.
Mer tättslutande gränser gör beräkningarna effektivare vilket resulterar i
prestandavinster. Att undergrupperna innefattar vertexpunkter som är
associerade med samma uppsättning av instruktioner som är associerade
med vertexpunktpositionsbestämning är fördelaktigt eftersom samma första
uppsättning av instruktioner kan användas på nämnda andra representation
som bestäms från alla vertexpunkter i gruppen av vertexpunkter. Detta
innebär att en ny uppsättning av instruktioner som är associerade med
vertexpunktpositionsbestämning inte behöver tillhandahållas för varje
10
15
20
25
30
6
vertexpunkt i gruppen av vertexpunkter som används för bestämning av
nämnda andra representation.
Nämnda steg att bestämma en andra representation kan vidare
innefatta att beräkna nämnda andra representation av nämnda grupp av
vertexpunkter, och lagra nämnda andra representation av nämnda grupp av
vertexpunkter i ett minne.
Detta är fördelaktigt eftersom nämnda beräkning av nämnda andra
representation inte behöver utföras varje gång. Istället kan nämnda andra
representation hämtas från ett minne vilket resulterar i prestandavinster.
Nämnda steg att bestämma en andra representation kan vidare
innefatta steget att hämta nämnda andra representation av nämnda grupp av
vertexpunkter från ett minne.
Detta är fördelaktigt eftersom nämnda andra representation kan
hämtas från minnet och behöver inte beräknas igen vilket resulterar i
prestandavinster.
Förfarandet kan vidare innefatta stegen att välja minst en vertexpunkt
från nämnda grupp av vertexpunkter, exekvera en uppsättning av instruk-
tioner som är associerade med vertexpunktpositionsbestämning på en första
representation av nämnda minst en vertexpunkt för åstadkommande av en
andra representation av nämnda minst en vertexpunkt, och låta nämnda
andra representation av nämnda minst en vertexpunkt undergå en gallrings-
process, varvid ett utfall hos nämnda gallringsprocess innefattar en av ett
beslut att gallra ut nämnda minst en vertexpunkt, och ett beslut att inte gallra
ut nämnda minst en vertexpunkt, och om utfallet av nämnda gallringsprocess
innefattar ett beslut att gallra ut nämnda minst en vertexpunkt, utför nämnda
steg att ta emot en första representation av en grupp av vertexpunkter,
bestämma en andra representation av nämnda grupp av vertexpunkter,
exekvera en första uppsättning av instruktioner som är associerade med
vertexpunktpositionsbestämning på nämnda andra representation av nämnda
grupp av vertexpunkter för åstadkommande av en tredje representation av
nämnda grupp av vertexpunkter, och låta nämnda tredje representation av
nämnda grupp av vertexpunkter undergå en gallringsprocess.
10
15
20
25
30
7
Detta är fördelaktigt eftersom det resulterar i prestandavinster. Om
exempelvis utfallet hos nämnda gallringsprocess innefattar ett beslut att inte
gallra ut nämnda minst en vertexpunkt ger det ett förfarande som är mindre
kapacitetskrävande jämfört med förfarandet enligt den första aspekten.
Förfarandet kan vidare innefatta stegen att bestämma en inneslutande
volym som omsluter nämnda tredje representation av nämnda grupp av
vertexpunkter och låta nämnda inneslutande volym undergå en gallrings-
process.
Detta är fördelaktigt eftersom gallringsprocessen kan vara enklare och
snabbare att utföra på en inneslutande volym än på nämnda tredje
representation och eftersom den inneslutande volymen bestäms automatiskt.
Nämnda steg att låta nämnda inneslutande volym undergå en gall-
ringsprocess kan vidare innefatta minst ett av stegen att låta nämnda
inneslutande volym undergå synfältsgallring, låta nämnda inneslutande volym
undergå backface-gallring och låta nämnda inneslutande volym undergå
occlusion-gallring. Detta är fördelaktigt eftersom majoriteten av ytorna hos
objekten som ska renderas som är osynliga i den fullt renderade bilden inte
vidarebefordras i processen och rendering av ytor som inte är synliga i den
föreliggande ramen undviks, vilket resulterar i prestandavinster. En ytterligare
fördel är att många olika gallringstekniker är tillämpliga.
Synfältsgallring är en gallringsteknik som baseras på det faktum att
endast objekt som kommer att vara synliga, det vill säga som är belägna inuti
synfältet, ska ritas.
Backface-gallring förkastar objekt som är vända bort från betraktaren,
det vill säga all objektets nonnalvektorer år riktade bort från betraktaren.
Dessa objekt kommer inte att vara synliga och det finns således inget behov
att rita dem.
Occlusion-gallring innebär att objekt som är blockerade förkastas.
Nämnda tredje representation kan vara minst en från gruppen
positionsgräns och normalgräns.
Positionsgränsen och normalgränsen kan användas för bestämning av
exempelvis positionen eller gränsen för gruppen av vertexpunkter. En fördel
är att positionsgränsen och normalgränsen kan båda bestämmas automatiskt.
10
15
20
25
30
8
Positions- och normalgränsen kan användas för utförande av backface-
gallring. Detta är fördelaktigt eftersom majoriteten av ytorna hos objekten som
ska renderas som är osynliga i den fullt renderade bilden inte vidarebefordras
i processen och rendering av ytor som inte är synliga i den föreliggande
ramen undviks, vilket resulterari prestandavinster. En annan fördel är att det
är möjligt att beräkna minst en av positions- och normalgränsen vilket kan
resultera i prestandavinster.
Nämnda steg att låta nämnda tredje representation undergå nämnda
gallringsprocess kan vidare innefatta att utföra minst ett av stegen att låta
nämnda positionsgräns undergå synfältsgallring, låta nämnda positionsgräns
eller nämnda normalgräns undergå backface-gallring och låta nämnda
positionsgräns undergå occlusion-gallring.
En fördel med detta är att många olika gallringstekniker är tillämpliga.
En annan fördel är att det är möjligt att utföra minst en av olika typer av
gallring vilket vilket kan resultera i prestandavinster.
Enligt en andra aspekt förverkligas föreliggande uppfinning medelst en
apparat som är anordnad att skapa digitalt representerad grafik. Apparaten
innefattar kretssystem för förbättring av prestandan avseende skapande av
digitalt representerad grafik, varvid nämnda kretssystem är anordnat att: ta
emot en första representation av en grupp av vertexpunkter, bestämma en
andra representation av nämnda grupp av vertexpunkter, exekvera en första
uppsättning av instruktioner som är associerade med vertexpunktpositions-
bestämning på nämnda andra representation av nämnda grupp av vertex-
punkter för åstadkommande av en tredje representation av nämnda grupp av
vertexpunkter, och låta nämnda tredje representation av nämnda grupp av
vertexpunkter undergå en gallringsprocess.
Det bör noteras att nämnda andra aspekt av uppfinningen kan
utformas med varje kombination av särdrag som motsvarar något av
särdragen hos den första aspekten av uppfinningen.
Fördelarna med den första aspekten är lika tillämpliga på den andra
aspekten.
Enligt en tredje aspekt förverkligas föreliggande uppfinning medelst en
datorprogramprodukt, innefattande datorprogramkod vilken lagras på ett
'dl 'tëslrilrrsfgsöliktir:Siw r
'ï5š-Eï2ï 013755"
" *ipfi f~.;-2l~ï>r.:e:
Claims (18)
1. Förfarande för förbättring av prestandan avseende skapande av digitalt representerad grafik, varvid förfarandet innefattar stegen att ta emot en första representation av en grupp av vertexpunkter, bestämma en andra representation av nämnda grupp av vertexpunkter baserat på nämnda första representation, i exekvera en första uppsättning av instruktioner på nämnda andra representation av nämnda grupp av vertexpunkter för åstadkommande av en tredje representation av nämnda grupp av vertexpunkter, varvid nämnda första uppsättning av instruktioner är associerade med vertexpunktpositions- bestämning, och läta nämnda tredje representation av nämnda grupp av vertexpunkter undergå en gallringsprocess.
2. Förfarande enligt krav 1, varvid steget att exekvera en första uppsättning av instruktioner innefattar att använda gränsaritmetik.
3. Förfarande enligt något av föregående krav, varvid nämnda steg att bestämma en andra representation vidare innefattar att använda gränsarit- metik.
4. Förfarande enligt krav 2 eller 3, varvid nämnda gränsaritmetik är minst en från gruppen av Taylor-aritmetik, intervallaritmetik och affin aritmetik.
5. Förfarande enligt något av föregående krav, varvid nämnda grupp av vertexpunkter innefattar vertexpunkter från minst två primitiver.
6. Förfarande enligt något av föregående krav, varvid nämnda grupp av vertexpunkter innefattar vertexpunkter som är associerade med samma uppsättning av instruktioner som är associerade med vertexpunktpositions- bestämning. 10 15 20 25 30 28
7. Förfarande enligt något av föregående krav, vidare innefattande steget att härleda nämnda första uppsättning av instruktioner från en andra uppsättning av instruktioner som är associerade med vertexpunktpositions~ bestämning.
8. Förfarande enligt krav 7, vidare innefattande stegen att: härleda en tredje uppsättning av instruktioner från nämnda andra uppsättning av instruktioner, och exekvera nämnda tredje uppsättning av instruktioner för åstadkommande av en normalgräns.
9. Förfarande enligt något av föregående krav, varvid nämnda steg att ta emot en första representation vidare innefattar stegen att om antalet vertexpunkter i nämnda grupp av vertexpunkter överskrider ett tröskelvärde, dela upp nämnda grupp av vertexpunkter i minst två undergrupper, varvid nämnda minst två undergrupper innefattar vertexpunkter som är associerade med samma uppsättning av instruktioner som är associerade med vertexpunktpositionsbestämning_
10. Förfarande enligt något av föregående krav, varvid nämnda steg att bestämma en andra representation vidare innefattar stegen att: beräkna nämnda andra representation av nämnda grupp av vertexpunkter, och lagra nämnda andra representation av nämnda grupp av vertexpunkter i ett minne.
11. Förfarande enligt något av kraven 1-9, varvid nämnda steg att bestämma en andra representation vidare innefattar steget att: hämta nämnda andra representation av nämnda grupp av vertex- punkter från ett minne. 10 15 20 25 30 29
12. Förfarande enligt något av föregående krav, vidare innefattande stegen att välja minst en vertexpunkt från nämnda grupp av vertexpunkter, exelwera en uppsättning av instruktioner som är associerade med vertexpunktpositionsbestämning på en första representation av nämnda minst en vertexpunkt för åstadkommande av en andra representation av nämnda minst en vertexpunkt, och låta nämnda andra representation av nämnda minst en vertexpunkt undergå en gallringsprocess, varvid ett utfall hos nämnda gallringsprocess innefattar en av ett beslut att gallra ut nämnda minst en vertexpunkt, och ett beslut att inte gallra ut nämnda minst en vertexpunkt, och om utfallet av nämnda gallringsprocess innefattar ett beslut att gallra ut nämnda minst en vertexpunkt, utför nämnda steg att ta emot en första representation av en grupp av vertexpunkter, bestämma en andra representation av nämnda grupp av vertex- punkter, exekvera en första uppsättning av instruktioner som är associerade med vertexpunktpositionsbestämning på nämnda andra representation av nämnda grupp av vertexpunkter för åstadkommande av en tredje representation av nämnda grupp av vertexpunkter, och låta nämnda tredje representation av nämnda grupp av vertexpunkter undergå en gallringsprocess.
13. Förfarande enligt något av föregående krav, vidare innefattande stegen att bestämma en inneslutande volym som omsluter nämnda tredje representation av nämnda grupp av vertexpunkter och låta nämnda inneslutande volym undergå en gallringsprocess.
14. Förfarande enligt krav 13, varvid nämnda steg att låta nämnda inneslutande volym undergå en gallringsprocess vidare innefattar minst ett av stegen att 10 15 20 25 30 30 låta nämnda inneslutande volym undergå synfältsgallring, låta nämnda inneslutande volym undergå backface-gallring och låta nämnda inneslutande volym undergå occlusion-gallring.
15. Förfarande enligt något av föregående krav, varvid nämnda tredje representation är minst en från gruppen positionsgräns och normalgräns.
16. Förfarande enligt krav 15, varvid nämnda steg att låta nämnda tredje representation undergå nämnda gallringsprocess vidare innefattar att utföra minst ett av stegen att låta nämnda positionsgräns undergå synfältsgallring, låta nämnda positionsgräns eller nämnda normalgräns undergå backface-gallring och låta nämnda positionsgräns undergå occlusion-gallring.
17. Apparat anordnad att skapa digitalt representerad grafik innefattande kretssystem för förbättring av prestandan avseende skapande av digitalt representerad grafik, varvid nämnda kretssystem är anordnat att: ta emot en första representation av en grupp av vertexpunkter, bestämma en andra representation av nämnda grupp av vertex- punkter, exekvera en första uppsättning av instruktioner som är associerade med vertexpunktpositionsbestämning på nämnda andra representation av nämnda grupp av vertexpunkter för åstadkommande av en tredje representation av nämnda grupp av vertexpunkter, och låta nämnda tredje representation av nämnda grupp av vertexpunkter undergå en gallringsprocess.
18. Datorprogramprodukt, innefattande datorprogramkod vilken lagras på ett datorläsbart lagringsmedium och vilken, när denna exekveras på en processor, utför förfarandet enligt något av kraven 1-16. '>;t~_r llfzlls-zl mferïwzïi
Priority Applications (16)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE0801742A SE0801742L (sv) | 2008-07-30 | 2008-07-30 | Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda |
JP2010543083A JP2011510396A (ja) | 2008-01-23 | 2009-01-23 | グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト |
CN200980103541.4A CN102016928B (zh) | 2008-01-23 | 2009-01-23 | 用于提高的图形性能的方法、设备 |
GB1012145.7A GB2468994B (en) | 2008-01-23 | 2009-01-23 | Method, apparatus and computer program product for improved graphics performance |
PCT/SE2009/000022 WO2009093956A1 (en) | 2008-01-23 | 2009-01-23 | Method, apparatus, and computer program product for improved graphics performance |
DE112009000180T DE112009000180T5 (de) | 2008-01-23 | 2009-01-23 | Verfahren, Vorrichtung und Computerprogrammprodukt für eine verbesserte Grafikperformance |
US12/864,113 US9947130B2 (en) | 2008-01-23 | 2009-01-23 | Method, apparatus, and computer program product for improved graphics performance |
EP09251870A EP2149861A3 (en) | 2008-07-30 | 2009-07-24 | Method, apparatus, and computer program product for improved graphics performance |
CN200910165092A CN101639767A (zh) | 2008-07-30 | 2009-07-30 | 用于改善图形性能的方法、装置和计算机程序产品 |
CN201510888122.3A CN105549929B (zh) | 2008-07-30 | 2009-07-30 | 用于改善图形性能的方法、装置和计算机可读介质 |
US12/534,374 US8654122B2 (en) | 2008-07-30 | 2009-08-03 | Method, apparatus, and computer program product for improved graphics performance |
HK11110654.3A HK1156428A1 (en) | 2008-01-23 | 2011-10-07 | Method, apparatus for improved graphics performance |
JP2012209479A JP5518967B2 (ja) | 2008-01-23 | 2012-09-24 | グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト |
US15/396,569 US10373370B2 (en) | 2008-01-23 | 2016-12-31 | Method, apparatus, and computer program product for improved graphics performance |
US16/248,713 US11222462B2 (en) | 2008-01-23 | 2019-01-15 | Method, apparatus, and computer program product for improved graphics performance |
US16/248,712 US11361498B2 (en) | 2008-01-23 | 2019-01-15 | Method, apparatus, and computer program product for improved graphics performance |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE0801742A SE0801742L (sv) | 2008-07-30 | 2008-07-30 | Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda |
Publications (2)
Publication Number | Publication Date |
---|---|
SE0801742A0 true SE0801742A0 (sv) | 2010-01-31 |
SE0801742L SE0801742L (sv) | 2010-01-31 |
Family
ID=41228219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE0801742A SE0801742L (sv) | 2008-01-23 | 2008-07-30 | Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda |
Country Status (4)
Country | Link |
---|---|
US (1) | US8654122B2 (sv) |
EP (1) | EP2149861A3 (sv) |
CN (2) | CN105549929B (sv) |
SE (1) | SE0801742L (sv) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2338139A4 (en) * | 2008-10-20 | 2012-11-07 | Intel Corp | GRAPHIC PROCESSING BY SORTING IN TOP QUALITY GROUPS |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9589310B2 (en) * | 2009-10-07 | 2017-03-07 | Nvidia Corporation | Methods to facilitate primitive batching |
US9038034B2 (en) * | 2009-12-22 | 2015-05-19 | Intel Corporation | Compiling for programmable culling unit |
KR101681056B1 (ko) | 2010-10-01 | 2016-12-01 | 삼성전자주식회사 | 정점 처리 방법 및 장치 |
KR20120065589A (ko) * | 2010-12-13 | 2012-06-21 | 삼성전자주식회사 | 저전력을 위한 타일 비닝 장치 및 방법 |
KR101794537B1 (ko) * | 2011-01-21 | 2017-11-07 | 삼성전자주식회사 | 데이터 처리 장치 및 방법 |
US9153068B2 (en) * | 2011-06-24 | 2015-10-06 | Nvidia Corporation | Clipless time and lens bounds for improved sample test efficiency in image rendering |
US20170330371A1 (en) * | 2014-12-23 | 2017-11-16 | Intel Corporation | Facilitating culling of composite objects in graphics processing units when such objects produce no visible change in graphics images |
CN105184843B (zh) * | 2015-09-25 | 2018-01-26 | 华中科技大学 | 一种基于OpenSceneGraph的三维动画制作方法 |
JP6910130B2 (ja) | 2015-11-06 | 2021-07-28 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 3dレンダリング方法及び3dレンダリング装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2271260A (en) * | 1992-10-02 | 1994-04-06 | Canon Res Ct Europe Ltd | Processing image data |
US6359629B1 (en) * | 1998-07-06 | 2002-03-19 | Silicon Graphics, Inc. | Backface primitives culling |
US7068272B1 (en) * | 2000-05-31 | 2006-06-27 | Nvidia Corporation | System, method and article of manufacture for Z-value and stencil culling prior to rendering in a computer graphics processing pipeline |
US6919896B2 (en) * | 2002-03-11 | 2005-07-19 | Sony Computer Entertainment Inc. | System and method of optimizing graphics processing |
US7400325B1 (en) * | 2004-08-06 | 2008-07-15 | Nvidia Corporation | Culling before setup in viewport and culling unit |
US9460552B2 (en) | 2007-01-24 | 2016-10-04 | Intel Corporation | Method, display adapter and computer program product for improved graphics performance by using a replaceable culling program |
-
2008
- 2008-07-30 SE SE0801742A patent/SE0801742L/sv not_active Application Discontinuation
-
2009
- 2009-07-24 EP EP09251870A patent/EP2149861A3/en not_active Ceased
- 2009-07-30 CN CN201510888122.3A patent/CN105549929B/zh not_active Expired - Fee Related
- 2009-07-30 CN CN200910165092A patent/CN101639767A/zh active Pending
- 2009-08-03 US US12/534,374 patent/US8654122B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2338139A4 (en) * | 2008-10-20 | 2012-11-07 | Intel Corp | GRAPHIC PROCESSING BY SORTING IN TOP QUALITY GROUPS |
Also Published As
Publication number | Publication date |
---|---|
CN105549929A (zh) | 2016-05-04 |
US8654122B2 (en) | 2014-02-18 |
CN105549929B (zh) | 2019-11-15 |
SE0801742L (sv) | 2010-01-31 |
EP2149861A3 (en) | 2012-10-24 |
US20100026684A1 (en) | 2010-02-04 |
EP2149861A2 (en) | 2010-02-03 |
CN101639767A (zh) | 2010-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE0801742A0 (sv) | Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda | |
KR101351236B1 (ko) | 테셀레이션 시간이 테셀레이션의 양에 따라 선형적으로 증가하는 테셀레이터 | |
US8217962B2 (en) | Single-pass bounding box calculation | |
JP4088585B2 (ja) | 3次元グラフィックシステム | |
US9569885B2 (en) | Technique for pre-computing ambient obscurance | |
KR101134241B1 (ko) | 그래픽 처리 유닛에서 프레그먼트 셰이더 바이패스, 및 이를 위한 장치 및 방법 | |
JP5589195B2 (ja) | 画像処理用のタイルレンダリング | |
JP6159807B2 (ja) | 3次元シーンをレンダリングするためのコンピュータグラフィックス方法 | |
US10032308B2 (en) | Culling objects from a 3-D graphics pipeline using hierarchical Z buffers | |
EP1659539A1 (en) | Method for efficient anti-aliasing of 3D graphics | |
US20100295853A1 (en) | Method and apparatus for rendering image based projected shadows with multiple depth aware blurs | |
CN106485646B (zh) | 图形处理系统 | |
WO2010048093A2 (en) | Graphics processing using culling on groups of vertices | |
US20140160121A1 (en) | Method for forming an optimized polygon based shell mesh | |
CN111145329A (zh) | 模型渲染方法、系统及电子装置 | |
US8907979B2 (en) | Fast rendering of knockout groups using a depth buffer of a graphics processing unit | |
Xiao et al. | Real-time high-quality surface rendering for large scale particle-based fluids | |
US7362330B2 (en) | Adaptive span computation when ray casting | |
Houston et al. | A unified approach for modeling complex occlusions in fluid simulations | |
Kolivand et al. | Shadow mapping or shadow volume? | |
JP3853312B2 (ja) | 表示装置、表示方法、ならびに、プログラム | |
JP6132902B1 (ja) | コンピュータグラフィック装置 | |
CN118261080A (zh) | 信息获取方法、装置、计算机设备及存储介质 | |
SE532399C2 (sv) | Förfarande, apparat och datorprogramprodukt för s kapande av digitalt representerad grafik | |
Valient et al. | GPU friendly, anti-aliased, soft shadow mapping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NAV | Patent application has lapsed |