Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum Polygone? Ist das nicht Unsinn?
Mastermind
2006-06-17, 00:51:07
Moinsen an alle Experten hier. :)
Soweit ich informiert bin, werden bei der Darstellung von 3D-Grafik praktisch immer Polygonmodelle benutzt. Selbiges sind meistens Dreiecke. AFAIK sind auch Polygone mit mehr Ecken möglich, aber werden nur selten benutzt. Wobei ich bei dem Punkt nicht sicher bin. Jedenfalls hab ich schon öfters Quadrate gesehen, die aus zwei Dreiecken zusammengesetzt waren.
Nun frage ich mich, warum das so gemacht wird? Denn wenn man ein realitätsnahes Modell eines Menschen machen will, dann muss man irrsinnige Mengen dieser Polygone kreieren! Warum wird also eine Figur nicht aus echten dreidimensionalen Figuren zusammengesetzt??? :| Das wäre doch 1000 mal besser! Die Grafik wäre absolut exakt, da ein Rad auch dann rund wäre, wenn man auf mikroskopischer Ebene ranzoomt. Komplizierte Strukturen können durch beliebig wertige Funktionen beliebig approximiert werden. So kann man auch völlig problemlos sehr flexibel den Detailreichtum variieren. :)
Ich denke die Idee ist klar, ich kann bei Bedarf aber gerne weiter ausführen. Also, warum wird das nicht umgesetzt?
Wird doch schon umgesetzt, z.B. mittels B-Splines oder NURBS. Allerdings ist der Rechenaufwand dafür ungleich größer als für Polygonmodelle, weshalb diese Techniken bei Echtzeitanwendungen eher nicht zum Einsatz kommen.
Im 3d-Rendering ist das aber alles kalter Kaffee ;)
-huha
Monger
2006-06-17, 01:00:43
Nun, um ein Dreieck zu beschreiben, braucht man im dreidimensionalen Raum nur 6 Koordinaten zu beschreiben. Eine Linie zwischen zwei Punkten zu ziehen, ist mathematisch gesehen sehr simpel.
Man kann runde Formen durchaus mathematisch beschreiben ("Bézier-Kurven). Das wird in der Industrie z.B. für Autos auch gemacht. Nur dauert die Berechnung sehr lange. Und vor ein paar Jahren hatten wir ja mit Truform so einen Ansatz in die Richtung.
Polygonnetze aufzubauen geht aber rasend schnell. Und ab einer gewissen Polygonanzahl sieht man die Kanten auch fast nicht mehr. Zusammen mit geschickter Texturierung sieht das fast genauso gut aus wie perfekt runde Formen, kostet aber nur einen Bruchteil der Rechenleistung.
Hardwarebeschleunigung ist für Polygone am einfachsten. Auch sonst sind Polygone am schnellsten zu zeichnen.
Mit gegebener Rechenleistung und Anforderungen hinsichtlich der FPS bekommt man die bestaussehende Grafik mit extra auf Rechenleistung und gewünschten FPS angepassten Polygonmodellen.
Mastermind
2006-06-17, 01:03:25
Sehr bedauernswert. Ich hätte erwartet, dass es bei einem rundem Objekt aus einer siebenstelligen Anzahl von Polygonen, wo wir ja bei Computerspielen bald ankommen, schneller ist die mathematische Lösung zu nutzen. :(
Dass diese Technik bei Renderings eingesetzt wird ist aber erfreulich. Sobald endlich der Quanten-PC fertig ist, sollte das auch in Echtzeit kein Problem sein.
Mastermind[/POST]']Sehr bedauernswert. Ich hätte erwartet, dass es bei einem rundem Objekt aus einer siebenstelligen Anzahl von Polygonen, wo wir ja bei Computerspielen bald ankommen, schneller ist die mathematische Lösung zu nutzen. :(
Nicht unbedingt. Über LOD-Anpassungen läßt sich ja die Polygonanzahl des Objekts je nach Entfernung verringern; eine Formel muß eben immer berechnet werden, selbst wenn das Objekt schon so weit entfernt ist, daß es eigentlich völlig egal ist, ob es nun rund ist oder nicht.
-huha
Spasstiger
2006-06-17, 01:19:03
Der allererste Grafikchip von Nvidia hat ebenfalls mit NURBS gearbeitet. Schnell hatte man jedoch gemerkt, dass man einen wirtschaftlichen Grafikchip nur auf Basis von Polygonrendering realisieren konnte.
Monger
2006-06-17, 01:25:22
Mastermind[/POST]']Sehr bedauernswert. Ich hätte erwartet, dass es bei einem rundem Objekt aus einer siebenstelligen Anzahl von Polygonen, wo wir ja bei Computerspielen bald ankommen, schneller ist die mathematische Lösung zu nutzen. :(
Das Problem ist, dass man es selten nur mit einfachen Kreis und Ovalen zu tun hat. Oft genug sind da ziemlich komplexe Kurvenverläufe drin. Dementsprechend braucht man relativ viele Knoten und Parameter, um das darzustellen.
Und Huha's Argument leuchtet mir ein: ohne LOD kann es sein, dass man für ein Objekt mehr Kurvensegmente berechnet als es letztendlich Pixel einnimmt. Sowas wäre in jeder Hinsicht ziemlich unsinnig.
Dass diese Technik bei Renderings eingesetzt wird ist aber erfreulich. Sobald endlich der Quanten-PC fertig ist, sollte das auch in Echtzeit kein Problem sein.
:lol: Der war gut!
Mastermind
2006-06-17, 01:40:33
Monger[/POST]'][...]
:lol: Der war gut!
Ich mache mir da in der Tat große Hoffnungen. Zumal ich evtl. daran beteiligt sein werde. :biggrin: :cool:
Es ist so, dass ich mit einer Leistungssteigerung um Faktor Tausend rechne. Wenn du dir jetzt noch überlegst, dass man eine 512 oder gar 1024bit-Architektur nimmt und hardwareseitig optimierte Lösungen einsetzt (so wie es z.B. einen Prototypen für einen Raytracing-Chip gab), dann sollte sowas in der Tat kein Problem sein. :)
Mastermind[/POST]']Sehr bedauernswert. Ich hätte erwartet, dass es bei einem rundem Objekt aus einer siebenstelligen Anzahl von Polygonen, wo wir ja bei Computerspielen bald ankommen,
Bald?
In den nächsten 10 Jahren jedenfalls nicht... :ulol:
Außerdem je kleiner die Polygone, desto höher der Verschnitt und umso mehr Leistung geht da nochmals drauf!
Einen "perfekt" runden Ball mit Polygonen zu erstellen dürfte für die GPU einer Zumutung gleichkommen.
Mastermind
2006-06-17, 01:54:47
Gast[/POST]']Außerdem je kleiner die Polygone, desto höher der Verschnitt und umso mehr Leistung geht da nochmals drauf!
Einen "perfekt" runden Ball mit Polygonen zu erstellen dürfte für die GPU einer Zumutung gleichkommen.
Ein perfekt runder Ball ist damit gar nicht möglich, weil du unendlich viele Polygone brauchst.
Aber ich habe schon eingesehen: Polygone haben das beste Preis/Leistungs-verhältnis.
Mastermind
2006-06-17, 01:55:15
Gast[/POST]']Bald?
In den nächsten 10 Jahren jedenfalls nicht... :ulol:
Sei dir da mal nicht so sicher. :cool:
Monger
2006-06-17, 02:14:04
Mastermind[/POST]']Ich mache mir da in der Tat große Hoffnungen. Zumal ich evtl. daran beteiligt sein werde. :biggrin: :cool:
Es ist so, dass ich mit einer Leistungssteigerung um Faktor Tausend rechne.
Leistung oder Quanten? Tausend Quanten auf die Reihe zu kriegen wäre tatsächlich eine gewaltige Leistung. Aber solange man sich damit quält, auch nur ein dutzend dieser Biester unter Kontrolle zu kriegen, bleibe ich skeptisch.
Wenn du dir jetzt noch überlegst, dass man eine 512 oder gar 1024bit-Architektur nimmt und hardwareseitig optimierte Lösungen einsetzt (so wie es z.B. einen Prototypen für einen Raytracing-Chip gab), dann sollte sowas in der Tat kein Problem sein. :)
Es GIBT kommerzielle Raytracing Chips. Es gibt auch Hardware-Lösungen, die die das Rendern von B-Splines, NURBS und wie sie alle heißen beschleunigen. Wenn man sich Shrek oder Final Fantasy ansieht, ist das genau das. Es ist also nicht so, dass das völlig utopisch wäre. Nur: Computerspiele sind auf Performance getrimmt, Filme o.ä. auf Qualität. Das sind zwei völlig verschiedene Märkte, und die höhere Qualität wird mit einem hohen Preis erkauft. Nur ein paar dutzend Firmen weltweit können solche Renderfarmen aufbringen, eine Grafikkarte muss im Prinzip für jeden Studenten erschwinglich sein. Da liegen ganze Welten dazwischen.
Mastermind[/POST]']Ein perfekt runder Ball ist damit gar nicht möglich, weil du unendlich viele Polygone brauchst.
Da man nur eine diskrete Auflösung besitzt, kommt man schnell an den Punkt an dem man ein identisches Ergebnis erhält.
Ein deutlicher Pluspunkt für Dreiecke gegenüber allem anderen: Sie sind konvex. Dadurch werden die allermeisten Formeln stark vereinfacht.
Bedeutet Konvex nicht "Nach außen gewölbt"? Wie kann ich das in Einklang mit Dreiecken bringen?
Mastermind[/POST]']Ein perfekt runder Ball ist damit gar nicht möglich, weil du unendlich viele Polygone brauchst.
*klugscheißmode*
ein fußball ist nicht rund und besteht aus 5- und 6-ecken ;)
eine kugel ist sowieso nicht wirklich ein problem, da sie aus jeder perspektive als kreis gesehen wird. man braucht also nur einen flachen kreis, und diesen entsprechend parallel zur sichtebene drehen.
Mastermind
2006-06-17, 12:37:51
RLZ[/POST]']Da man nur eine diskrete Auflösung besitzt, kommt man schnell an den Punkt an dem man ein identisches Ergebnis erhält.
Ein deutlicher Pluspunkt für Dreiecke gegenüber allem anderen: Sie sind konvex. Dadurch werden die allermeisten Formeln stark vereinfacht.
Richtig. Bei einer mathematischen Lösung habe ich aber den Vorteil, dass ich die Auflösung beliebig erhöhen kann bzw. an das objekt ranzoomen kann. Und je mehr ich ranzoome, desto mehr kommst du mit deinen Polygonen ins Schwitzen. :biggrin:
Mastermind
2006-06-17, 12:40:44
Gast[/POST]']*klugscheißmode*
ein fußball ist nicht rund und besteht aus 5- und 6-ecken ;)
eine kugel ist sowieso nicht wirklich ein problem, da sie aus jeder perspektive als kreis gesehen wird. man braucht also nur einen flachen kreis, und diesen entsprechend parallel zur sichtebene drehen.
Wenn schon Klugscheißen, dann wenigstens richtig, mein Lieber. :biggrin:
Ein Fußball muss nicht aus 5- und 6-Ecken bestehen. Schau dir mal unseren Tiemgeist an. ;) Außerdem geht es hier gar nicht um Fußbälle und deine Aussage hat mich nicht widerlegt, sondern bestätigt.
Was du über die Kugel schreibst ist ziemlicher Unsinn. Es geht hier um 3D-Grafik.
Gast[/POST]']Bedeutet Konvex nicht "Nach außen gewölbt"? Wie kann ich das in Einklang mit Dreiecken bringen?
Bei Grafik/Geometrie heißt es das: http://de.wikipedia.org/wiki/Konvexe_Menge
Tigerchen
2006-06-17, 13:00:37
Mastermind[/POST]']Sei dir da mal nicht so sicher. :cool:
Stimmt in 30 Jahren wär realistischer.
Gast[/POST]']Bedeutet Konvex nicht "Nach außen gewölbt"? Wie kann ich das in Einklang mit Dreiecken bringen?
Das bedeutet dass ein Dreieck nirgends "nach innen gewölbt" ist, also die Innenwinkel immer kleiner 180° sind und es keine Überschneidungen gibt. Daraus folgt dass eine Gerade ein Dreieck nur an maximal zwei Punkten schneiden kann, womit es äußerst simpel ist ein Dreieck in Pixelzeilen umzuwandeln.
Dreiecke sind außerdem immer eben, und mit baryzentrischen Koordinaten hat man ein relativ einfaches Mittel um Farben und Texturkoordinaten linear über die Fläche zu interpolieren. Das Hauptproblem der Higher-Order-Darstellungen ist dass sie sich äußerst schlecht rasterisieren lassen, weshalb sie eben nur bei Raytracing wirklich zum Einsatz kommen und sonst vorher in Dreiecke zerlegt werden.
Trap[/POST]']Bei Grafik/Geometrie heißt es das: http://de.wikipedia.org/wiki/Konvexe_Menge
LOL Warum können Mathematiker sich nichtmal eigene Worte ausdenken, sondern müssen ständig bereits anderweitig besetzte Begriffe zweckentfremden :???:
Danke jedenfalls für den Link - wieder was gelernt. :)
Gast[/POST]']LOL Warum können Mathematiker sich nichtmal eigene Worte ausdenken, sondern müssen ständig bereits anderweitig besetzte Begriffe zweckentfremden :???:
Danke jedenfalls für den Link - wieder was gelernt. :)
P.S.:
Wikipedia ist sich anscheinend da auch nicht ganz einig. Schaue ich nur unter "Konvex" nach, erhalte ich u.a. folgende Aussage: "Als konvex (lat.: convexus gewölbt, gerundet) bezeichnet man (u. a. in der Mathematik und in der Optik) Formen (Flächenteile, Linien), die nach außen gewölbt sind."
Ein Dreieck mag ja nun nicht nach Innen gewölbt sein, nach außen ist es jedenfalls auch nicht gewölbt.
tststs
Mastermind
2006-06-17, 13:17:07
Gast[/POST]']LOL Warum können Mathematiker sich nichtmal eigene Worte ausdenken, sondern müssen ständig bereits anderweitig besetzte Begriffe zweckentfremden :???:
Danke jedenfalls für den Link - wieder was gelernt. :)
Glaub mir, du willst gar nicht wissen, wieviele Wörter sich die Mathematiker schon ausgedacht haben. Ich spreche aus eigener Erfahrung. Habe mal einem Gespräch zwischen zwei Mathematikern zugehört, mehrere Minuten lang. Und ich habe KEIN WORT verstanden. Und ich studiere Physik. ;D
Xmas[/POST]']Das bedeutet dass ein Dreieck nirgends "nach innen gewölbt" ist, also die Innenwinkel immer kleiner 180° sind und es keine Überschneidungen gibt. Daraus folgt dass eine Gerade ein Dreieck nur an maximal zwei Punkten schneiden kann, womit es äußerst simpel ist ein Dreieck in Pixelzeilen umzuwandeln.
Dreiecke sind außerdem immer eben, und mit baryzentrischen Koordinaten hat man ein relativ einfaches Mittel um Farben und Texturkoordinaten linear über die Fläche zu interpolieren. Das Hauptproblem der Higher-Order-Darstellungen ist dass sie sich äußerst schlecht rasterisieren lassen, weshalb sie eben nur bei Raytracing wirklich zum Einsatz kommen und sonst vorher in Dreiecke zerlegt werden.
Danke für die Erklärung, auch wenn das von mir gefettete laut Wikipedia-Definition nicht richtig sein dürfte, da Konkav nicht die Negierung von Konvex (also auch vice versa) ist. :)
Mastermind[/POST]']Glaub mir, du willst gar nicht wissen, wieviele Wörter sich die Mathematiker schon ausgedacht haben. Ich spreche aus eigener Erfahrung. Habe mal einem Gespräch zwischen zwei Mathematikern zugehört, mehrere Minuten lang. Und ich habe KEIN WORT verstanden. Und ich studiere Physik. ;D
Nein, wissen will ich's wirklich nicht, aber die sollen gefälligst nicht anderweitig besetzte Begriffe benutzen, sonst kommt's nur immer zu Mißverständnissen. Im RL können die ja schlecht [Mathematik]-Tags um ihre Äußerungen setzen.
Gast[/POST]']*klugscheißmode*
ein fußball ist nicht rund und besteht aus 5- und 6-ecken ;)
Die jedoch auch eine Krümmung vorweisen, sonst würde der ja schlecht rollen :wink:
Gast[/POST]']Nein, wissen will ich's wirklich nicht, aber die sollen gefälligst nicht anderweitig besetzte Begriffe benutzen, sonst kommt's nur immer zu Mißverständnissen.
Weil ein Physiker einen mathematischen Begriff zur Beschreibung von Linsenformen genutzt hat und der Begriff dadurch bekannt wurde, dürfen ihn Mathematiker nicht mehr verwenden? Tolle Wurst...
. Bei einer mathematischen Lösung habe ich aber den Vorteil, dass ich die Auflösung beliebig erhöhen kann bzw. an das objekt ranzoomen kann. Und je mehr ich ranzoome, desto mehr kommst du mit deinen Polygonen ins Schwitzen.
Dreiecke sind auch eine mathematische Lösung. ;)
Aber selbst wenn man zB Freiformflächen nutzen will, ist es idR. schneller die Flächen in einer ausreichend hohen Auflösung zu triangulieren. Wenn man weiter ranzoomt trianguliert man den Teilbereich halt wieder in einer höheren Auflösung neu.
tombman
2006-06-17, 17:09:00
ich denke nicht, daß Polygone als Beschreibung von 3D Körpern in absehbarer Zukunft ersetzt werden. Maschinen und damit Grafikkarten tun sich eben verdammt leicht verdammt schnell verdammt simple Sachen auszuführen. So ein Dreieck kommt da gerade recht. Simpler gehts wirklich nimmer, dafür eben aber abartig schnell.
Ich hab hier einen Screenshot von XVOX von ein X1900 Crossfire System was 15 Millionen Poligone in ~30fps packt ;) Bei der Menge siehst keine Ecken und Kanten mehr, weil man eben so viele Polys hat...
Außerdem darf man ja auch nicht die Auflösung vergessen...
Wenn ich hier wireframe einschalten würde, würde das Bild praktisch genauso aussehen, da ein Polygon im Schnitt bereits deutlich kleiner als ein Pixel ist. (2.3M Pixel vs 15Mio Polys pro frame)
http://img88.imageshack.us/img88/4934/15millionpolys9dj.th.jpg (http://img88.imageshack.us/my.php?image=15millionpolys9dj.jpg)
Ein paar Millionen Poligone + das richtige Licht drauf und es schaut aus wie echt..
Aquaschaf
2006-06-17, 17:34:54
Gast[/POST]']P.S.:
Wikipedia ist sich anscheinend da auch nicht ganz einig. Schaue ich nur unter "Konvex" nach, erhalte ich u.a. folgende Aussage: "Als konvex (lat.: convexus gewölbt, gerundet) bezeichnet man (u. a. in der Mathematik und in der Optik) Formen (Flächenteile, Linien), die nach außen gewölbt sind."
Ein Dreieck mag ja nun nicht nach Innen gewölbt sein, nach außen ist es jedenfalls auch nicht gewölbt.
Das widerspricht sich doch nicht. Anschaulich kann man 'konvex' so übersetzen: wenn 2 Punkte in der Menge liegen und man sie mit einer geraden Linie verbindet, dann liegen alle Punkte auf dieser Linie auch in der Menge. Bei einer nach außen gewölbten Linse ist das offensichtlich der Fall, bei einer nach nach innen gewölbten (konkaven) Linse nicht.
tokugawa
2006-06-17, 18:39:39
Mastermind[/POST]']Moinsen an alle Experten hier. :)
Soweit ich informiert bin, werden bei der Darstellung von 3D-Grafik praktisch immer Polygonmodelle benutzt. Selbiges sind meistens Dreiecke. AFAIK sind auch Polygone mit mehr Ecken möglich, aber werden nur selten benutzt. Wobei ich bei dem Punkt nicht sicher bin. Jedenfalls hab ich schon öfters Quadrate gesehen, die aus zwei Dreiecken zusammengesetzt waren.
Nun frage ich mich, warum das so gemacht wird? Denn wenn man ein realitätsnahes Modell eines Menschen machen will, dann muss man irrsinnige Mengen dieser Polygone kreieren! Warum wird also eine Figur nicht aus echten dreidimensionalen Figuren zusammengesetzt??? :| Das wäre doch 1000 mal besser! Die Grafik wäre absolut exakt, da ein Rad auch dann rund wäre, wenn man auf mikroskopischer Ebene ranzoomt. Komplizierte Strukturen können durch beliebig wertige Funktionen beliebig approximiert werden. So kann man auch völlig problemlos sehr flexibel den Detailreichtum variieren. :)
Ich denke die Idee ist klar, ich kann bei Bedarf aber gerne weiter ausführen. Also, warum wird das nicht umgesetzt?
"Darstellung von 3D-Grafik" - hier mußt du richtige Begriffe einsetzen. Was du meinst ist die Echtzeitgrafik. In der Nicht-Echtzeit-Computergrafik werden die Dinge die du erwähnst schon längst eingesetzt, und sowieso eher auf analytische Beschreibungen von Objekten gesetzt als auf Polygondarstellungen.
In der Computergraphik werden nicht nur Polygone eingesetzt, um Objekte zu repräsentieren (Objektrepräsentation wird übrigens "Modelling" genannt).
Polygonrepräsentationen gehören zu der Klasse der "Objektgrenzenrepräsentationen", sogenannte "Boundary Representations", oder auch B-Reps. Dies wird am meisten in der Echtzeitgrafik verwendet.
Daneben gibt es, wie du andeutest, auch die Art, aus einfachen analytischen Körpern (Kugel, Zylinder, usw.) mittels eines Operatorenbaumes (Vereinigung, Durchschnitt, usw.) Objekte zu modellieren - dies nennt man "Constructive Solid Geometry" oder CSG. Dies wird auch in der 3D-Grafik verwendet, nur eben nicht in der Echtzeitgrafik, sondern eher z.B. im Raytracing.
Dann gibt's noch viele andere, Quadriken, Blobby Objects, Metaballs, usw. die jeweils Spezialprobleme lösen.
Du wirst vielleicht auch von Voxeln (3D-Pixel) gehört haben, die besonders in der Volumenvisualisierung verwendet werden (hier sogar in Echtzeit, mittels GPU-Raycasting).
Also, es gibt schon wesentlich mehr.
Trotzdem ist es aufgrund der Einheitlichkeit von B-Reps (hier kann man ein Objekt als einfache Punktmenge, mit verbundenen Faces repräsentieren, und alle dieselbe Pipeline "durchlaufen" lassen) für die Echtzeitgrafik auf GPUs die Polygondarstellung am günstigsten. Für andere Repräsentationen müsste man zu viele Spezialfälle berücksichtigen, die GPU würde also um einiges komplexer werden.
Derzeit reichen bei Polygondarstellungen im Prinzip nur einfache Berechnungen.
Es ist allerdings nicht ausgeschlossen dass mal irgendwas anderes auch in der Echtzeitgrafik verwendet wird. Man kann ja nie wissen.
Derzeit fahren aber B-Reps immer noch sehr sehr gut.
Außerdem sind B-reps besser skalierbar. Wenn du ein Objekt mit der doppelten Vertexanzahl hast, dann skaliert der Vertexteil linear mit (also 2x).
Bei einer Repräsentation über CSG z.B. könnte die Skalierung exponentiell sein mit der Baumtiefe.
Mastermind[/POST]']
Was du über die Kugel schreibst ist ziemlicher Unsinn. Es geht hier um 3D-Grafik.
ach wirklich ;)
schon mal den "ball" in fifa oder pro-evo genau angesehen? dieser ist nämlich nur eine flache scheibe die immer in blickrichtung gedreht wird.
=Floi=
2006-06-17, 20:25:31
es gab doch mal so eine tech demo mit einer lampe welche bei einer neue graka vorgestellt wurde da wurde doch auch in echtzeit gerendert
Mastermind[/POST]']Sobald endlich der Quanten-PC fertig ist, sollte das auch in Echtzeit kein Problem sein.
Dir ist aber schon bewusst, dass auf einem Quantenprozessor normale Algorithmen nicht funktionieren?
CharlieB
2006-06-17, 20:45:30
Monger[/POST]'] Es gibt auch Hardware-Lösungen, die die das Rendern von B-Splines, NURBS und wie sie alle heißen beschleunigen. Wenn man sich Shrek oder Final Fantasy ansieht, ist das genau das....
ja die Figuren sind recht smooth ...
das ist aber kein nurbs modelling sondern da werden subdivision surfaces verwendet.
Das ist ein spezieller, hocheffizienter Allgorithmus,
der schrittweise ein Polygonmodell immer weiter verfeinert.
Es ist auch exakt defiiert was bei diesem Algo als "rund" definiert ist(für einen Ball)
das sprengt dann diesen Thread, da muss man weit ausholen.
Also, wann immer man wirkliche, realitätsnahe weiche Formen mit Programmen wie Maya, Max, Houdini erzeugt, nimmt man ein Subdivision Surface.
Mit Nurbs Modellen baut man die ganzen Städte auf, oder vllt auch nen Kampfjet etc ...
CB
tokugawa
2006-06-17, 20:48:41
Mastermind[/POST]']Wenn schon Klugscheißen, dann wenigstens richtig, mein Lieber. :biggrin:
Ein Fußball muss nicht aus 5- und 6-Ecken bestehen. Schau dir mal unseren Tiemgeist an. ;) Außerdem geht es hier gar nicht um Fußbälle und deine Aussage hat mich nicht widerlegt, sondern bestätigt.
Was du über die Kugel schreibst ist ziemlicher Unsinn. Es geht hier um 3D-Grafik.
3D-Echtzeitgrafik ist die große Kunst des Betrügens.
Tatsächlich werden solche sogenannte "Impostors" (dazu gehören auch die Billboard-Techniken) oft verwendet, und bewirken auch tatsächlich eine bessere wahrgenommene Gesamt-Qualität, wenn richtig eingesetzt.
Einen relativ rotationsinvarianten Körper wie einen Ball (die richtige Beleuchtung und Texturierung vorausgesetzt) kann man ruhig als 2D-Textur auf ein Billboard kleben und gut ist's. Dann hat man einen perfekt runden Ball (genügend Auflösung für diese 2D-Textur vorausgesetzt).
Selbst bei Rotationsvarianz könnte man eine Anzahl an "Ansichten" vorrendern und aus der richtigen Sicht die korrekte 2D-Textur auswählen (bzw. um Popping zu vermeiden zwischen zwei Stufen blenden). Diese Impostor-Technik wird z.B. bei Vegetation verwendet (Wälder, usw.), sh. http://www.cg.tuwien.ac.at/~chiu/BillboardCloudsTheMovie.mpg
Spasstiger
2006-06-18, 00:08:29
Gast[/POST]']Nein, wissen will ich's wirklich nicht, aber die sollen gefälligst nicht anderweitig besetzte Begriffe benutzen, sonst kommt's nur immer zu Mißverständnissen. Im RL können die ja schlecht [Mathematik]-Tags um ihre Äußerungen setzen.
Die Definitionen von konvex und konvexe Menge besagen genau dasselbe. Eine konkave Linse ist ein anschauliches Beispiel für eine nichtkonvexe Menge. Eine konvexe Linse und eine gerade Linse sind Beispiele für konvexe Mengen.
tokugawa
2006-06-18, 01:56:01
Gast[/POST]']P.S.:
Wikipedia ist sich anscheinend da auch nicht ganz einig. Schaue ich nur unter "Konvex" nach, erhalte ich u.a. folgende Aussage: "Als konvex (lat.: convexus gewölbt, gerundet) bezeichnet man (u. a. in der Mathematik und in der Optik) Formen (Flächenteile, Linien), die nach außen gewölbt sind."
Ein Dreieck mag ja nun nicht nach Innen gewölbt sein, nach außen ist es jedenfalls auch nicht gewölbt.
tststs
Spasstiger hat absolut recht.
Bei Dreiecken, wenn du jeden Punkt eines Dreiecks betrachtest, sind die Kanten die davon weggehen so beschaffen, dass jeder Punkt eine "Wölbung" nach außen sind.
Deswegen sind Dreiecke konvex, allgemeine Polygone nicht unbedingt (aber es gibt Algorithmen wie die Delauney-Triangulation, die Polygone in Dreiecke aufteilen).
Und man bezeichnet auch in der Geometrie solche Polygone wie eben das Tri-gon als konvex.
Das kann man auch dann mit 3D-Körpern machen (bei "konvexen Polygonen" betrachtet man ja nur deren planares Mapping), es gibt konvexe und konkave 3D-Körper. Es gibt z.B. die n-Eder, die alle konvexe (teilweise regelmäßige) Körper sind, wie etwa der Dodekaeder (oder auch Dodecahedron genannt).
Die Mathematik erfindet nicht besonders viele Wörter. Da ist die Informatik eher wort-erfindungsfreudig (vor allem bei Abkürzungen), und die Wirtschaftler (im Bereich Werbung/Marketing) überhaupt. Gerade letztere lassen sich gern neue Wörter für alte Sachen einfallen :)
Gast[/POST]']Danke für die Erklärung, auch wenn das von mir gefettete laut Wikipedia-Definition nicht richtig sein dürfte, da Konkav nicht die Negierung von Konvex (also auch vice versa) ist. :)
Ich habe doch konkav gar nicht erwähnt? Dass ein Dreieck nirgends nach innen gewölbt ist, ist jedenfalls zweifellos richtig. ;)
Jules
2006-06-18, 03:20:45
nicht ganz das thema, aber weis jemand wie diese "neue" technik heißt mit der john carmack momentan arbeitet?
Ikari[/POST]']nicht ganz das thema, aber weis jemand wie diese "neue" technik heißt mit der john carmack momentan arbeitet?
http://en.wikipedia.org/wiki/MegaTexture
Jules
2006-06-18, 13:47:31
Trap[/POST]']http://en.wikipedia.org/wiki/MegaTexture
sry, das meint ich eigentlich nicht.
man sprach davon keine polygone zu verwenden sonder irgendeine andere art.
hier im forum gabs auch mal ein video dazu, wo man glaub ich eine BOEING (flugzeug) mit dieser technik demonstrierte.
NURBS warens soweit ich weiß nicht, aber es war auf jeden fall sehr sehr rechenlastig.
soweit ich weiß will er das für die kommende ID engine nutzen, aber kann auch sein das ich vielleicht bokmist gelesen habe.
Ikari[/POST]']man sprach davon keine polygone zu verwenden sonder irgendeine andere art.
Er hat afaik mal mit Pointbased Rendering experimentiert.
Er kam allerdings zum Schluss, dass es zumindest momentan für diesen Anwendungszweck unbrauchbar ist.
hier im forum gabs auch mal ein video dazu, wo man glaub ich eine BOEING (flugzeug) mit dieser technik demonstrierte.
Das war wohl eher Raytracing.
Spasstiger
2006-06-18, 13:52:43
Ikari[/POST]']sry, das meint ich eigentlich nicht.
man sprach davon keine polygone zu verwenden sonder irgendeine andere art.
hier im forum gabs auch mal ein video dazu, wo man glaub ich eine BOEING (flugzeug) mit dieser technik demonstrierte.
NURBS warens soweit ich weiß nicht, aber es war auf jeden fall sehr sehr rechenlastig.
soweit ich weiß will er das für die kommende ID engine nutzen, aber kann auch sein das ich vielleicht bokmist gelesen habe.
Ich glaube, du redest von Raytracing. Auf den Bezug zu John Carmack bist du wahrscheinlich gekommen, weil Studenten der Universität des Saarlandes einen Raytrace-Renderer für Quake 3 geschrieben haben: http://graphics.cs.uni-sb.de/~sidapohl/egoshooter/.
Jules
2006-06-18, 14:07:00
Spasstiger[/POST]']Ich glaube, du redest von Raytracing. Auf den Bezug zu John Carmack bist du wahrscheinlich gekommen, weil Studenten der Universität des Saarlandes einen Raytrace-Renderer für Quake 3 geschrieben haben: http://graphics.cs.uni-sb.de/~sidapohl/egoshooter/.
naja, so bin ich nicht drauf gekommen, aber das hab ich gesehen.......einfach genial.
gibs da vielleicht neuigkeiten zu, das ist ein thema was mich brennend interessiert.
gabs sogar in der gamestar mal nen bericht dazu, hatte mal n guter kollege mir die dvd gezeigt wo ein student mit sehr wenig zeilen code andere engines deklassierte. sehr interessant.
PrefoX
2006-06-18, 21:47:37
Gast[/POST]']ach wirklich ;)
schon mal den "ball" in fifa oder pro-evo genau angesehen? dieser ist nämlich nur eine flache scheibe die immer in blickrichtung gedreht wird.und wie wird dann die beleuchtung errechnet? unmöglich, und die texturierung erst ;D
PrefoX[/POST]']und wie wird dann die beleuchtung errechnet? unmöglich, und die texturierung erst ;D
ist es nicht, mit normalmapping beispielsweise kann man ein eigentlich flaches polygon korrekt "rund" beleuchten.
MeLLe
2006-06-18, 22:41:40
Warum sollte man aber Rechenzeit für Billboarding und Texturebandbreite für Normalmapping bei so einem simplen Obejkt wie dem einen Fussball in einer Soccer-Sim opfern?
tokugawa
2006-06-18, 23:15:46
MeLLe[/POST]']Warum sollte man aber Rechenzeit für Billboarding und Texturebandbreite für Normalmapping bei so einem simplen Obejkt wie dem einen Fussball in einer Soccer-Sim opfern?
Weil das quasi das zentrale Objekt im Spiel ist?
Was man am häufigsten sieht sollte auch am besten ausschauen.
Im Übrigen, soooo viel Rechenzeit kostet Billboarding nicht. Im Gegenteil.
Genauso könnte man auch fragen wozu man - wenn man den Ball polygonal ausmodelliert - "so viele Polygone dafür opfert".
PrefoX[/POST]']und wie wird dann die beleuchtung errechnet? unmöglich, und die texturierung erst ;D
Doch, genau das wird z.B. bei den sogenannten "Depth Impostors" gemacht.
Mastermind[/POST]']Wenn schon Klugscheißen, dann wenigstens richtig, mein Lieber. :biggrin:
Ein Fußball muss nicht aus 5- und 6-Ecken bestehen. Schau dir mal unseren Tiemgeist an. ;) Außerdem geht es hier gar nicht um Fußbälle und deine Aussage hat mich nicht widerlegt, sondern bestätigt.
Was du über die Kugel schreibst ist ziemlicher Unsinn. Es geht hier um 3D-Grafik.
Wenn schon Klugscheißen, dann wenigstens richtig....der Ball heißt "Teamgeist"
Jules
2006-06-18, 23:42:16
ein ball besteht aus 32-64 segmenten (also einfach nur etwas rundmodelliert)
der rest ist texturiert!
versteh gar nicht warum manche auf normal map kommen
konnte das die PS1 oder PS2??? nö
soviele polygone sinds auch ned.
schonmal was von smoothen gehört?
Mastermind
2006-06-19, 00:01:29
Gast[/POST]']Wenn schon Klugscheißen, dann wenigstens richtig....der Ball heißt "Teamgeist"
Ein offensichtlicher Vertipper ist aber was anderes, als wenn man einfach nur Unsinn schreibt. :biggrin:
Mir ist halt die Hitze etwas zu Kopf gestiegen. :rolleyes:
Spasstiger
2006-06-19, 00:10:40
Bei Fifa WM 2006 ist der Ball auf jeden Fall ein dreidimensionales Polygon-Modell:
http://img72.imageshack.us/img72/9457/fifawm20062vj.th.png (http://img72.imageshack.us/my.php?image=fifawm20062vj.png)
Jules
2006-06-19, 00:22:01
es ist mind. schon seit fifa ´98 der fall.
gabs da etwa normal maps.
und das mit dem drehverfahren versteh ich dann auch ned ganz......wieso waren die bälle dann ECKIG???
also humbug, bälle waren schon immer 3d modelle!!!
tokugawa
2006-06-19, 01:46:12
Mich interessiert FIFA (bzw. Fußball generell) nicht, was ich zum Ausdruck bringen wollt, ist dass es mehrere Lösungen für ein Problem gibt.
Und wenn wer meint dass ein Polygonmodell nicht ausreicht für einen Ball (egal in welchem Spiel), kann man eben Impostor verwenden. Beleuchtung lässt sich dann auch lösen.
Ob das jetzt in dem einen oder anderen Spiel so oder so gelöst ist, ist mir ehrlich gesagt schnurz :)
Mastermind[/POST]']Moinsen an alle Experten hier. :)
Soweit ich informiert bin, werden bei der Darstellung von 3D-Grafik praktisch immer Polygonmodelle benutzt. Selbiges sind meistens Dreiecke. AFAIK sind auch Polygone mit mehr Ecken möglich, aber werden nur selten benutzt. Wobei ich bei dem Punkt nicht sicher bin. Jedenfalls hab ich schon öfters Quadrate gesehen, die aus zwei Dreiecken zusammengesetzt waren.
Nun frage ich mich, warum das so gemacht wird? Denn wenn man ein realitätsnahes Modell eines Menschen machen will, dann muss man irrsinnige Mengen dieser Polygone kreieren! Warum wird also eine Figur nicht aus echten dreidimensionalen Figuren zusammengesetzt??? :| Das wäre doch 1000 mal besser! Die Grafik wäre absolut exakt, da ein Rad auch dann rund wäre, wenn man auf mikroskopischer Ebene ranzoomt. Komplizierte Strukturen können durch beliebig wertige Funktionen beliebig approximiert werden. So kann man auch völlig problemlos sehr flexibel den Detailreichtum variieren. :)
auch auf die gefahr hin, etwas zu wiederholen...
atens: es werden _immer_ dreiecke benutzt, ganz einfach weil diese _immer_ plan sind! wenn du vier punkte im raum hast, ist es nicht mehr garantiert, dass diese auch eine flache ebene bilden, bei drei punkten geht das eben nicht.
btens: die Rechenleistung sollte in der tat mitlerweile ausreichend sein, um diese auch dazu benutzen zu koennen, wirklich realistische radiosity-maessige grafik mit csg auf den screen zu zaubern... und bei stetig steigender komplexitaet von spielwelt und charactere/gesichtern gilt das gleiche auch fuer nurbs-objekte
ABER: Wer soll das konstruieren????
Analogon: Chips rechnen heutzutage weitestgehend digital. Obwohl analoge Rechenweise oftmals exakter und gleichzeitig schneller sein koennte. Ein Integral zu berechnen ist beispielsweise fuer einen digitalen Prozessor richtig aufwand. Bei einem analogen Chip faellt dies bei einem Operationsverstaerker als Abfallprodukt ab !! Aber wieder: wer soll das konstruieren???
(Gabs an meinem Fachbereich mal ein Projekt, schaltungen so zu zerpfluecken, dass man sich gemischte analog/digitale pfade zurechtbauen kann - automatisch. aber k.a. was daraus geworden ist... )
Wer mal nur camerapfade im gtkradiant konstruiert hat wird schon mitbekommen haben, wie schwierig es sein kann, solche Dinge wirklich unter Kontrolle zu bekommen und auch zu halten! Dazu kommt noch, dass dreiecke eben sehr gut verstanden sind. Man kann es einem dreijaehrigen erklaeren und der faengt dann an extrude-koerper zu formen... naja, fast, aber sollte klar geworden sein.
Die Werkzeuge fuer Nurbs sind einfach nicht so eingaengig wie fuer CSG oder eben Polygone, die auch beide leichter verstaendlich sind. Und wenn man es dann erst mal in der poly-form hat, wieso dann umkonvertieren, wenn nichtmal das konvertierungsergebnis den gesteigerten Anforderungen entspricht, weil das tool eben ebenfalls noch nicht soo ausgereift ist.
Eine Art Henne-Ei-Problem. Es gibt kaum tools dafuer, weil es praktisch nicht nachgefragt wird und es wird nicht nachgefragt, weil die tools dafuer nicht ausreichend sind...
In kleinen Teilen wird es jedoch Teilweise trotzdem gemacht, also nurbs fuer objekte einzusetzen. Q3 hat Saeulen teilweise erst zum startzeitpunkt generiert, und bei hoeheren Detaileinstellungen dann mehr Dreiecke aus dem Modell gemacht... Ausser bei einigen tech-demos wars das dann aber auch schon...
tokugawa
2006-06-19, 13:24:00
Da der Originalposter allgemein von "3D-Grafik" und nicht nur von "3D-Echtzeitgrafik" redet, muß man ja immer noch erwähnen dass in der allgemeinen "3D-Grafik" mehr als nur Polygone und Dreiecke verwendet werden, sondern etwa auch analytische Beschreibungen von Objekten.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.