ubuntuusers.de

SDL Modeling Blender opengl

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

Darkstar999

Avatar von Darkstar999

Anmeldungsdatum:
21. September 2008

Beiträge: 324

Hallo Leute ich habe da noch einmal eine Frage habe ich die Möglichkeit Blender mehr CPU (GPU) Leistung zu verpassen. Habe einen I7 Prozessor 4 echte Kerne eine Nvidia Quadro FX 880M Cad Grafikkarte und 16GB Arbeitsspeicher .Was ich feststelle beim Exportieren von .obj Modellen wird ein Kern Komplett ausgelastet und die anderen dösen vor sich hin! Hat da jemand eventuell eine Lösung für.

mfg darkstar999

TraumFlug

Avatar von TraumFlug

Anmeldungsdatum:
16. Juli 2009

Beiträge: 999

Wohnort: zwischen den ohren

Ich glaube nicht, dass die Import-Export Skripte parallelisiert sind und wirklich parallelisierbar wären. Deswegen nur ein Kern aktiv. Dauert das Exportieren denn zu lange bei dir? Ich habe grade einmal zum Testen Suzanne trianguliert mit angewendetem SubSurf Level 4 als Wavefront exportiert (Ich glaube über 12000 Faces oder so, kam ein 8mb File bei raus...), und das hat keine 2 Sekunden gedauert.

Vielleicht machst du Animation mit detaillierten Objekten - dann entsteht ein komplettes .obj pro Frame, für sowas sind dann eigentlich andere Formate gedacht, die die Armaturen und ihre Positionen speichern, und nicht das komplette Modell für jedes Einzelbild. Was will man auch mit kompletten 3d-Daten von jeder möglichen Zwischenpositionen, das ist Animationstechnik aus der Steinzeit.

Bei'm eigentlichen Rendern sollte deine Monstermaschine ganz gut abgehen...

Darkstar999

(Themenstarter)
Avatar von Darkstar999

Anmeldungsdatum:
21. September 2008

Beiträge: 324

Ja beim Rendern hat mein Thinkpad auch keine Probleme ne ich exportiere Komplexere Modelle und keine Animationen Momentan ein Modell mit 42794 Zeilen .obj bin da aber noch ziemlicher Anfänger wenn ich dann noch Subdevision Surface höher als 3 Aufdrehe ist schon recht übel! Sind teilweise sehr detailreiche Zombiemodelle und ein .objloader ist ziemlich simpel darum auch das obj Format.Wie gesagt was Objektloader angeht bin ich blutiger Anfänger aber das war halt das beste Tutorial ,da da wirklich alles Schritt für Schritt erklärt wird und das ganze auch nicht zu Kompliziert aufgebaut ist (das Format).

mfg darkstar999

Edit: 401,9 mb .obj plus Texturen etc! Zumal der Affe ja ziemlich grob ist!

TraumFlug

Avatar von TraumFlug

Anmeldungsdatum:
16. Juli 2009

Beiträge: 999

Wohnort: zwischen den ohren

Ja, die Äffin ist recht grob (erzähl das nicht ihrem Mann, Tombo dem Gorilla, der haut...), drum habe ich ja subsurf level 4 angewendet, um wenigstens ein bisschen Volumen zu erzeugen (120000 nicht 12000 faces wie oben vertippt. und das ist schon recht viel für ein einzelnes Objekt, aus spiele/opengl sicht.). Ich weiss zwar nicht, was du genau machen willst, aber irgendwie machst du wohl deine Modelle zu detailiert, ein 400mb wavefront, das ist übel 😈

...sdl + opengl da tippe ich mal auf Spiel/Demo im weiteren Planverlauf. Der .obj exporter ist sicher auch nicht grade optimiert, python skript, nicht parallel, wandelt alles in ascii Text um, ...ist aber ein gutes Format (einfach zu parsen, fertige Parser im Netz) um mit einfachen mitteln schonmal eine kleine 3d Engine hochzuziehen, und mit statischen Daten zu bestücken.

Zum Thema subsurf: schalt' das besser für deine Experimente ab (und schon garnicht level 3 oder so), auch wenn's noch so gut aussieht. Bei level 1 werden aus einem Quad 4, bei lvl 2 16, lvl 3 64...kannst dir vorstellen, wie die Datendichte hochgeht, vor allem bei detailierten Modellen. Selbst moderne Spiele nutzen im Vergleich zu "Filmanimation" eher grobe Modelle, und wenn die Kanten abgerundet werden sollen, z.B. weil ein Modell in Nahaufnahme zu sehen ist, wird der Algorithmus (im Zweifel per tesselation-shader direkt auf der Graka) im Spiel angewandt, nicht vorberechnet. Ein Modell, was alleine von den Grunddaten 100mb ohne Texturen zieht - du kannst dir vorstellen, wie schnell eine dvd voll ist, wenn das Spiel viele Figuren hat. Ausserdem ziehen die schieren Daten Ressourcen, ram, video-ram, speicherbusbewegung zwischen ram-graka, renderzeit. Diese hohen Subsurf level sind für sculpting gut, "aufblasen" von ganz groben Modellen, oder wenn die Renderzeit egal ist...Du siehst ja auch schon daran, wenn blender bei vielen/komplexen Daten bisschen ruckelt, dass es zu viel ist... 😉

Ansonsten, wenn deine Modelle selbst ohne subsurf zu detailiert sind...subsurf hat einen Erzfeind, den "decimator"...Texturen kann man extern 'runterskalieren, wenn die zu gross sind (geht vielleicht auch von Blender aus, kenne mich aber nicht genug aus jetzt direkt sagen zu können wie). Wie viele Faces/Vertices, Texturen und so haben denn deine Zombies "normal"? Selbst modelliert, oder 'runtergeladen?

Darkstar999

(Themenstarter)
Avatar von Darkstar999

Anmeldungsdatum:
21. September 2008

Beiträge: 324

TraumFlug schrieb:

Ansonsten, wenn deine Modelle selbst ohne subsurf zu detailiert sind...subsurf hat einen Erzfeind, den "decimator"...Texturen kann man extern 'runterskalieren, wenn die zu gross sind (geht vielleicht auch von Blender aus, kenne mich aber nicht genug aus jetzt direkt sagen zu können wie). Wie viele Faces/Vertices, Texturen und so haben denn deine Zombies "normal"? Selbst modelliert, oder 'runtergeladen?

Hi Traum ja alles klar dann weiß ich was da gerade schief läuft!^^ aber ok dann werde ich mich damit auseinander setzen, wie ich die Graka so was selber machen lasse ( tesselation-shader direkt auf der Graka ausführen kann ).Danke für die Detailreichen Ausführungen und Hintergrundinfos!

mfg darkstar999

Edit: Habs gelöst das Prinzip ist ja eigentlich einfach auch wenn das so noch nicht ganz ideal ist. Das wo Blender ewig für braucht vom Objloader mit machen lassen(die Normalen aufspliten und dadurch rundere Kanten erzeugen!) das geht besser und das Spiel braucht nicht mehr so lange zum laden der Texturen(bis was aufm Bildschirm erscheint!).Manschmal bin ich einfach zu schnell für das Tutorial, aber durch selber rumspielen und ausprobieren lernt man ne Menge.

Antworten |