SE532218C2 - System, metod, datorprogram och datorläsbart medium för grafikbearbetning - Google Patents

System, metod, datorprogram och datorläsbart medium för grafikbearbetning

Info

Publication number
SE532218C2
SE532218C2 SE0700783A SE0700783A SE532218C2 SE 532218 C2 SE532218 C2 SE 532218C2 SE 0700783 A SE0700783 A SE 0700783A SE 0700783 A SE0700783 A SE 0700783A SE 532218 C2 SE532218 C2 SE 532218C2
Authority
SE
Sweden
Prior art keywords
data
data resources
resources
instructions
server module
Prior art date
Application number
SE0700783A
Other languages
English (en)
Other versions
SE0700783L (sv
Inventor
Tomas Karlsson
Lasse Wedin
Johan Lindbergh
Original Assignee
Agency 9 Ab
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 Agency 9 Ab filed Critical Agency 9 Ab
Priority to SE0700783A priority Critical patent/SE532218C2/sv
Priority to EP08712826A priority patent/EP2126851A1/en
Priority to US12/531,842 priority patent/US20100060652A1/en
Priority to PCT/SE2008/050196 priority patent/WO2008118065A1/en
Priority to CA002679000A priority patent/CA2679000A1/en
Publication of SE0700783L publication Critical patent/SE0700783L/sv
Publication of SE532218C2 publication Critical patent/SE532218C2/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Description

25 30 532 Eålål ning i förväg används primärt i samband med beräkningsintensi- va uppgifter där det inte föreligger några tidsbegränsningar (så- som vid filmproduktion), medan realtidsåtergivning ofta används i 3D-videospel, som förlitar sig på grafikkort med 3D-hårdvaru- acceleratorer.
US-patentet nr 6,570,564 beskriver en lösning för snabb bear- betning av scengrafsbaserad data och/eller program. Här skapas en parallell struktur för scengrafen, vilken anpassar datat för parallell bearbetning i datorsystem innefattande multipla CPU:er.
Som ett resultat därav kan repeterade genomgångar av scen- grafshierarkin undvikas. Även om ovannämnda angreppssätt kan vara tekniskt effektivt fordrar det en viss kombination av API (Application Program interface) och datastruktur (det vill säga scengraf). Givetvis är detta ofördelaktigt exempelvis ur flexibilitetshänseende. Öppna standarder såsom COLLADA (Collaborative Design Activity) och X3D (ISO-standarden för 3D-datorgrafik i realtid), erbjuder myc- ket större flexibilitet. Ingen av dessa standarder specificerar emellertid någon återgivningsordning. Standarderna tillhanda- håller således en låg grad av användarkontroll beträffande det slutliga resultatet på skärmen. Följaktligen kan inte användaren skapa grafik med en specifik återgivningsordning, och samtidigt arbeta inom ramen för existerande öppna standarder. Dessutom är det en ganska komplicerad uppgift att modifiera återgivnings- algoritmen för att uppnå ett angivet resultat även om använ- daren offrar kompatibiliteten med öppna standarder.
SAMMANFATTNING AV UPPFlNNlNGEN Syftet med uppfinningen är därför att tillhandahålla en lösning som löser ovanstående problem och således erbjuder ett grafik- bearbetningsredskap varvid användaren kan styra återgivnings- ordningen hos en datastruktur som uppfyller öppna standarder.
Enligt en aspekt av uppfinningen uppnås syftet genom det inled- 10 15 20 25 30 35 532 243 ningsvis beskrivna systemet, varvid-systemet inkluderar en kli- entmodul och en servermodul. Klientmodulen är anpassad att motta operatörsalstrade kommandon och baserat därpå alstra åtminstone en uppsättning dataresurser och åtminstone en in- struktionsuppsättning. Varje resurs i uppsättningen dataresurser representerar ett givet grafiskt innehåll i den grafiska scenen (exempelvis i form av en transformmatris, en mesh, en textur och/eller en skuggare) och den åtminstone en instruktionen i instruktionsuppsättningen beskriver förhållanden mellan resur- serna i uppsättningen dataresurser. Klientmodulen är vidare an- passad att överföra dataresurserna och den åtminstone en inst- ruktionsuppsättningen till servermodulen. Servermodulen är i sin tur knuten till ett minnesorgan med åtminstone en dataarea, vil- ken vardera är anpassad att lagra en datamängd rörande en gi- ven kontext av scenen. Exempelvis kan en dataarea vara exklu- sivt knuten till en given klientmodul. l vilket fall som helst är varje datamängd organiserad som en uppsättning dataresurser och en därtill knuten instruktionsuppsättning. Dessutom imple- menterar servermodulen åtminstone en återgivningskärna konfi- gurerad att alstra visuell utdata baserat på uppsättningen data- resurser och instruktionsuppsättningen. Det visuella utdatat, som representerar en tvådimensionell projektion av scenen, har ett format vilket är anpassat för presentation på den grafiska displayen.
Det här systemet är fördelaktigt eftersom det föreslagna klient- serverkonceptet medger att datastrukturen uppfyller en given öppen standard (det vill säga på klientsidan) medan den också medger en struktur (det vill säga på serversidan), som är anpas- sad för en återgivningskärna av specialtyp och/eller en återgiv- ningskärna för att uppnå en specialeffekt. Dessutom underlättar den separerade återgivningskärnan avsevärt processen att konstruera nya och originella återgivningssärdrag. Faktum är att det blir en enkel åtgärd att åstadkomma en ny återgivningskärna som är kompatibel med för-modellerad data från ett DCC (Digital Content Creation)-verktyg av konventionellt slag. 10 15 20 25 30 35 53.? .Såå Enligt en föredragen utföringsform av den här aspekten av upp- finningen är servermodulen anpassad att motta instruktionsupp- sättningen och uppsättningen dataresurser på åtminstone ett första format (exempelvis uppfyllande reglerna enligt COLLA- DA). Servermodulen är vidare anpassad att omvandla åtminsto- ne endera av instruktionsuppsättningen och uppsättningen data- resurser till ett andra format (exempelvis anpassat att medge variationer i återgivningskärnans karaktäristik). Servermodulen är även konfigurerad att lagra det omvandlade datat i ett min- nesorgan. Företrädesvis är servermodulen anpassad att alstra det visuella utdatat samtidigt som instruktionsuppsättningen och uppsättningen dataresurser omvandlas till det andra formatet.
Således kan grafikdatat bearbetas på ett mycket effektivt sätt.
Enligt en annan föredragen utföringsform av den här aspekten av uppfinningen inkluderar servermodulen ett användargräns- snitt specifikt anpassat att möjliggöra modifiering av återgiv- ningskärnan till en skräddarsydd version av återgivningskärnan.
Dessutom är uppsättningen dataresurser och instruktionsupp- sättningen som finns lagrade i minnesorganet anpassade att fungera tillsammans med den skräddarsydda versionen av åter- givningskärnan. Naturligtvis underlättar detta ytterligare en eventuell framtida konstruktion av återgivningskärnor.
Enligt ännu en annan föredragen utföringsform av den här as- pekten av uppfinningen är klientmodulen anpassad att utföra följande procedur som svar på ett operatörsalstrat kommando.
Först undersöks huruvida eller inte kommandot representerar åt- minstone en dataresurs utöver eventuella dataresurser vilka tidigare har överförts från klientmodulen till servermodulen för inkludering i åtminstone en av den åtminstone en dataresursen.
Endast om det visar sig att kommandot representerar åtmins- tone ett sådant tillägg överförs dataresursen till servermodulen.
Följaktligen kan det genomsnittliga bandbreddskravet mellan klientmodulen och servermodulen hållas relativt lågt. Detta är önskvärt oavsett huruvida både klientmodulen och servermodu- len implementeras i en gemensam databearbetningsapparat, el- 10 15 20 25 30 532 Eiå ler om klientmodulen implementeras i en första databearbet- ningsapparat och servermodulen implementeras i en andra da- tabearbetningsapparat, så som enligt en annan utföringsform av uppfinningen.
Enligt ytterligare en annan föredragen utföringsform av den här aspekten av uppfinningen inkluderar systemet åtminstone två kilentmoduler implementerade i en respektive databearbetnings- apparat. Vardera av dessa moduler är anpassad att överföra dataresurser och instruktioner till en databearbetningsapparat, som implementerar servermodulen. Således kan ett antal olika användare arbeta i en gemensam grafikmiljö, antingen genom att vara ansvariga för olika aspekter av samma scen, eller genom att konstruera olika scener.
Enligt en annan föredragen utföringsform av den här aspekten av uppfinningen inkluderar systemet åtminstone två servermo- duler implementerade i en respektive databearbetningsapparat.
Varje servermodul är anpassad att motta dataresurser och inst- ruktioner från åtminstone en klientmodul. Det vill säga en klient- modul kan överföra uppsättningar av dataresurser och instruk- tionsuppsättningar till två eller flera servermoduler, eller så kan två eller flera kilentmoduler överföra sådan information till två eller flera servermoduler. Därmed uppnås en hög flexibilitet med avseende på såväl implementering som användande av bearbet- ningsresurser.
Enligt en vidare föredragen utföringsform av den här aspekten av uppfinningen förutsätts den grafiska scenen inkludera åt- minstone en återgivningsbar entitet. Dessutom är åtminstone en instruktion i uppsättningen instruktioner anpassad att beskriva bildandet av den åtminstone en àtergivningsbara entiteten i det visuella utdatat baserat pà en uppsättning dataresurser. Företrä- desvis är instruktionerna i instruktionsuppsättningarna kategori- serade i lokala respektive globala instruktioner. De lokala inst- ruktionerna är anpassade att påverka en specifikt identifierad delmängd av dataresurserna i uppsättningen dataresurser, och 10 15 20 25 30 35 532 Zflß de globala resurserna är anpassade att påverka samtliga data- resurser i den grafiska scenen. Alltså kan exempelvis en första klientmodul alstra en allmän typ av instruktioner med avseende på en scen som också påverkar det slutliga resultatet hos en scen vilken likaledes påverkar det slutgiltiga resultatet av mera specifika instruktionsuppsättningar alstrade av en andra klient- modul.
Enligt en annan föredragen utföringsform av den här aspekten av uppfinningen är en första dataresurs i en första uppsättning dataresurser lagrad i servermodulen konfigurerad att delas med en andra resurs i en andra uppsättning dataresurser lagrad i servermodulen. Den första och den andra dataresursen repre- senterar här samma grafiska innehåll i scenen. Detta innehåll är emellertid knutet till olika instruktionsuppsättningar, exempelvis skapade av användare vid olika klientmoduler. Den här funk- tionen är fördelaktig eftersom den medger ett effektivt använ- dande av instruktioner förmedlade till servermodulen.
Enligt en annan aspekt av uppfinningen uppnås syftet genom en metod för att bearbeta datorgrafik, vilken inbegriper mottagning av operatörsalstrade kommandon rörande en datastruktur som beskriver en grafisk scen via åtminstone ett användargränssnitt knutet till en klientmodul. Metoden inbegriper vidare alstring av åtminstone en uppsättning dataresurser och åtminstone en inst- ruktionsuppsättning baserat på de mottagna kommandona. Varje resurs i den åtminstone en uppsättningen dataresurser represen- terar ett givet grafiskt innehåll hos scenen, och varje instruktions- uppsättning beskriver förhållanden mellan resurser i uppsättnin- gen dataresurser. Därefter inbegriper metoden överföring av da- taresurserna och den åtminstone en instruktionsuppsättningen till en servermodul. Sedan organiseras dataresurserna och instruk- tionerna i ett minnesorgan hos servermodulen i åtminstone en dataarea så att varje dataarea innehåller en datamängd rörande en given kontext av scenen. Datat är organiserat som en uppsättning dataresurser och en därtill knuten instruktionsupp- sättning. Slutligen alstras visuell utdata baserat på uppsättningen 10 15 20 25 30 Éüšå Efiä dataresurser och instruktionsuppsåttningen med hjälp av åtmins- tone en återgivningskärna i servermodulen. Det visuella utdatat har ett format anpassat för presentation på en grafisk display.
Fördelarna med den här metoden, såväl som med de föredragna utföringsformerna därav, framgår av ovanstående diskussion med hänvisning till det föreslagna systemet.
Enligt en ytterligare aspekt av uppfinningen uppnås syftet med hjälp av ett datorprogram, vilket är laddbart till internminnet hos en dator, och inkluderar mjukvara för styrning av den ovan före- slagna metoden då nämnda program körs på en databearbet- ningsapparat.
Enligt en annan aspekt av uppfinningen uppnås syftet genom ett datorläsbart medium med ett därpå lagrat program, där program- met är ägnat att förmå en dator att styra en databearbetningsap- parat att utföra den ovan föreslagna metoden.
Ytterligare fördelar, fördelaktiga särdrag och tillämpningar av uppfinningen framgår av den efterföljande beskrivningen och de beroende patentkraven.
KORT BESKRIVNING AV RITNINGARNA Uppfinningen kommer nu att förklaras närmare med hjälp av fö- redragna utföringsformer, vilka beskrivs som exempel, och med hänvisning till de bifogade ritningarna.
Figur 1 visar en översikt av ett återgivningssystem enligt en utföringsform av uppfinningen; Figur 2a-c illustrerar klient- och servermodulkonfigurationer enligt olika utföringsformer av uppfinningen; Figur3 exemplifierar en simuleringstillämpning enligt en utföringsform av uppfinningen; och Figur 4 illustrerar, med hjälp av ett flödesschema, en all- män metod för bearbetning av datorgrafik enligt uppfinningen. 10 15 20 25 30 532 2538 BESKRIVNING AV FÖREDRAGNA UTFÖRINGSFORMER AV UPPFINNINGEN Vi hänvisar inledningsvis till figur 1, som visar en översikt av ett grafikbearbetningssystem enligt en utföringsform av uppfinnin- gen. Systemet inkluderar åtminstone ett användargränssnitt 110, 115 och 117, åtminstone en klientmodul 120, åtminstone en ser- vermodul 130 och åtminstone en tvådimensionell grafisk display 180.
Det åtminstone ett användargränssnittet är anpassat att motta operatörsalstrade kommandon GRmpui rörande en datastruktur beskrivande en grafisk scen. För detta ändamål kan gränssnittet inkludera ett organ 110 för manipulering av en markör (exempel- vis en skrivbordsmus, en styrplatta, en joyball eller en styrspak) och ett tangentbord 115. Anvåndargränssnittet inkluderar före- trädesvis även ett displayorgan 117 anpassat att visa relevant återkopplingsdata för en användare av systemet. Dessutom kan displayorganet 117 kombineras med ett datainmatningsorgan, exempelvis i form av en pekskärm representerande ett tangent- bord 115.
Användargränssnitten 110, 115, 117 är knutna till klientmodulen 120, som implementeras i en databearbetningsapparat, exem- pelvis en arbetsstation, en persondator, en bärbar dator, eller annan slags bärbar anordning, såsom en mobiltelefon eller en PDA (Personal Digital Assistant). Klientmodulen 120 är an- passad att motta operatörsalstrade kommandon GRmput. Baserat på kommandona GRmput är klientmodulen anpassad att alstra åt- minstone en uppsättning dataresurser DR och åtminstone en instruktionsuppsättning lset. Företrädesvis uppfyller uppsättnin- gen dataresurser DR och instruktionsuppsättningen lset villkoren enligt en öppen standard, såsom COLLADA eller X3D. Detta betyder att klientmodulen 120 kan inkludera ett DCC-verktyg i form av Maya, 3D Studio Max, Softimage XSl, eller Blender, Varje resurs i uppsättningen dataresurser DR representerar ett givet grafiskt innehåll i den grafiska scenen, och varje instruk- 10 15 20 25 30 532 EfiB tion i instruktionsuppsåttningen lse, beskriver förhållanden mel- lan resurserna i uppsättningen dataresurser DR. Klientmodulen 120 är anpassad att överföra dataresurserna DR och den åt- minstone en instruktionsuppsättningen lm till servermodulen 130 via lämplig kanal (exempelvis en intern buss, en nätverks- förbindelse, ett trådlöst gränssnitt, eller en kombination därav) beroende på huruvida klientmodulen 120 och servermodulen 130 implementeras i en gemensam databearbetningsapparat, eller om de implementeras i separata apparater.
Förutom att överföra nämnda uppsättningar av dataresurser DR och instruktioner lset är klientmodulen företrädesvis anpassad att överföra kommandon cmd till servermodulen 130. Dessa kom- mandon cmd kan representera parametersättningar, såsom mängden minne som ska allokeras i servermodulen 130, en skärmupplösning att använda etc. Servermodulen 130 är anpas- sad att motta uppsättningen dataresurser DR, instruktionsupp- sättningen lse, och eventuella kommandon cmd från klientmodu- len 120.
Servermodulen 130 är knuten till ett minnesorgan 135. Detta be- tyder att servermodulen 130 antingen inkluderar minnesorganet 135, eller har en kommunikationslänk till en extern resurs in- kluderande minnesorganet 135. I vilket fall som helst har min- nesorganet 135 åtminstone en dataarea betecknad 140, 150 respektive 160 i Figur 1. Var och en av dataareorna 140, 150 och 160 är anpassad att lagra en datamängd som rör en given kontext hos den grafiska scenen. Om flera än en klientmodul 120 kopplas till servermodulen 130 kan dessutom en given data- area vara exklusivt förknippad med en viss klientmodul 120.
Varje datamängd är i sin tur organiserad som en uppsättning da- taresurser 141, 151 respektive 161, och en därtill knuten inst- ruktionsuppsåttning 142, 152 respektive 162. Så som nämnts ovan representerar varje resurs i uppsättningen dataresurser 141, 151 och 161 ett givet grafiskt innehåll i den grafiska sce- nen. Således kan dataresurserna företräda en transformmatris, 10 15 20 25 30 532 218 10 en mesh, en textur en skuggare etc.
Servermodulen 130 fungerar som en allmän behållare för kom- mandon cmd, instruktionsuppsättningar Isa, och dataresurser DR. Dessutom är servermodulen 130 anpassad att administrera allokering av minnesorganet 135 och trådbeteende (threading behavior). Därtill är servermodulen 130 anpassad att agera som styrpunkt för administration av återgivning och kontext i en eller flera scener.
Enligt en föredragen utföringsform av uppfinningen är servermo- dulen 130 anpassad att motta instruktionsuppsättningen Isa, och uppsättningen av dataresurser DR på ett respektive första for- mat, och omvandla åtminstone en av instruktionsuppsättningen lsel och uppsättningen av dataresurser DR till ett andra format.
Mera föredraget är servermodulen 130 vidare anpassad att alst- ra visuella utdata V0 samtidigt med konvertering av instruk- tionsuppsättningen 142, 152 och/eller 162 och/eller uppsättnin- gen av dataresurser 141, 151 och/eller 161 till det andra for- matet. Därmed kan nämligen grafikdatat bearbetas mycket ef- fektivt. Servermodulen 130 kan verkställa detta parallellt med bearbetning av multipla trådar antingen på en enstaka proces- sor, eller genom användande av två eller flera processorkärnor.
Efter omvandling är servermodulen 130 anpassad att lagra kon- verterade data i minnesorganet 135. Följaktligen kan uppsättnin- garna av dataresurser 141, 151 och 161 ha ett annorlunda for- mat än uppsättningarna dataresurser DR alstrade i klientmodu- len 120. Exempelvis kan en inkommande mesh-dataresurs från klientmodulen 120 omvandlas till en struktur som är lämplig för realtidsåtergivning för OpenGL eller Direct3D. Därmed kan resursen återges med optimal hastighet av ett renderingsele- ment, så som en renderingskärna 170, 171 eller 172.
Varje återgivningskärna 170, 171 och 171 hos servermodulen 130 är anpassad att alstra visuell utdata V0 som representerar en projektion av den grafiska scenen på en två dimensionell gra- 10 15 20 25 30 ï-ÜESE E38 11 fisk display 180, som är förbunden med servermodulen 130, an- tingen direkt eller indirekt via ett nätverk. Den grafiska scenen inkluderar typiskt sett ett antal återgivningsbara entiteter. Detta innebär att en instruktion i en uppsättning instruktioner, säg 142, beskriver baserat på dess anknutna dataresurser 141, bildandet av ett eller flera av nämnda återgivningsbara entiteter i nämnda entiteter i det visuella utdatat.
En given kärna, säg 170, är konfigurerad att alstra det visuella utdatat V0 baserat på uppsättningen dataresurser 141, 151 eller 161 och instruktionsuppsättningen 142, 152 eller 162 enligt en viss återgivningsalgoritm, som är konstruerad att åstadkomma ett specifikt visuellt resultat. Enligt uppfinningen kan servermo- dulen 130 inkludera två eller flera olika kärnor 170, 171 och 172, vilka vardera är anpassad för ett specifikt ändamål. Återgivningsskärnan 170, 171 eller 172 är ansvarig för tolkning av innebörden hos den grafiska scenen och att skapa represen- tativ visuell utdata. Kärnan kan såväl framkallas av en given kontext, som av en lista av flera kontexter, och sålunda kombi- neras till en komplett utmatning från ett flertal klientmoduler 120.
Enligt en föredragen utföringsform av uppfinningen inkluderar också servermodulen 130 ett användargränssnitt anpassat att möjliggöra modifiering av återgivningskärnorna 170, 171 eller 172 till en skräddarsydd version av kärnan. Dessutom är upp- sättningen dataresurser 141, 151 och 161 och instruktionsupp- sättningen 142, 152 och 162 som finns lagrade i dataarean 135 organiserade i en datastruktur, som är anpassad att fungera till- sammans med den skräddarsydda versionen av återgivningskär- nan. Detta ger utvecklaren unika möjligheter att utöka och/eller omforma scenens innebörd utan att förändra applikationens lo- gik, eller gränssnittet mellan klienten och applikationen. Utveck- iaren fâr även full kontroll över àtergivningsprocessen, och kan således uttrycka en eventuell återgivningsalgoritm, som förbätt- rar prestanda inom ramen för systemet utan att förändra utföran- 10 15 20 25 30 532 Éfiß 12 det av klienten, eller fordra några speciella förändringar i stan- dardiserade strukturer, exempelvis av COLLADA-formatet eller serverstrukturen och dess interna mekanismer. Uppfinningen medger därmed att multipla återgivningskärnor laddas parallellt i servermodulen 130. Exempelvis kan en första av dessa kärnor vara en ursprunglig kärna, en andra kan vara en skräddarsydd version därav och en tredje kan vara en tredjeparts plug-in osv.
Nedan följer ett illustrerande exempel. Enligt uppfinningen kan en dedicerad återgivningskärna vara baserad på en animerad COLLADA 1.4.1 av en ö med både över- och undervattensgeo- metrier samt mänskliga karaktärer. För den här scenen kan en skräddarsydd HDR (high dynamic range)- och en vattenåtergiv- ningskärna utvecklas, där vattenåtergivningen inkluderar ytani- mering, realistiska krusningsdistorsionseffekter och avancerade fysikaliskt baserade ljuseffekter inkluderande ljus som bäde reflekteras och sprids i vattnet. Återgivningen av vatten inklude- rar också en skumhetsfaktor, som ger en realistisk vattendjups- upplevelse av eventuella nedsänkta geometrier. Kärnan adderar HDR-återgivningstekniker kombinerat med tonmappning och linseffekter, såsom oskärpa och reflexer, vilka medger att vatt- net skimrar som ett resultat av interaktion med den omgivande himlen. Den allmänna specifikationen för COLLADA 1.4.1 inklu- derar inte möjligheten att addera vatten, vattenanimering och in- formation om hur vattnet ska återges samt interagera med om- givningen, och inte heller tillräckligt med parametrar för att styra detta. Enligt uppfinningen däremot kan vatten adderas som en egenskap hos en återgivningskärna, och således lägga till detal- jer hos en scen på ett sätt som hittills har varit omöjligt.
Oavsett vilken återgivningskärna 170, 171 eller 172 som an- vänds har det visuella utdatat V0 ett format som är anpassat för presentation på den grafiska displayen 180. Av praktiska skäl är det ofta användbart att återkoppla det visuella utdatat VO till displayorganet 117 som är knutet till klientmodulen 120 (det vill säga för presentation för användaren/utvecklaren). 10 15 20 25 30 35 532 218 13 Även om det generellt sett kan vara fördelaktigt att implemente- ra instruktionsuppsättningen 142, 152 och 162 i en CPU (Central Processing Unit) och implementera återgivningskärnorna 170, 171 och 172 i en GPU (Graphics Processing Unit) är det värt att nämna att andra implementeringar är tankbara enligt uppfin- ningen. Exempelvis, beroende på karaktäristiken hos återgiv- ningen i förhållande till kapaciteten hos databearbetnlngsap- parate/n/erna kan både instruktionsuppsättningarna och kärnor- na implementeras i CPU:n, eller omvänt kan både instruktions- uppsättningarna och kärnorna implementeras i GPU:n.
För att hushålla med bandbredden hos gränssnittet mellan kli- entmodulen 120 och servermodulen 130 är klientmodulen 120, enligt en föredragen utföringsform av uppfinningen, anpassad att tillämpa följande procedur som svar på det operatörsalstrade kommandot GRmput. Först undersöks det huruvida eller inte ett mottaget kommando GRmpUt representerar åtminstone en datare- surs DR utöver eventuella dataresurser vilka tidigare har över- förts från klientmodulen 120 till servermodulen 130 för inkluder- ande i åtminstone en av den åtminstone en dataresursen 141, 151 respektive 161. Endast om det visar sig att kommandot GRmput representerar åtminstone en sådan adderad dataresurs överförs relevanta dataresurser DR till servermodulen 130 (det vill säga tidigare ej överförda data). Genom denna konstruktion av återgivningsprotokollet är det möjligt att motta realtidsutdata över ett nätverk som har en relativt begränsad bandbredd. För en typisk statisk scen, en uppsättning stela objekt och en skinn- försedd figur såsom en människa behöver endast en 4x4-matris omfattande 64 byte överföras över nätverket i realtid för varje objekt som rört sig. Detta åstadkommer en högst rimlig nät- verkslast, i synnerhet jämfört med andra tekniker som verkställs via nätverk, exempelvis OpenGL och Java3D.
Enligt en föredragen utföringsform av uppfinningen kategorise- ras instruktionerna i instruktionsuppsättningen 142, 152 och 162 i lokala instruktioner respektive globala instruktioner. De lokala instruktionerna är anpassade att påverka en specifikt identi- 10 15 20 25 30 532. 218 14 fierad delmängd av dataresurserna i uppsättningen dataresurser 141, 151 eller 161. De globala instruktionerna är å andra sidan anpassade att påverka samtliga dataresurser i den grafiska sce- nen.
Därtill är företrädesvis det protokoll som implementeras av ser- vermodulen 130 kontextmedvetet och anpassat att medge att multipla typer av klientdatastrukturer och APl:er integreras till en form av visuell utdata V0. Därmed kan klientmodulen 120 motta en blandning av olika slags filformat, och genom att använda en respektive dedicerad API kombinera dessa filformat till en enda visuell upplevelse. Exempelvis är denna funktionalitet använd- bar vid GIS/GIT-tillämpningar, varvid ett strömmande kart-API ska kombineras med ett flertal olika grafiska scener (exempelvis definierade i COLLADA) innehållande återgivningsbara objekt (GIS = Geographic Information System; GIT = Geographic infor- mation Technology).
Enligt en föredragen utföringsform av uppfinningen är en första dataresurs 153 i en första uppsättning dataresurser 151 konfigu- rerad att delas med en andra dataresurs 163 i en andra uppsätt- ning dataresurser 161. Detta innebär att den första och den and- ra dataresursen 153 och 163 representerar samma grafiska in- nehåll i scenen, men att detta innehåll är knutet till olika instruk- tionsuppsåttningar, nämligen 152 respektive 162.
Företrädesvis är servermodulen 130 anpassad att automatiskt dela externt hänvisade resurser (exempelvis i form av texturer och skuggare) mellan olika kontexter (det vill säga representera- de av olika dataresurser 143, 153 eller 163). Då en klientmodul 120 kopplar bort sig från servermodulen 130 är servermodulen 130 konfigurerad att automatiskt frigöra alla de dataresurser som varit tilldelade denna klientmodul 120, och sålunda förhind- ra minnesläckor. Eventuella delade resurser 153 och 163 kom- mer emellertid endast att frigöras när de har frikopplats från samtliga kontexter i vilka de har inkluderats. Denna arkitektur erbjuder unika möjligheter att arbeta med multipla klienter av 10 15 20 25 30 532 218 15 olika ursprung och utan att riskera resurskonflikter, eller uppät- ning av minne (memory bloat) på grund av ineffektiv minneshan- tering av tilldelade resurser. Samtidigt elimineras risken för min- nesläckor.
Servermodulen 130 är företrädesvis knuten till ett datorläsbart medium 145 (exempelvis en minnesmodul) med ett därpå lagrat program. Nämnda program är konfigurerat att förmå den databe- arbetningsapparat i vilken servermodulen 130 är implementerad att styra ovannämnda procedur.
Figur 2 illustrerar en klient- och servermodulkonfiguration enligt en första utföringsform av uppfinningen, varvid klientmodulen 120 och servermodulen 130 är implementerade i en gemensam databearbetningsapparat 210, exempelvis en arbetsstation, en persondator, en bärbar dator, en PDA, en smarttelefon eller en mobiltelefon. Denna implementering är lämplig för en en-använ- darmiljö.
Figur 2b illustrerar en klient- och servermodulkonfiguration en- ligt en andra utföringsform av uppfinningen. Här är klientmodu- len implementerad i en första databearbetningsapparat 220 och servermodulen är implementerad i andra databearbetningsappa- rater 230a, 230b respektive 230c. Alternativt kan två eller flera av databearbetningsapparaterna 230a, 230b och 230c represen- teras av olika processorkärnor hos en enda apparat. I vilket fall som helst är klientmodulen 120 anpassad att överföra en första uppsättning dataresurser DR1 och en första instruktionsuppsätt- ning lsen till en första servermodul 130a implementerad i en första databearbetningsapparat 230a för att alstra en första vi- suell utmatning V01; överföra en andra uppsättning dataresurser DRQ och en andra instruktionsuppsättning Isen till en andra ser- vermodul 130b implementerad i en andra databearbetningsappa- rat 230b för att alstra en andra visuell utmatning V02; och över- föra en tredje uppsättning dataresurser DR3 och en tredje inst- ruktionsuppsättning lsejg till en tredje servermodul 1300 imple- menterad i en tredje databearbetningsapparat 230c för att alstra 10 15 20 25 30 16 en tredje visuell utmatning V03. Antingen kan två eller flera av de visuella utmatningarna V01, V02 och V03 blandas till en kombinerad presentation på ett enda displayorgan, eller så kan utmatningarna V01, V02 och V03 presenteras på ett respektive displayorgan 240a, 240b och 240c så som visas i Figur 2b. Den- na utföringsform är speciellt fördelaktig för krävande uppgifter där lastspridning kan erfordras.
Figur 2c illustrerar en klient- och serverkonfiguration enligt en tredje utföringsform av uppfinningen. Här är ett antal klientmo- duler 120a, 120b och 120c implementerade i en respektive data- bearbetningsapparat 250a, 250b och 250c. Varje klientmodul 120a, 120b och 120c är anpassad att överföra dataresurser DRs, DRs respektive DRs och instruktioner lssts, lssts och lssts till en da- tabearbetningsapparat 260 som implementerar en gemensam servermodul 130. Denna utföringsform är önskvärd då ett flertal användare ska samarbeta för att skapa en grafikmiljö i en förhål- landevis kraftfull databearbetningsapparat. De olika dataresur- serna DRs, DRb respektive DRs och instruktionerna lssjs, isen, och lssjs kan antingen avse en gemensam scen eller avse olika sce- ner i den grafiska miljön.
Naturligtvis är olika former av kombinationer, eller hybrider mel- lan de med hänvisning till figurerna 2a, 2b och 2c ovan beskriv- na utföringsformerna tänkbara enligt uppfinningen. Exempelvis kan det föreslagna systemet inkludera två eller flera servermo- duler 130 implementerade i en respektive databearbetningsap- parat, där varje servermodul kan vara anpassad att motta data- resurser och instruktioner från flera än en klientmodul 120.
Figur 3 illustrerar en utföringsform av uppfinningen, vilken im- plementerar ett så kallat CAVE (Cave Automatic Virtual Environ- ment)-system, det vill säga en omslutande virtuell verklighets- miljö där ett antal displayorgan (vanligen projektorer) är anord- nade att visa rörliga bilder på väggarna av en kub av rumsstor- lek, eller motsvarande. Därmed kan en starkt realistisk simule- ring åstadkommas. Här driver varje modul 120d, 120e och 120fi 10 15 20 25 30 532 213 17 en uppsättning kilentmoduler en respektive del av simuleringen via en dedicerad servermodul 130d, 130e respektive 130f, så att varje displayorgan visar en vy från en annorlunda kameravinkel.
En koordinerande processor 310 och dedicerade efterföljande bearbetningsorgan 320, 321 och 322 kan också erfordras.
En liknande uppsättning kan användas vid en multipelpassalgo- ritm där varje servermodul 130d, 130e och 130f är anpassad att exekvera oberoende återgivningspass på en respektive databe- arbetningsapparat. En kombinerad dataström återges sedan i form av en enda visuell utmatning.
För att sammanfatta kommer nu den allmänna metoden för att bearbeta datorgrafik enligt uppfinningen att beskrivas med hän- visning till flödesschemat i figur 4.
Ett inledande steg 410 undersöker huruvida eller inte operatörs- alstrade kommandon har mottagits. Det förutsätts här att kom- mandona gäller en datastruktur som beskriver en grafisk scen, och att kommandona matas in via ett eller flera användargräns- snitt, såsom ett tangentbord, ett markörstyrorgan eller en pek- skärm. Om det visar sig att inga sådana kommandon har motta- gits loopar proceduren tillbaka via ett steg 460. l annat fall följer ett steg 420, vilket alstrar åtminstone endera av en uppsättning dataresurser och en instruktionsuppsättning baserat på komman- dona. Varje resurs i uppsättningen dataresurser representerar ett givet grafiskt innehåll hos scenen, och varje instruktionsuppsätt- ning beskriver förhållanden mellan resurserna i uppsättningen dataresurser.
Därefter undersöker ett steg 430 huruvida eller inte åtminstone en dataresurs i uppsättningen dataresurser har överförts tidigare från klientmodulen till servermodulen. Om det visar sig att all data som har alstrats i steg 420 motsvarar vad som redan har överförts till servermodulen loopar proceduren till steg 460. l an- nat fall följer ett steg 440. Detta steg överför de i steg 420 alst- rade uppsättningar av dataresurser och instruktioner vilka inte 10 15 20 25 30 EEE 213 18 tidigare har överförts till servermodulen.
Sedan organiserar ett steg 450 dataresurserna och instruktio- nerna i åtminstone en dataarea hos servermodulen, så att varje dataarea innehåller en datamängd vilken rör en given kontext av scenen. Således är datat organiserat som en uppsättning data- resurser och en därmed förknippad instruktionsuppsättning. Där- efter följer steg 460.
Steg 460 alstrar visuell utdata anpassad för presentation på en grafisk display baserat på den för närvarande i servermodulen lagrade uppsättningen dataresurser och instruktionsuppsättnin- gen. Det vill säga det visuella utdatat kan vara baserat på data- resurser och instruktioner överförda i det senaste steget 440 såväl som på tidigare överförd information. I vilket fall som helst alstras det visuella utdatat med hjälp av en återgivningskärna i servermodulen. Efter det återgår proceduren till steg 410.
Samtliga de metodsteg, såväl som godtycklig delsekvens av steg, beskrivna med hänvisning till figur 4 ovan kan styras med hjälp av en programmerad datorapparat. Dessutom, även om de ovan med hänvisning till figurerna beskrivna utföringsformerna av uppfinnin- gen innefattar en dator och processer utförda i en dator, utsträc- ker sig uppfinningen till datorprogram, speciellt datorprogram på eller i en bärare anpassad att praktiskt implementera uppfinnin- gen. Programmet kan vara i form av källkod, objektkod, en kod som utgör ett mellanting mellan käll- och objektkod, såsom i delvis kompilerad form, eller i vilken annan form som helst lämplig att använda vid implementering av processen enligt uppfinningen.
Bäraren kan vara godtycklig entitet eller anordning vilken är kapabel att bära programmet. Exempelvis kan bäraren innefatta ett lagringsmedium såsom ett flashminne, ett ROM (Read Only Memory), exempelvis en CD (Compact Disc) eller ett halvledar- ROM, att EPROM (Erasable Programmable ROM), an EEPROM (Electrically EPROM) eller ett magnetiskt inspelningsmedium, exempelvis en floppydisk eller hårddisk. Dessutom kan bäraren vara en överförande bärare såsom en elektrisk eller optisk signal, 10 15 20 533 Eïß 19 vilken kan ledas genom en elektrisk eller optisk kabel eller via radio eller på annat sätt. Då programmet gestaltas av en signal som kan ledas direkt av en kabel eller annan anordning eller organ kan bäraren utgöras av en sådan kabel, anordning eller organ. Alternativt kan bäraren vara en integrerad krets i vilken programmet är lnbäddat, där den integrerade kretsen är anpassad att utföra, eller för att användas vid utförande av, de aktuella processerna.
Termen “innefattar/innefattande” skall då den används i den här beskrivningen förstås att ange närvaron av de anvisade särdra- gen, heltalen, stegen eller komponenterna. Termen utesluter emellertid inte närvaron av eller tillägg av ett eller flera ytter- ligare särdrag, heltal, steg eller komponenter eller grupper där- av.
Referenser till eventuell tidigare känd teknik i den här beskriv- ningen är inte, och skall inte ses som, ett erkännande av eller antydan om att denna teknik utgör en del av den allmänna kunskapen i Australien, eller något annat land.
Uppfinningen är inte begränsad till de i figurerna beskrivna ut- föringsformerna, utan kan varieras fritt inom kravens omfång.

Claims (18)

10 15 20 25 30 53.2 208 20 Patentkrav
1. Ett grafikbearbetningssystem innefattande: åtminstone ett användargränssnitt (110, 115) anpassat att motta operatörsalstrade kommandon (GRWM) rörande en data- struktur som beskriver en grafisk scen, och åtminstone ett återgivningselement (170, 171, 172) anpas- sat att alstra visuell utdata (V0) representerande en projektion av scenen på en tvådimensionell grafisk display (180), kännetecknat av att systemet innefattar: en servermodul (130) knuten till ett minnesorgan (135) med åtminstone en dataarea (140, 150, 160) som är anpassad att lagra en datamängd rörande en given kontext av scenen, där varje datamängd är organiserad som: en uppsättning datare- surser (DR) varvid varje resurs representerar ett givet grafiskt innehåll hos scenen, och en instruktionsuppsättning (lser) besk- rivande förhållanden mellan resurserna i uppsättningen datare- surser (DR), där servermodulen (130) är anpassad att: motta instruktionsuppsättningen (lm) och uppsättningen dataresurser (DR) på åtminstone ett första respektive format, omvandla åtminstone en av instruktionsuppsättningen (lm) och upp- sättningen dataresurser (DR) till ett andra format, samtidigt därmed alstra det visuella utdatat (VO), och lagra det omvandla- de datat i minnesorganet (135), där servermodulen (130) vidare implementerar åtminstone en återgivningskärna (170, 171, 172) konfigurerad att alstra det visuella utdatat (V0) baserat på uppsättningen dataresurser (DR) och instruktionsuppsättningen (|set)» och en klientmodul (120) anpassad att: motta operatörsalstrade kommandon (GRinput), baserat därpå alstra åtminstone en upp- sättning dataresurser (DR) och åtminstone en uppsättning inst- ruktioner (Isa), och överföra dataresurserna (DR) och den åt- minstone en uppsättningen instruktioner (lset) till servermodulen (130). 10 15 20 25 30 532 218 21
2. Systemet enligt krav 1, varvid klientmodulen (130) är an- passad att, som svar på ett operatörsalstrat kommando (GRinputy undersöka huruvida etter inte kommandot (GRmpug repre- senterar åtminstone en dataresurs (DR) utöver eventuella data- resurser vilka tidigare har överförts från klientmodulen (120) till servermodulen (130) för inkludering i åtminstone en av den åt- minstone en dataresursen (141, 151, 161), och endast om kom- mandot (GRmput) representerar ett sådant tillägg överföra den åtminstone en dataresursen (DR) till server- modulen (130).
3. Systemet enligt något av kraven 1 eller 2, varvid klientmo- dulen (120) och servermodulen (130) är implementerade i en ge- mensam databearbetningsapparat (210).
4. Systemet enligt något av kraven 1 eller 2, varvid klientmo- dulen (120) är implementerad i en första databearbetningsappa- rat (220; 250a, 250b, 250c) och servermodulen (130) är imp- lementerad i en andra databearbetningsapparat (230a, 230b, 230c;260)
5. Systemet enligt krav 4, innefattande åtminstone två klient- moduler (120) implementerade i en respektive databearbet- ningsapparat (250a, 250b, 250c) vilken vardera är anpassad att överföra dataresurser (DRa, DRb, DRC) och instruktioner (lseta, lsetb, Isen) till en databearbetningsapparat (260) som implemen- terar servermodulen (130).
6. Systemet enligt krav 4, innefattande åtminstone två server- moduler (130a, 130b, 130c) implementerade i en respektive databearbetningsapparat (230a, 230b, 230c) vilken vardera är anpassad att motta dataresurser (DR1, DR2, DR3) och instruk- tioner (lset1, lsetg, lsetg) från åtminstone en klientmodul (130).
7. Systemet enligt något av föregående krav, varvid grafik- 10 15 20 25 30 §32 EWB 22 scenen innefattar åtminstone en återgivningsbar entitet, och åt- minstone en instruktion i uppsättningen instruktioner (142, 152, 162) är anpassad att beskriva bildandet av den åtminstone en återgivningsbara entiteten i det visuella utdatat (V0) baserat på en uppsättning dataresurser (141, 151, 161).
8. Systemet enligt något av föregående krav, varvid instruk- tionerna i uppsättningen instruktioner (142, 152, 162) är indela- de i: lokala instruktioner anpassade att påverka en specifikt identifierad underuppsättning dataresurser i en uppsättning data- resurser (141, 151, 161), och globala instruktioner anpassade att påverka samtliga data- resurser i den grafiska scenen.
9. Systemet enligt något av föregående krav, varvid datare- surserna i uppsättningen dataresurser (141, 151, 161) innefattar åtminstone ett av: en transformmatris, en mesh, en textur och en skuggare.
10. Systemet enligt något av föregående krav, varvid var och en av den åtminstone en dataarean (140, 150, 160) exklusivt är knuten till en given klientmodul (120).
11. Systemet enligt något av föregående krav, varvid åtmins- tone en första dataresurs (153) i en första uppsättning datare- surser (151) av nämnda dataresurser är konfigurerad att delas med åtminstone en andra dataresurs (163) i en andra uppsätt- ning dataresurser (161) av nämnda dataresurser, där den åt- minstone en första och andra dataresursen (153, 163) represen- terar samma grafiska innehåll hos scenen men knutet till olika instruktionsuppsättningar (152; 162).
12. En metod för bearbetning av datorgrafik innefattande: mottagning av operatörsalstrade kommandon (GRmpuQ rö- rande en datastruktur som beskriver en grafisk scen via åtminsto- 10 15 20 25 30 35 532 218 23 ne ett användargränssnitt (110, 115) knutet till en klientmodul (120), alstring av åtminstone en uppsättning dataresurser (DR) och åtminstone en instruktionsuppsättning (lset) baserat på kom- mandona (GR,,,,,,,j), där varje resurs i den åtminstone en uppsätt- ningen dataresurser (DR) representerar ett givet grafiskt innehåll hos scenen, och varje instruktionsuppsättning (isen) beskriver för- hållanden mellan resurser i uppsättningen dataresurser (DR), överföring av dataresurserna (DR) och den åtminstone en instruktionsuppsättningen (lsej) till en servermodul (130), mottagning av instruktionsuppsättningen (lset) och uppsätt- ningen dataresurser (DR) i servermodulen (130) på åtminstone ett första respektive fördefinierat format, omvandling av åtminstone en av instruktionsuppsättningen (lset) och uppsättningen dataresurser (DR) till ett andra format och samtidigt därmed alstring av visuell utdata (V0) baserat på uppsättningen da- taresurser (DR) och instruktionsuppsättningen (lset) med hjälp av åtminstone en återgivningskärna (170, 171, 172) i servermodulen (130), lagring av det omvandlade datat i ett minnesorgan (135) hos servermodulen (130), och organisering, i minnesorganet (135), av dataresurserna och instruktionerna i åtminstone en dataarea (140, 150, 160) som innehåller en datamängd rörande en given kontext av scenen och datat är organiserat som: en uppsättning dataresurser (DR) och en därtill knuten instruktionsuppsättning (lsej).
13. Metoden enligt krav 12, innefattande: undersökning, som svar på ett operatörsalstrat kommando (GRmput), huruvida eller inte kommandot representerar åtmins- tone en dataresurs utöver eventuella dataresurser vilka tidigare har överförts från klientmodulen (120) till servermodulen (130) för inkludering i åtminstone en av den åtminstone en dataresursen (141, 151, 161), och endast om kommandot (GRmpuj) befinns representera ett sådant tillägg 10 15 20 25 24 överföring av den åtminstone en dataresursen (DR) till ser- vermodulen (130).
14. Metoden enligt något av kraven 12 eller 13, varvid grafik- scenen innefattar åtminstone en återgivningsbar entitet, och åt- minstone en instruktion i instruktionsuppsättningen (142, 152, 162) är anpassad att beskriva bildandet av den åtminstone åter- givningsbara entiteten i det visuella utdatat (VO) baserat på en uppsättning dataresurser (141, 151, 161).
15. Metoden enligt något av kraven 12 till 14, varvid instruktio- nerna i instruktionsuppsättningen (142, 152, 162) är indelade i: lokala instruktioner anpassade att påverka en specifikt identifierad underuppsättning dataresurser i en uppsättning data- resurser (141, 151, 161), och globala instruktioner anpassade att påverka samtliga data- resurser i den grafiska scenen.
16. Metoden enligt något av kraven 12 till 15, varvid dataresur- serna i uppsättningen dataresurser (141, 151, 161) innefattar åt- minstone ett av: en transformmatris, en mesh, en textur och en skuggare.
17. Ett datorprogram laddbart till minnet hos en databearbet- ningsapparat, innefattande mjukvara för styrning av stegen enligt något av kraven 12 till 16 då nämnda program körs på en databearbetningsapparat.
18. Datorläsbart medium (145) med ett därpå lagrat program, där programmet år ägnat att förmå en databearbetningsapparat att styra stegen enligt något av kraven 12 till 16 då programmet är laddat i databearbetningsapparaten.
SE0700783A 2007-03-28 2007-03-28 System, metod, datorprogram och datorläsbart medium för grafikbearbetning SE532218C2 (sv)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SE0700783A SE532218C2 (sv) 2007-03-28 2007-03-28 System, metod, datorprogram och datorläsbart medium för grafikbearbetning
EP08712826A EP2126851A1 (en) 2007-03-28 2008-02-20 Graphics rendering system
US12/531,842 US20100060652A1 (en) 2007-03-28 2008-02-20 Graphics rendering system
PCT/SE2008/050196 WO2008118065A1 (en) 2007-03-28 2008-02-20 Graphics rendering system
CA002679000A CA2679000A1 (en) 2007-03-28 2008-02-20 Graphics rendering system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0700783A SE532218C2 (sv) 2007-03-28 2007-03-28 System, metod, datorprogram och datorläsbart medium för grafikbearbetning

Publications (2)

Publication Number Publication Date
SE0700783L SE0700783L (sv) 2008-09-29
SE532218C2 true SE532218C2 (sv) 2009-11-17

Family

ID=39788729

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0700783A SE532218C2 (sv) 2007-03-28 2007-03-28 System, metod, datorprogram och datorläsbart medium för grafikbearbetning

Country Status (5)

Country Link
US (1) US20100060652A1 (sv)
EP (1) EP2126851A1 (sv)
CA (1) CA2679000A1 (sv)
SE (1) SE532218C2 (sv)
WO (1) WO2008118065A1 (sv)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8223845B1 (en) 2005-03-16 2012-07-17 Apple Inc. Multithread processing of video frames
US8392529B2 (en) 2007-08-27 2013-03-05 Pme Ip Australia Pty Ltd Fast file server methods and systems
WO2009067675A1 (en) * 2007-11-23 2009-05-28 Mercury Computer Systems, Inc. Client-server visualization system with hybrid data processing
US9904969B1 (en) 2007-11-23 2018-02-27 PME IP Pty Ltd Multi-user multi-GPU render server apparatus and methods
US10311541B2 (en) 2007-11-23 2019-06-04 PME IP Pty Ltd Multi-user multi-GPU render server apparatus and methods
WO2009067680A1 (en) 2007-11-23 2009-05-28 Mercury Computer Systems, Inc. Automatic image segmentation methods and apparartus
US8319781B2 (en) 2007-11-23 2012-11-27 Pme Ip Australia Pty Ltd Multi-user multi-GPU render server apparatus and methods
US8509569B2 (en) 2008-02-11 2013-08-13 Apple Inc. Optimization of image processing using multiple processing units
US8553040B2 (en) 2009-06-30 2013-10-08 Apple Inc. Fingerprinting of fragment shaders and use of same to perform shader concatenation
US10070839B2 (en) 2013-03-15 2018-09-11 PME IP Pty Ltd Apparatus and system for rule based visualization of digital breast tomosynthesis and other volumetric images
US11183292B2 (en) 2013-03-15 2021-11-23 PME IP Pty Ltd Method and system for rule-based anonymized display and data export
US10540803B2 (en) 2013-03-15 2020-01-21 PME IP Pty Ltd Method and system for rule-based display of sets of images
US11244495B2 (en) 2013-03-15 2022-02-08 PME IP Pty Ltd Method and system for rule based display of sets of images using image content derived parameters
US8976190B1 (en) 2013-03-15 2015-03-10 Pme Ip Australia Pty Ltd Method and system for rule based display of sets of images
US9509802B1 (en) 2013-03-15 2016-11-29 PME IP Pty Ltd Method and system FPOR transferring data to improve responsiveness when sending large data sets
US10260318B2 (en) 2015-04-28 2019-04-16 Saudi Arabian Oil Company Three-dimensional interactive wellbore model simulation system
US11599672B2 (en) 2015-07-31 2023-03-07 PME IP Pty Ltd Method and apparatus for anonymized display and data export
US9984478B2 (en) 2015-07-28 2018-05-29 PME IP Pty Ltd Apparatus and method for visualizing digital breast tomosynthesis and other volumetric images
US10909679B2 (en) 2017-09-24 2021-02-02 PME IP Pty Ltd Method and system for rule based display of sets of images using image content derived parameters
CN114429512A (zh) * 2022-01-06 2022-05-03 中国中煤能源集团有限公司 一种选煤厂bim和实景三维模型的融合展示方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2321729B (en) * 1997-02-04 2001-06-13 Ibm Data processing system, method, and server
US6353437B1 (en) * 1998-05-29 2002-03-05 Avid Technology, Inc. Animation system and method for defining and using rule-based groups of objects
US20060036756A1 (en) * 2000-04-28 2006-02-16 Thomas Driemeyer Scalable, multi-user server and method for rendering images from interactively customizable scene information
KR100454278B1 (ko) * 2000-06-19 2004-10-26 인터내쇼널 렉티파이어 코포레이션 최소의 내부 및 외부 구성요소를 갖는 밸러스트 제어 ic
US7274368B1 (en) * 2000-07-31 2007-09-25 Silicon Graphics, Inc. System method and computer program product for remote graphics processing
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
WO2003023559A2 (en) * 2001-09-07 2003-03-20 Purdue Research Foundation Systems and methods for collaborative shape design
KR100453225B1 (ko) * 2001-12-26 2004-10-15 한국전자통신연구원 3차원 가상 현실 구현을 위한 클라이언트 시스템과 이를이용한 가상 현실 구현 방법
US20050134611A1 (en) * 2003-12-09 2005-06-23 Cheung Kevin R. Mechanism for creating dynamic 3D graphics for 2D web applications
WO2006017198A2 (en) * 2004-07-08 2006-02-16 Actuality Systems, Inc. Architecture for rendering graphics on output devices
US7163060B2 (en) * 2004-11-09 2007-01-16 Halliburton Energy Services, Inc. Difunctional phosphorus-based gelling agents and gelled nonaqueous treatment fluids and associated methods
US8943128B2 (en) * 2006-12-21 2015-01-27 Bce Inc. Systems and methods for conveying information to an instant messaging client

Also Published As

Publication number Publication date
CA2679000A1 (en) 2008-10-02
WO2008118065A1 (en) 2008-10-02
EP2126851A1 (en) 2009-12-02
US20100060652A1 (en) 2010-03-11
SE0700783L (sv) 2008-09-29

Similar Documents

Publication Publication Date Title
SE532218C2 (sv) System, metod, datorprogram och datorläsbart medium för grafikbearbetning
CN106611435B (zh) 动画处理方法和装置
EP4198909A1 (en) Image rendering method and apparatus, and computer device and storage medium
KR101130484B1 (ko) 형상들을 사용하는 공통 차팅
JP7392136B2 (ja) ビデオコンテンツを表示するための方法、コンピュータシステム、およびコンピュータプログラム
US10885705B2 (en) Point cloud rendering on GPU using dynamic point retention
TWI514314B (zh) 丟棄過濾器分接點之紋理位址模式
CA2618862A1 (en) Extensible visual effects on active content in user interfaces
WO2019228013A1 (zh) 在3d模型上展示富文本的方法、装置及设备
CN112954580B (zh) 元数据保留的音频对象聚类
US7583269B2 (en) Window system 2D graphics redirection using direct texture rendering
CN108846886A (zh) 一种ar表情的生成方法、客户端、终端和存储介质
CN109472852A (zh) 点云图像的显示方法及装置、设备及存储介质
CN111476851A (zh) 图像处理方法、装置、电子设备及存储介质
US8908964B2 (en) Color correction for digital images
KR101720635B1 (ko) 웹 기반의 3d 영상 컨텐츠 제작 방법 및 이를 운영하는 서버
CN103460292B (zh) 定义立体视觉图形对象的场景图形
US8203567B2 (en) Graphics processing method and apparatus implementing window system
JP2003168130A (ja) リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法
CN115167940A (zh) 3d文件加载方法及装置
CN112348928A (zh) 动画合成方法、动画合成装置、电子设备及介质
CN117523062B (zh) 光照效果的预览方法、装置、设备及存储介质
US20230386127A1 (en) Information processing apparatus, information processing method, and storage medium
US20210279937A1 (en) Multi-process compositor
CN117708454A (zh) 网页内容处理方法、装置、设备、存储介质及程序产品

Legal Events

Date Code Title Description
NUG Patent has lapsed