Skrivet av dpom86:
Citera på du bara. Citera lite mer så blir det t.o.m. rätt. Du plockar bara en mening som citat ur ett sammanhang. Sammanhanget är komprimeringen som du inte tar med. Faktum är att du räknar ut antalet punkter på 1000m^2 och slänger på enheten GB på det. Var påstår du att jag skrivit 1punkt=1byte någonstans? Däri ligger det du klantat dig med om du undrade.
Och jag köper fortfarande inte att det skulle vara ett problem att det "bara" är 33x33m. Hur många gånger ska vi tjata om det egentligen?
Ok, jag missade att det handlade om komprimering. Men du har fortfarande inte visat att det finns några typer av realtidskomprimeringalgortimer som är MINST 1:16 (för annars kommer det fortfarande ta MINST 16GB utrymme i minnet), och där man dessutom kan beskriva en voxel med ENABRT 1 byte. Och där man dessutom inte har någon overhad från octreet. Plus att du antar att hela världen är spikrak och platt. Du har gjort ett otroligt komplicerat problem (en värld) till ett trivialt exempel (ett platt plan).
Hur kan det inte vara ett problem med att 33x33m tar MINST 1GB utrymme (med din icke existerande realtidskomprimering, och utan allt det jag nämner ovan)? 33x33m är ju inte ens lika stort som en counter-strike karta! Och enligt mina beräkningar, så om man inte kan komprimerar datan men istället använder en palett (från 12 bytes till 1 byte), så tar 22m^2 av rimlig data 8GB.
Och det spelar ingen roll vad du påstår om komprimering, det finns förnärvarande inga algoritmer som jag känner till som kan åstadkomma hög komprimeringsgrad och dekomprimering av SVO i realtid.
Skrivet av dpom86:
"...spelar ingen roll ... mängden data du får ut är ändå OFANTLIGT STOR relativt vad som används idag och vad som praktiskt kan distribueras."
Återigen för att vi inte använder samma antaganden så kommer du fram till ditt "OFANTLIGT STOR".
Jag kommer inte fram till samma sak för jag har något annorlunda antaganden ...fortfarande!
Det är typ det jag försöker säga hela tiden; sammanfattning av våran osämja: Jag tror inte datan behöver bli så stor. Antaganden + siffror -> du svarar: Om man räknar såhär så blir det JÄTTE STORT! -> jag svarar: Men jag räknar inte så. Det blir stort men jag tror inte det behöver bli jättestort -> du svarar: Men om man använder mina antaganden så blir det fortfarande JÄTTE STORT! Ser du inte det? Kolla siffror! -> Jag svarar: Men dina räkningar bygger fortfarande bara på dina egna antaganden och inte på mina. Inte jättestort! -> Jo OFANTLIGT! -> Nääh! -> Joo! -> Nääh...
Ja, och läs ovan, jag tänker anse att 1 liter vatten visst får plats på 1mm^3, det är löjligt, det finns ingenting som stödjer att det skulle vara möjligt, och tills någon bevisar eller lägger fram en teori om hur det skulle gå till, så kan jag inte heller rimligtvis anta att det någonsin kommer vara rimligt (för även om det fysiskt möjligt så är lösningen antagligen att hälla det i ett svart hål).
Skrivet av dpom86:
"Praktiskt som i att, att en kvadratkilometer yta skulle kräva en stor del av bluray-skiva... det är inte praktiskt."
Om du hade ett spel med så bra grafik som säljs några år, säg 4år, in i framtiden (Även om UD motorn skulle bli klar säg nästa år tar det tid att göra ett spel också!) som kräver "en stor del av en bluray-skiva", så svarar jag: Vad är det som är konstigt med det? Det är ungefär som att säga "Tänk om filmer i framtiden tog upp en hel bluray skiva!" Duh! Varför inte spel på Bluray? Vi snackar flera år in i framtiden dessutom.
Nu skrev jag tom fel, jag menade faktiskt 1000m^2 vilket inte ens är i närheten av 1km^2. Vilket är löjligt lite, som sagt va, det är inte ens i närheten av en fotbollsplan (ett hyreshus eller vad du nu vill jämföra med, och det krävs mer variation än bara en vägg och ett fönster).
Och återigen, om du utgår från att vi kan hitta sätt att låta UD använda 100GB utrymme, fundera då även på vad man kan göra med trianglar om vi ger dom 100GB utrymme. Väldigt mycker mer skulle jag gissa.
Det är meningslöst att argumentera med "vadå långsamt? långsamt idag var snabbt för 100 årsedan! så därav är ingenting snabbt eller långsamt, och min bil är därför lika snabb som din.".
Skrivet av dpom86:
"du har bra tankar, men med all sannolikhet faller det i praktiken"
Så kan det mycket väl vara. Jag försöker säga ett det inte är så löjligt orimligt som många säger. Jag argumenterar för att det skulle ligga inom det teoretiskt möjliga. Teorier funkar inte alltid i praktiken tyvärr.
Och här håller jag inte med dig det minsta, att argumentera över teoritisk framtida utveckling är löjligt. Då antar jag också att vi hittar en algoritm som mappar trianglar till ett octree på O(1) och därmed blir trianglar bättre än SVO på alla sätt... och så räknar jag med att vi kan komprimera varje triangel till 1 byte. Alla problem lösta, SVO är meningslöst... men det kanske inte funkar i praktiken!
Skrivet av dpom86:
"Och för att minska mängden utrymme så skulle det krävas ett gräsligt arbete med att handplacera objekt."
Det gör man väll ändå? Eller vad? En artist som gör 10 olika träd måste fortfarande göra allt jobb. Han måste ju göra allt som ska vara olikt på de 10träden , det ploppar ju inte dit av ren magi. Vad skulle bli extra jobb menar du?
Jag anser att situationen i UD skulle vara värre i praktiken, men eftersom det inte finns några verktyg idagsläget så är det självklart svårt att ge några konkreta exempel. Min poäng var iaf att UD marknadsförs som "skanna en palm", så har du en palm i spelet, om du istället måste klippa upp den i löv och stomme, och sedan kopiera och placera dessa förhand så har mycket av poängen och unikheten försvunnit.
Skrivet av dpom86:
"Sen underskattar du alla småeffekter som används idag, en tegelvägg är inte bara en repeterad tegeltextur, utan det ligger säkerligen minst en textur ovan på den som skapar variation över hela väggen"
Jag vet. Jag gör spel. Jag trodde bara inte jag behövde gå in så djupt. Du kan ha små voxelbitar som du lägger på teglet för att ge det den där variationen. Och du kan ju ha ett par olika grundbitar av tegel, inte bara en. Det var väll inte så svårt att komma på den lösningen, det kunde du väll kommit fram till själv tycker jag. Det kanske inte blir lika bra variation som dagens lösningar, men det blir ju bättre på andra sätt istället. Måste det ha alla fördelar från dagens teknik verkligen??
Vadå man kan "ha små voxelbitar som du lägger på teglet"? Hur sjutton skulle det gå till, ytterligare en massa SVO-objekt med "kludd" som man överlappar? Och visst man kan ha flera variationer av tegel. Men det jag menar är:
http://borralm.files.wordpress.com/2010/10/brick_wall.jpg
Det skulle kunna vara en tegelvägg i ett spel, först har man en tegeltextur som upprepas, sen ovanpå det har man lagt en till textur som ger till synes oändlig färgvariation. Dvs, om du skulle gjort det i ett spel så skulle ingen tegelsten på väggen se ut exakt som någon annan, även om grundtexturen upprepas många gånger. Det går dra det här mycket längre, man kan även använda displacement mapping och tessellering, och så har man något som är väldigt likt UD! Du skulle tom kunna sampla tegelstenar i realtid på GPUer för att göra hela väggen unik... och det skulle återigen krävs mindre utrymme.
Och jag ser verkligen inte dragningskraften med detaljrikedomen som visas i UD, trianglar kan emulera det mesta av detaljrikedomen, redan idag om man slipper tänka på shading och allt annat som måste in i ett spel (t.ex. som att folk inte har obegränsat med RAM!). Men som sagt va, det finns ens praktisk sida i det hela också, och den är inte än på några år, och om några år så har nog trianglar tagit ännu några steg längre frammåt.
Skrivet av dpom86:
"Och sen kommer vi tillbaka till minnesproblemet, allting du nämnde ovan, kan man även göra med trianglar och texturer (och det gör dom!)... vilket betyder att trianglar och texturer kommer alltid vara mycket mer utrymmeseffektivt."
Fel. Det kan du citera Carmack på, att när du drar upp detaljrikedomen till en viss nivå så blir trianglar och texturer mer utrymmeskrävande.
Ja, det är väl självklart det finns en brytpunkt där trianglar och texturer bli mer ineffektiva, dvs, troligtvis då en triangel i medel motsvarar ~4-8 voxlar kanske. Och det finns absolut ingen anledning att någonsin göra på det sättet. För på den nivån funkar tessellering, procedurell genering och displacement mapping bättre. Dvs, det finns ingen anledning att någonsin lagra så små trianglar.
Skrivet av dpom86:
"Vi kan redan idag använda högupplösta displacementmaps (för väggar, mark, etc) och liknande tekniker och det skulle emulera mycket av det som UD stoltserar med... men man gör inte det för prestandan och utrymmet spenderas bättre på annat håll, som atmosfäriska effekter, ljussättning, skuggor, dimma, etc."
Visst, men sen är det ju lite skillnad i hur mycket prestanda som krävs för de två också eller? Det du föreslår skulle få en modern dator att kräla på sina knän om man försökte göra det på sättet du föreslår. "Går att göra med dagens teknik" är ett högst teoretiskt påstående om du inte är beredd att acceptera <1fps. Det går dom ju igenom i filmen t.o.m. Jag har hyfsad koll på vad man kan göra och precis som dom säger i filmen så kan man bara "putta upp" pixlar, du kan inte faktiskt skapa håligheter under utstickande grejer. För det krävs riktig geometri. Dessutom stretchas texturerna ut där du stretchar i polygonens yta så det ser också sämre ut desto mer du stretchar. Och återigen kan jag citera Carmack om du vill där han säger att tekniken inte är smidig, mycket jobb och krångel och du kan ändå inte få allt du vill ha. (...utan måste ha riktig geometri för att få det som du vill) Det är i samma veva som han pratar om att han vill att man ska kunna skulptera världen som lera. Vilket han poängterar att du inte kan med dessa tekniker för det finns flera saker du inte kan fixa med det.
Du kan kolla Unigen Heaven som du säkerligen känner till, det kör i full FPS på modern hårdvara, och visst, det har inte riktigt samma nivå av detaljer som UD, men UD går inte ens att använda i realtid i spel idag! Och verkligen, hur mycket mer detaljer än vad som visas i Unigen behövs i praktiken?
Skrivet av dpom86:
"Och nej, jag säger inte 500m^2 på 8GB"
Eh, jo! Du säger det OCH 22block. På samma sätt som jag säger 100m^2. Jag har aldrig sagt att det motsvarar 100m^2 av spelvärld eller nått sånt. Jag går bara aldrig så långt som att försöka approximera mina ytor till block som du gör. Jag jämför dina äpplen med mina äpplen. Sedan att du har gått vidare och gjort äpplesaft av dina betyder inte att jag inte kan jämföra mina äpplen med de äpplen du använde för att göra saften.
Nej det sa jag faktiskt inte, 500m^2 på 8GB var innan jag gjorde klart alla beräkningarna i kommentaren (där jag in octree overhead, etc). Och därefter har jag ingen aning om vad du snackar om.
Skrivet av dpom86:
"Min poäng var att UD har med all sannolikhet inte alls kommit på någon revolutionerande teknik och att minnesutrymmet absolut är ett problem."
Tja det är fullt möjligt men gör inte mina teorier omöjliga bara för att dina är mer sannolika.
Eh va?
Självklart är dina teorier inte omöjliga, men fram tills att någon ens lägger fram några belägg för att dom funkar så är det totalt meningslöst att anta att dom är sanna. Som sagt va, jag antar att vi hittar en log(N) komprimeringsalgoritm i framtiden, för det verkar lösa mina problem väldigt väl.
Skrivet av dpom86:
"Allting som är O(N^2) är i praktiken väldigt sällan praktiskt, det gäller även kvadratmeter med voxlar. Dvs, om inte ALLT i hela världen kan representeras som enormt återanvända instanser av voxelobjekt, så kommer utrymmet öka O(N^2) med storleken. Det är inte praktiskt. Och voxlar kommer alltid att kräva mer minne än trianglar och texturer, tills trianglarna bli små som voxlar."
Återigen ger du mig en lektion i hur matten skulle bli om vi går på dina antaganden istället för mina. Du avslutar vackert med att säga emot dig själv då du tidigare i texten säger att voxlar alltid kommer ta mer plats. "Alltid mycket mer effektivt" har blivit "tills" i denna meningen - det finns t.o.m. ett "mycket" med för att verkligen understryka din motsägelse.
Voxlar är mer eller mindre den yttersta generaliseringen av en värld (atomer), mao, så för att SVO ska vara effektivt så måste voxlar vara den absolut bästa approximeringen av ett problem. Och en voxel är inte det, fördelen med voxlar är att dom är "atomer", så man kan approximera de flesta objekt väldigt väl, men inte utrymmeseffektivt. Trianglar är en mindre generell approximering som bygger på observation att många ytor är platta eller har en platt utgångspunkt som sedan kan tesselleras för att skapa variation.
Dvs, varför vill vi representera en tegelväg som individuella voxlar, när man kan representera den som en enda stor quad som tesselleras och displacement-mappas och på så sätt kan varje tegelsten i väggen bli tillsynes helt unik och samtidigt vara ungefär lika detaljerad som SVO-alternativet, samtidigt som man kan göra den oändligt stor. Och allt som krävs är, 1 quad, 1-4 lagom upplösta texturer och några shaders.
Jag vet inte riktigt vart diskussionen tagit vägen, men UD är inte praktiskt idag (prestanda, utrymme, etc), och det är säkerligen flera år tills det ens finns hopp om att det blir praktiskt. Och om det blir praktiskt då bygger på att vi väldigt effektivt löst komprimering, animering, etc OCH dessutom utvecklat bra verktyg för att jobba med det. Vilket är väldigt stora problem. Notera att jag säger ingenting om SVO generellt, för det finns säkerligen praktiska användningsområden för SVO redan idag, men UD har en väldigt specifik fokus.
Och det går inte argumentera förbi att utrymme är ett problem för trianglar och texturer även idag, voxlar kan omöjligt vara mer utrymmeseffektiva för samma kvalitet för praktiska ändåmål i dagsläget.
Sen tycker jag återigen att det blivit väldig hysteri kring detaljerna i UD, som sagt va, moderna grafikkort klarar av pressa ut liknande grafik i 60 FPS om dom också skiter i shading och alla andra effekter. Men som sagt va, spelutvecklare har som tur va insett att detaljstudera stenar och grässtrån är långt ifrån det viktigaste man gör i spel... utan att helhetsintrycket är det viktiga, animering, atmosfär, ljussättning, skuggor, variation, dimma, effekter, etc. Och det enda SVOer visat för sig hitills i någorlunda realtid är en ytterst repeterad, platt och statisk och solid värld... men väldigt detaljerad.
Skickades från m.sweclockers.com