SE0801742A0 - Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda - Google Patents

Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda

Info

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
Application number
SE0801742A
Other languages
English (en)
Other versions
SE0801742L (sv
Inventor
Hasselgren Jon
Munkberg Jacob
Clarberg Petrik
Akenine-Möller Tomas
Miettinen Ville
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to SE0801742A priority Critical patent/SE0801742L/sv
Priority to JP2010543083A priority patent/JP2011510396A/ja
Priority to CN200980103541.4A priority patent/CN102016928B/zh
Priority to GB1012145.7A priority patent/GB2468994B/en
Priority to PCT/SE2009/000022 priority patent/WO2009093956A1/en
Priority to DE112009000180T priority patent/DE112009000180T5/de
Priority to US12/864,113 priority patent/US9947130B2/en
Priority to EP09251870A priority patent/EP2149861A3/en
Priority to CN200910165092A priority patent/CN101639767A/zh
Priority to CN201510888122.3A priority patent/CN105549929B/zh
Priority to US12/534,374 priority patent/US8654122B2/en
Publication of SE0801742A0 publication Critical patent/SE0801742A0/sv
Publication of SE0801742L publication Critical patent/SE0801742L/sv
Priority to HK11110654.3A priority patent/HK1156428A1/xx
Priority to JP2012209479A priority patent/JP5518967B2/ja
Priority to US15/396,569 priority patent/US10373370B2/en
Priority to US16/248,713 priority patent/US11222462B2/en
Priority to US16/248,712 priority patent/US11361498B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1407General 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)

10 15 20 25 30 27 .PATENTKRAV
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
SE0801742A 2008-01-23 2008-07-30 Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda SE0801742L (sv)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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