bin ja nicht mit leeren händen zurückgekehrt

  • hab mich intentiv mit subdiv modeling und normalmapping auseinandergesetzt, dabei is was rausgekommen






    hm ja, das wars erstma^^
    achja, ich war nochnie musiker, und 1992 war ich 6.. da haut was net mit meiner sig hin^^

    signatur_arrangemonk.jpg

    Amiga and PC Graphican since 1999

  • Ja wäh, da gruselts einen ja bei dem Auge.

    Gute Arbeit, aber wieviele zu Dreiecken tessellierte Polygone hat das erste Fiech denn nun? Tris = Triangles = Polygone mit drei Ecken, also stimmt da was mit der Anzeige nicht.

    MfG,
    Daniel

  • ca 5000tris

    polygone sind vielecke, in dem fall hauptsächlich 4-ecke, und 4 ecke macht man aus 2 3ecken
    und er zählt 4eckeoben als polys und 3 ecke unten

    Die Unterscheidung: Dreieck - Vieleck macht für mich keinen Sinn ;) in einer solchen Anzeige (Lieber Dreiecke und Vertizen). Ich weiß was Polygone sind, brauchst mir nicht noch zu erzählen. Ich wollte lediglich wissen wieviele Dreiecke das Modell hat wenn man aus allen Polygonen Dreiecke macht (Tesselation).

    5000 Dreiecke sind arg viel, das rendert dir so gut wie keine Engine gern. Ein CounterStrike 1.6 Modell hat etwa 300 Dreiecke. Mit einer Normalmap und einer Parallaxmap sieht das dann aber schon so aus wie ein ETQW-Modell.

    MfG,
    Daniel

  • Das Sieht ja mal echt gut aus....Welches Programm nutzt Du. Und ich würde es gerne in meinen Demos nutzen in Zukunft. Format ist mir fast egal obwohl je kleiner desto besser. Das MS X-File ist zwar ok aber kann man nicht alles mit machen.

    signatur_ciclope.jpg

  • wtf 300, das is ultralow 0_O euch is klar das der heutige standard für charaktermodelle bei 7000-15000 ist

    das is ein model das so in die engine kommt und nicht tesseliert wird, (tesselation is nur ne ver4fachung des polycounts was smoothing erzeugt) keine engine macht das heutzutage mehr

    edit: zbrush, photoshop, 3dsmax, mudbox, maja... alles da soziemlich alles hergenommen
    beim grünen viech siehts schlecht aus, das is für ein projekt, den rest kannste haben, aber die sculpts sind zuemlich highpoly (so 3mille ca)

    signatur_arrangemonk.jpg

    Amiga and PC Graphican since 1999

  • wtf 300, das is ultralow 0_O euch is klar das der heutige standard für charaktermodelle bei 7000-15000 ist

    Man unterscheidet immernoch zwischen High und Lowpoly und Lowpoly ist nunmal 300 bis maximal 1000. 300 + Normalmap sieht dann aus wie 7000-15000.

    Deine Grafikkarte rendert niemals in Echtzeit 30000 Polygone was in deinem Beispiel nur 2 bis vier Modellen entspricht. Eine Engine wird das auch nicht soweit runterbringen.

    das is ein model das so in die engine kommt und nicht tesseliert wird, (tesselation is nur ne ver4fachung des polycounts was smoothing erzeugt) keine engine macht das heutzutage mehr

    Quatsch, Tesselation ist keine Vereinfachung des Polycounts was smoothing erzeugt - Es ist die aufteilung von Polygonen in Dreiecken, mehr nicht.
    Viele Engines die ich kenne arbeiten ausschließlich mit Dreiecken, weil die Grafikkarte es sowieso wieder in Dreiecke tesselieren würde und das mehr renderingaufwand bedeutet.

    MfG,
    Daniel

  • arrangemonk, mal von allem ab. =) wir haben schon interesse an 3D Artwork das selbstgemacht ist, also wenn du etwas hast das "intern" ist ( darf auch nicht öffentlich gezeigt werden bis es released wurde ) dann sag mir mal bescheid ( ICQ Nr von dir per PM wäre dann nett )

    Gefordert wäre für den Wettbewerb : 3D Grafik. mit 4 Steps ( Drahtgitter Stufen ) in 1024*768 oder einer ähnlich hohen auflösung

    Lust aktiv mitzumachen, =) wäre super...

    signatur_ami-01.jpg

    Respect the Scene, Respect their Work !

  • 4 steps? kann ma mal schauen

    achja:
    http://www.rsart.co.uk/2007/08/27/yes-but-how-many-polygons/
    :P
    mir was von polys erzählen und ne 10er potzenz underschlagen^^

    Mal angenommen wir haben eine Grafikkarte mit derzeit geläufigen 600 MHz (Kerntaktfrequenz).

    Wenn wir dann pro Dreieck etwa 10 Maschinenzyklen brauchen kommen wir auf 0.00000167 Sekunden * 10 Zyklen = 0.0000167 Sekunden. 30000 Dreiecke hat unsere Szene desshalb sind es dann 0.5 Sekunden die wir zum rendern dieser benötigen und da wir noch tonnenweise Shader verarbeiten brauchen wir noch etwas länger. Vermutlich bauen die Engines dann ein Lowpolymodell daraus und fügen eine neue Normalmap hinzu, was aber gröbster Schwachsinn ist, da kann es doch gleich der Modeller machen.

    Achja: Das ist nur eine untertriebene Rechnung, denn es kommt noch das auslesen aus dem Video-RAM, das übertragen auf die Grafikkarte und noch einiges anderes hinzu.

    MfG,
    Daniel

  • Mal angenommen wir haben eine Grafikkarte mit derzeit geläufigen 600 MHz (Kerntaktfrequenz).

    Wenn wir dann pro Dreieck etwa 10 Maschinenzyklen brauchen kommen wir auf 0.00000167 Sekunden * 10 Zyklen = 0.0000167 Sekunden. 30000 Dreiecke hat unsere Szene desshalb sind es dann 0.5 Sekunden die wir zum rendern dieser benötigen und da wir noch tonnenweise Shader verarbeiten brauchen wir noch etwas länger. Vermutlich bauen die Engines dann ein Lowpolymodell daraus und fügen eine neue Normalmap hinzu, was aber gröbster Schwachsinn ist, da kann es doch gleich der Modeller machen.

    Achja: Das ist nur eine untertriebene Rechnung, denn es kommt noch das auslesen aus dem Video-RAM, das übertragen auf die Grafikkarte und noch einiges anderes hinzu.


    Die Rechnung stimmt nur nicht. 1/600.000.000Hz ist nämlich nicht 0.00000167=0.167*10^-5 sondern 0.167*10^-8. Sind ja nur 3 Zehnerpotenzen.

    10 Cycles/Tri wären 60MTris/s bei 600Mhz, also bei 30FPS immer noch 2 Mio. pro Frame.

    Mit reinem Flat-Shading bekommst du durch eine Radeon 4870 bei 725Mhz wenn du das selbe Dreieck in optimaler Tri-Order immer wieder renderst auch 725MTri/s durch (Das Tri-Setup limitiert auf 1 Tri/Cycle). Ist natürlich ein rein theroetisches Konstrukt, aber es läuft durch.

    Die Shader-ALUs könnten sogar noch mehr transformieren, denn das Ding hat 160 parallele Vec5-ALUs. Für MVP*Vertex braucht man 4 Takte pro Transformation in einer ALU (4 DOT4 oder 4 MAD, je nach Ordnung der Matrix). Das macht dann also summa sumarum 40 Tris/Takt, also theoretische 29 Mrd. Tris/s reine Transformationsleistung im Vertexshader.

    Da kommt natürlich dann aber auch noch der Pixelshader dazu und evtl. Geometry-Shader dazu.

    Crysis pusht auch schon mal 2,8Mio/Frame z.B:
    http://www.mental-asylum.de/files2/crysistris.jpg

  • Stimmt Mega ist ja 10^6 und ned 10^3.

    Jo, trotzdem wunderts mich warum keine game engine die ich kenne soviel schafft. Weder die von 3DGameStudio A5, noch Irrlicht, Ogre, Dreamotion oder Blitz oder meine Engines. Meistens hängts dann bei 150 FPS bei 50000 Dreiecken und das ist zu wenig.

    Mit OpenGL bekomm ich im leeren Zustand nichtmal richtig viel FPS. Mit einem Dreieck sinkts dann nochmal drastisch auf 500 und dann gehts noch weiter runter. Bei einer GeForce 6600GT kommt bei einem Dreieck so ca. 300FPS raus.

    MfG,
    Daniel

  • willkommen coda, =) hab schon ein wenig von dir gehört, =) und bin dann mal gespannt was so wird, viel fun bei uns - auch wenn das gerad hier ein kleines "battlethema" ist - =)

    signatur_ami-01.jpg

    Respect the Scene, Respect their Work !

  • Jo, trotzdem wunderts mich warum keine game engine die ich kenne soviel schafft. Weder die von 3DGameStudio A5, noch Irrlicht, Ogre, Dreamotion oder Blitz oder meine Engines. Meistens hängts dann bei 150 FPS bei 50000 Dreiecken und das ist zu wenig.


    Es kommt drauf an wie du renderst. Ogre verwendet Hardware-Vertexbuffer und sollte das durchaus schaffen.

    Mit OpenGL bekomm ich im leeren Zustand nichtmal richtig viel FPS. Mit einem Dreieck sinkts dann nochmal drastisch auf 500 und dann gehts noch weiter runter. Bei einer GeForce 6600GT kommt bei einem Dreieck so ca. 300FPS raus.


    Mit welcher Methode renderst du? glVertex? CVAs? VBOs?

    Falls ersteres ist mir das klar.

  • Es kommt drauf an wie du renderst. Ogre verwendet Hardware-Vertexbuffer und sollte das durchaus schaffen.


    Mit welcher Methode renderst du? glVertex? CVAs? VBOs?

    Falls ersteres ist mir das klar.

    VertexArray (Dynamisch veränderbare meshes wie Spieler oder so, weil ich Boneanimation auf CPU basis haben will) + VBO (Statische meshes)
    Aber selbst wenn ich nur 10035 Dreiecke als VBO reinlade, bekomm ich immernoch nur um die 250 - 300FPS bei einer GeForce 8600GT.

    MfG,
    Daniel

  • Fullscreen oder Windowed? Die Sache ist halt es gibt auch einen gewissen Present-Overhead, d.h. die GPU kommt egal was du renderst wohl nicht viel über 300FPS.

    D.h. man sollte es eher mit sehr vielen Dreiecken versuchen und vor allem den Vertex-Cache optimieren, d.h. indizierte Geometrie und vorher durch ATI Tootle oder sowas durchlassen.

    Du solltest übrigens auch für dynamische Vertexdaten VBOs verwenden, die musst du dann halt entsprechend anlegen, damit sie im AGP- und nicht im Videospeicher liegen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!