Deswegen mag ich das Saarland

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Ich meine in so schnell wird es dann doch nicht gehen.
Der Prof da hat viele der Szenen mit nen haufen Prozessoren berechnen lassen. Außerdem ist Raytracing zwar bei vielen Polygonen sehr effektiv aber sobald Spiegelungen dazukommen steigt der Rechenaufwand linear an. Dazu noch weiche Schatten die auch noch ne ganze Ecke an Leistung ziehen.
Außerdem braucht man auch Speicher für die vielen Polygone. Ein entsprechender Baum mit den vielen Blätern in Raytracing sieht vom weiten nicht realistischer aus wie ein heutiger konventioneller in Rastergrafik der dann statt dessen mit Shadern beklebt wurde.

Erste Grafikhardware in der Richtung soll es von Intel zwar schon im nächsten Jahr geben aber so schnell wird imho Rastergrafik nicht abgelöst werden. Aber man weiß ja nie...
I´a dllfreak2001
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

also, ich rede eigentlich nicht von Polygonen, das ist ja grad die abgespeckte grafik.
anständiges raytracing kann eben jeden körper berechnen,
dessen oberfläche durch ein n-dimensionales polynom ausdrückbar ist.
da ist ne kugel oder ein torus noch die einfachere problematik.

aber die entwicklung geht halt ständig weiter.
vor 20 jahren konnte man nur auf der Cray anständige grafik berechnen,
heute hat jeder von uns so viel leistung zuhause stehen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Ja, nur ist die Leistung die zu Hause steht eben nicht auf Raytracing ausgelegt.
Komplexe Objekte sind nur näherungsweise über Funktionen ausdrückbar,
alles wirst du mit sinnvollem Aufand so nicht darstellen können.
Da brauchst du Hardware und Software die eben noch nen Weilchen entwickelt werden muss.

Ich glaube einfach wenn Raytracing-HW soweit entwickelt wurde das sie mit der Darstellungsgeschwindigkeit heutiger Hardware daherkommt
ist die Rastergrafik schon ne ganze Ecke weiter.
Auch werden wir eben immer mehr hybride beider Welten sehen, da Grafikchips immer mehr frei programmierbar sind.

Ist ja nur ne Prognose von einem Unwissenden :wink:
I´a dllfreak2001
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ne, passt scho, hast ja nich unrecht.
ich wart halt auf anständige raytracing-hardware....

wenn du mal echt geile bilder mit CSG gemacht hast, dann weisste das zu schätzen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kaeru Gaman hat geschrieben:also, ich rede eigentlich nicht von Polygonen, das ist ja grad die abgespeckte grafik.
anständiges raytracing kann eben jeden körper berechnen,
dessen oberfläche durch ein n-dimensionales polynom ausdrückbar ist.
da ist ne kugel oder ein torus noch die einfachere problematik.

aber die entwicklung geht halt ständig weiter.
vor 20 jahren konnte man nur auf der Cray anständige grafik berechnen,
heute hat jeder von uns so viel leistung zuhause stehen.
Du kannst ja auch beide Welten vermischen durch z.B. Fast Fourier Transform oder Marching Cubes (Verwendet für z.B. Meta Objekte/Blobs oder wie auch immer du sie nennen magst). Die Auflösung kannst du selbst bestimmen und wenn die Auflösung hoch genug ist, dass jeder Pixel auf dem Bildschirm ein eigenes Polygon aufweisen kann, dann hat es dieselbe Qualität wie Raytracing. Doch das ganze ist dann eigentlich noch viel langsamer als direktes Raytracing.

[EDIT]

Achja und CSG geht auch mit Körpern, die aus Polygonen bestehen. Hat also nicht hauptsächlich mit Raytracing zu tun. In einigen 3D Welt-Bearbeitungs-Programm für Spiele (Polygonbasiert) findest du CSG Befehle.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

is ja scho richtig, Didi.
klar kann man halbwegs-CSG auch mit tori und spheres machen, die meshes sind....
aber wirklich fett wird das nur, wenn jeder punkt ne funktion is und kein triangle....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

In 6 Jahren kann man am Rechner zu Hause nicht mehr unterscheiden, ob es ein Foto ist oder eine Computergrafik.
Bzw. ein Realfilm oder eine Computeranimation.

Zwischen Unreal, Unreal 2 und Unreal Engine 3 liegen jeweils immer ca. 3-4 Jahre bis sie auf dem Markt sind und die Patches bereit sind.
http://de.wikipedia.org/wiki/Unreal_Engine

Wobei ich dem Wiki-Artikel nicht traue.

Aber sagen wir, dass eine Engine-Entwicklung ca. 3.5 Jahre dauert.
Dann wäre 2011 vielleicht schon die nächste Engine fällig. Die wird dann sicherlich auch wieder die Rechner fordern und noch nicht ganz realistisch aussehen. Aber die Engine danach hat dann alles.

2014 gibt es für das menschliche Auge also keinen Unterschied mehr zur Realität. Die Rechner müssen natürlich auch angepasst werden.
Mein Rechner hat geschrieben: Ich tippe auf 256 Bitter, 4 Prozessoren mit je 32 Kernen
Geschwindigkeit bei ca. 5 GHz Taktrate
128 GB RAM, 10 TB Festplatte als Standard
Lest mal hier:
http://news.softpedia.com/news/8-core-I ... 5639.shtml
(Da tut sich sicherlich noch einiges zwischen Intel und AMD und da es auch nur gut ein-zwei Jahre gedauert hat zwischen 2 und 4 Kernen ... und wieder nur ein-zwei Jahre zwischen 4 und 8 Kernen bei Apple ... )

Ob man bei 256 Bittern ist oder dann endlich die 64-Bit Architektur für den Heimanwender ausgebaut hat, dass kann ich nicht sagen. Hängt auch immer davon ab, ob man eine Spielekonsole betrachtet oder einen PC.
Ist ja immer eine Frage der Kompatibilität.
Was der Kasten kostet ... tja, ich schätze der wird 2014 auch seine 6.000 Euro kosten.

Wenn man sich einen Mac Pro mit den teuersten und schnellsten Sachen heute zusammen stellt, kommt man ohne Software auf ca. 16.000,- Euro.

Dann hat man 2 Prozessoren mit je 8 Kernen, zu je 3,2 GHz
64 Bit natürlich. 32 GB RAM und Festplatten bis 4 TB
http://store.apple.com/1-800-MY-APPLE/W ... ly/mac_pro

Dazu kommen dann die QuadroFX-Grafikkarten von nVIDEA, wo man sicherlich mit SLI auch mehr als nur eine rein machen kann.

Und die Komponenten kann man sicherlich noch übertakten.

>>>>>>>>
Dass heißt, man kauft sich ein Home-Entertainment-System ...
für ca. 36.000,- Euro, statt eines Kleinwagens. Sollte also 2020 in jedem Haushalt verfügbar sein.

Dieses Home-Entertainment-System besteht aus
- Eigener bewegter Untergrund, Fußboden für "Holodeck"
http://de.youtube.com/watch?v=BQw1tsgrJ ... re=related
- Hochauflösende OLED-Displays / oder Beamer
http://gizmodo.com/gadgets/home-enterta ... 156777.php
- Und ein Rechenzenturm
Der Fußboden kostet ca. 4.000 Euro, wenn er erst einmal in Serie produziert wird
Die OLED-Fernsehtapete, für alle 4 Wände + Decke und Fußboden, kostet auch noch mal 20.000,- Euro und der Rechner dann 10.000,- Euro ...

OLED-Tapete
http://www.youtube.com/watch?v=E5d1FnNDgdc
Multi-Touch-Tapete
http://de.youtube.com/watch?v=-qmmdGonQ ... re=related

Weihnachten 2008 werden 17" OLED-Displays ~ 400,- Euro kosten.
Weihnachten 2009 werden 40" OLED-Displays ~ 500,- Euro kosten.
Weihnachten 2010 werden 60" OLED-Displays ~ 800,- Euro kosten.
Weihnachten 2011 werden 80" OLED-Displays ~ 1.200,- Euro kosten.
Weihnachten 2012 werden 110" OLED-Displays ~ 1.500,- Euro kosten.

6 komplette Wohnzimmerwände von je ca. 4 x 3 Meter ~ 200"
Sollten 2014 für 20.000,- Euro zu haben sein.

Wenn man die OLEDs erstmal drucken kann, und quasi jeder Gegenstand zu einem Fernseher wird. Und OLED-Displays günstiger sind als echte Tapete von AS oder günstiger als Sparlampen oder als Wandfarbe ...

Weil die Teile einfach zu so hocher Stückzahl produziert werden ...

dann wird so ein Home-Entertainment-System 2020 schon für 2.000,- Euro insgesamt erschwinglich sein.

DolbySurround Sound 7.1 oder mehr ... haben die Rechner jetzt ja schon onBoard. Ordentliche HiFi-Lautsprecher werden sicherlich auch noch 2020 etwas kosten. Aber sicherlich nur einen geringen Teil des Gesamtwertes ausmachen. Nehmen wir an, dass 20 Lautsprecher in unserem System verbaut sind. Die Soundkarten die entsprechenden Ausgänge dafür haben.
Und im Rechner Preis drin liegen

Benötigen wir nur noch Lautsprecher. Da kosten günstige Lautsprecher heute ca. 5,- Euro das Paar. Die klingen auch nicht schlechter als ein iPOD :mrgreen: Brauchen wir 10 Stück davon. Sind wir bei 50,- Euro.
Also selbst, wenn wir Lautsprecher für 2.000,- Euro kaufen sollten, müsste es für den Heimanwender bei einem Preis von einem Automobil ausreichend sein an Qualität.

Durch die Massenproduktion muss die Qualität nicht schlechter werden, aber der Preis kann sehr stark sinken. PlayStation 3 hat ja auch eine enorme Leistung ...

Und wenn wir dem Artikel glauben dürfen und die Erfindung mit 90 MHz 10 x so schnell wie damalige Grafikkarten war ...
wie schnell ist dann eine Raytracing-Hardware, die in 6 Jahren mit 9 GHz läuft?
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Echtes SLI ist meines Wissens aufm Mac nicht möglich...
Mehrer Grafikkarten bedienen dort eigentlich nur mehrere Monitore.
Mit Crosfire ist es die gleiche Geschichte.

20.1 Surround ergibt selbst 2020 noch keinen Sinn. Nach über 15Jahren sind wir erst beim weit verbreiteten 5.1 angekommen. Alles darüber hinaus ergibt für den Laien keine spürbare Verbesserung des Raumklangs.
Außer man geht noch in die 3. Dimension und baut über dem Hörplatz Lautsprecher auf.

Und mal ehrlich, Zukunftsvisionen sind ein Triebmotor der technologischen Entwicklung. Doch unsere Erfahrung hat uns gelehrt, dass es dann doch etwas konventioneller vor sich geht als man gedacht hätte. Schließlich haben die Leute vor 18 Jahren noch gedacht, dass wir heute mit fliegenden Autos rumfliegen würden oder das wir VR mit direkter Verbindung zu unserem Gehirn realisieren.
Nix da, unsere Autos verbrennen immer noch Benzin und nen Computer hat immer noch ne Tastatur.

Raytracing hat definitiv Zukunft, kann aber mit aktueller Hardware nix gut machen. Obwohl aktuelle Mittelklasse Grafikkarten abartige Rechenleistungen bringen. Interessant sei zu erwähnen das ATI die derzeit von der Rechenleistung stärkeren Karten hat. Denn selbst die HD3850 hat mehr arithm. Rechenleistung als ne g8800gt. Nur NV ist eben effektiver da mehr Füllrate (wegen den derzeit sehr Shader und Textur betonten Spielen ).
I´a dllfreak2001
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

@Surround-Sound
http://de.youtube.com/watch?v=SyDJAGtJj ... re=related
Zum Totschießen
http://de.youtube.com/watch?v=9819c7phz ... re=related

Da ja Steve mit dem Intel-Chef per Du ist, schätze ich wäre es kein Problem, einen Chipsatz zu entwickeln, der SLI oder CrossFire oder sogar beides ermöglicht. Die Frage ist auch, in wie weit SLI etwas brint ...

Man könnte ja hier die gleiche Methode anwenden wie bei den CPUs.
Also einfach mehrere Grafikkarten auf einer Platine verbauen und so zum Beispiel 4 ATI oder nVIDEA-Karten auf einem Board haben und das kann man dann über PCI-Express 16x ansteuern.

Ich denke aber, dass du nicht ganz richtig liegst, wenn du sagst, dass Raytracing-Karten genauso unrealistisch sind wie fliegende Autos.

Raytracing ist älter als texturbasierte 3D-Umgebungen wie in Wolfenstein oder Doom. Oder anderen DOS-Spielen.

TruForm von ATi aus dem Jahr 2001
Bild

Rundungen kannst du nur mit Mathematik beschreiben und nicht durch tausende dreiecke so tun als wäre es rund.

Im Automobil-Design gibt es eine Errungenschaft, die nennt sich:
Bézier-Kurven
http://de.wikipedia.org/wiki/B%C3%A9zierkurve
Splines
http://de.wikipedia.org/wiki/Spline

Was macht man, um Punkte darzustellen?
Man berechnet Intervalle, das macht der Prozessor und die Grafikkarte gibt dann die einzelnen Intervalle aus. Genauso bei einem Kreis.
Um ein rundes Objekt darzustellen, muss immer wieder der Prozessor alle einzelnen Punkte neu drehen, von dem Mesh, welches aus Dreiecken besteht.

Wenn man nur die Kurven bzw. Kugel oder Kreisgleichtung ändert, ist das nur ein geringer Auffand. Der Prozessor ist also nur einen kurzen Augenblick mit der Gleichung beschäftigt statt den vielen Intervallen, die die Funktion beschreibt.

Wenn man also eine Hardware hat, die immer wieder eine Funktion rendern kann, spielt es keine Rolle, wie oft man sie dreht, die Framrate wird immer gleich bleiben.

Und der Prozessor ist nicht wirklich ausgelastet.


Aus CodeArchive: Gaphics\Drawing\Curves\BezierCurves.pb

Code: Alles auswählen

; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=2515&highlight= 
; Author: Rob (updated for PB4.00 by blbltheworm) 
; Date: 09. October 2003 
; OS: Windows 
; Demo: Yes 
 
 
; Bezier-Kurven Funktion: 
; Im Beispiel: Mit der Maus die Punkte bewegen, mit der linken Maustaste den aktiven Punkt ändern.  
 
cw = RGB(255,255,255)  
cr = RGB(255,0,0)  
 
Procedure bezier(x1,y1,x2,y2,x3,y3,x4,y4,color)  
  oldx=x1  
  oldy=y1  
  cx.f=3*(x2-x1)  
  bx.f=3*(x3-x2)-cx  
  ax.f=x4-x1-cx-bx  
  cy.f=3*(y2-y1)  
  by.f=3*(y3-y2)-cy  
  ay.f=y4-y1-cy-by  
  While i.f < 1  
    i+0.05  
    x=((ax*i+bx)*i+cx)*i+x1  
    y=((ay*i+by)*i+cy)*i+y1  
    If i>0: LineXY(oldx,oldy,x,y,color) : EndIf  
    oldx=x  
    oldy=y  
  Wend  
EndProcedure  
 
InitSprite()  
InitKeyboard()  
InitMouse()  
 
OpenScreen(640,480,16,"Bezier")  
 
x1=0 : y1=0  
x2=640 : y2=0  
x3=0 : y3=480  
x4=640 : y4=480  
 
key = 1  
 
Repeat  
  ExamineKeyboard()  
  ExamineMouse()  
   
  ; Punkt wechseln  
  If MouseButton(1) And mousepush=0 ; Punkte rotieren: 1-4  
    key = (key % 4) + 1  
    If key=1 : MouseLocate(x1,y1) : EndIf  
    If key=2 : MouseLocate(x2,y2) : EndIf  
    If key=3 : MouseLocate(x3,y3) : EndIf  
    If key=4 : MouseLocate(x4,y4) : EndIf  
  EndIf  
  mousepush=MouseButton(1)  
 
  StartDrawing(ScreenOutput())  
  DrawingMode(4)  
  ; Punkte zeichnen  
  If key=1 : x1=MouseX() : y1=MouseY() : Circle(x1,y1,5,cr) : Else : Circle(x1,y1,5,cw) : EndIf  
  If key=2 : x2=MouseX() : y2=MouseY() : Circle(x2,y2,5,cr) : Else : Circle(x2,y2,5,cw) : EndIf  
  If key=3 : x3=MouseX() : y3=MouseY() : Circle(x3,y3,5,cr) : Else : Circle(x3,y3,5,cw) : EndIf  
  If key=4 : x4=MouseX() : y4=MouseY() : Circle(x4,y4,5,cr) : Else : Circle(x4,y4,5,cw) : EndIf  
   
  ; Bezierkurve zeichnen  
  bezier(x1,y1,x2,y2,x3,y3,x4,y4,cw)  
 
  StopDrawing()  
     
  FlipBuffers()  
  ClearScreen(RGB(0,0,0))  
Until KeyboardPushed(1) 
 
Und die Berechnung übernimmt die Raytacing-Karte und muss nicht mehr von der CPU erledigt werden. Die CPU braucht sich also nur noch um das Versetzen der 4 Punkte einer solchen Kurve kümmern.
Aber nicht mehr um deren Darstellung.

Physik-Karten werden sich sicherlich auch etablieren.
Die Frage ist nur, ob es nötig ist, dass man 3 Karten im System hat oder einfach eine Raytracing-3D-Render-Physik-Sound-Grafikkarte hat ...

@Surround-Sound.
Du hast nicht unrecht, wenn du sagst, dass es gedauert hat, bis sich der Surround-Sound durchgesetzt hat. Und selbst heute noch viele Spiele ohne Dolby Surrond Pro Logic oder etwas ähnlichem daher kommen.

Yamaha 5.1 - Commercial
http://de.youtube.com/watch?v=5FsOLCE_BiA

Der Nachteil ist doch, dass man nach vorn schauen muss.
Sobald man sich dreht, müssten sich die Lautsprecher mit drehen.
Oder man nimmt Kopfhörer, die immer mit den Ohren mit gehen :shock:

Alter Schalter, hier kann man mehr als nur einen Schallplattenspieler zusätzlich anschließen:
http://de.youtube.com/watch?v=ogZjTkZON ... re=related

Yamaha-Soundprojector mit 21 Lautsprechern :mrgreen:
http://de.youtube.com/watch?v=eR0CUjN1pvM
(die bekommt bestimmt einen Höhepunkt ... :D )

Davon vier Stück oder so im Raum aufgestellt ...
Die Frage ist doch auch, wenn zwei Personen ein Spiel spielen und man 7.1 Sound hat, beide aber an verschiedenen Stellen stehen und in verschiedene Richtungen schauen, ist dann der Ton immer noch für beide gleich realistisch?

Man könnte in den hinteren Lautsprechern so leise Ton ausgeben, dass man den nur hört, wenn sich der Spieler dreht ...

:roll:
Zuletzt geändert von Xaby am 15.03.2008 19:06, insgesamt 1-mal geändert.
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Kinder an die Macht http://scratch.mit.edu/
Antworten