Bones erstellen?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
FosJonas
Beiträge: 121
Registriert: 12.11.2008 19:31

Bones erstellen?

Beitrag von FosJonas »

Guten tag,

Seit Purebasic 4.60 ist es ja ziemlich leicht eigene Meshes in Purebasic zu erstellen, nur habe ich keinerlei Möglichkeit gefunden diese zu Animieren (also Bones zu erstellen). Habe ich da etwas übersehen oder ist das schlicht nicht möglich?

Gibt es sonst eine Möglichkeit Bones hinzuzfügen (z.B. über Pointer direkt auf das Mesh zugreifen?) oder anders Vertexes zu Manipulieren?

Danke im vorraus für jede Hilfe.
Purebasic 5.10 | Kubuntu 12.04 (64 bit) | Opera 12.01 | Nvidia GT 9800
Xubuntu 12.04 (64 bit) | Intel HD Graphis (Onboard)
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Bones erstellen?

Beitrag von DarkDragon »

FosJonas hat geschrieben:Seit Purebasic 4.60 ist es ja ziemlich leicht eigene Meshes in Purebasic zu erstellen, nur habe ich keinerlei Möglichkeit gefunden diese zu Animieren (also Bones zu erstellen).
Du meinst sicher wegen den Mesh-Puffer-Manipulationsbefehlen, oder? Das war früher auch schon möglich, aber Bones kann man keine hinzufügen. Nur physikalische Joints gehen mittlerweile. Die kommen dem am nächsten, sind aber wohl nur für die Physik-Engine gedacht ist.

In Blender ist es relativ einfach ein Mesh für Ogre zu erstellen und zu animieren. Auch Milkshape3D geht, aber dort werden keine Vertex-Weights exportiert.
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.
Benutzeravatar
FosJonas
Beiträge: 121
Registriert: 12.11.2008 19:31

Re: Bones erstellen?

Beitrag von FosJonas »

Joints sind leider nicht das was ich suche, das Problem ist das ich die Meshes zur Laufzeit in Variationen erstelle und dementsprechend Blender dafür ungeeignet ist.
Ist es irgendwie möglich mittels Pointer auf die Daten des Meshes zuzugreifen und dort einfach zu verändern?
Purebasic 5.10 | Kubuntu 12.04 (64 bit) | Opera 12.01 | Nvidia GT 9800
Xubuntu 12.04 (64 bit) | Intel HD Graphis (Onboard)
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Bones erstellen?

Beitrag von DarkDragon »

FosJonas hat geschrieben:Joints sind leider nicht das was ich suche, das Problem ist das ich die Meshes zur Laufzeit in Variationen erstelle und dementsprechend Blender dafür ungeeignet ist.
Habe ich mir schon gedacht.
FosJonas hat geschrieben:Ist es irgendwie möglich mittels Pointer auf die Daten des Meshes zuzugreifen und dort einfach zu verändern?
Nein, via PureBasic nicht. Über Shader kannst du die Vertexpositionen verändern (Vertex Shader), oder sogar neue Vertizen/Polygone hinzufügen (Geometry Shader).
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.
Benutzeravatar
FosJonas
Beiträge: 121
Registriert: 12.11.2008 19:31

Re: Bones erstellen?

Beitrag von FosJonas »

Habe mir jetzt deinen Thread zu den Shadern angeschaut, das sieht mir irgendwie etwas kompliziert aus, ich blicke da nicht so recht durch.
Ich glaube da lasse ich das ganze lieber und hoffe das in zukünftigen PB-Versionen eine solche funktion hinzugefügt wird.

Aber danke für deine Hilfe.
Purebasic 5.10 | Kubuntu 12.04 (64 bit) | Opera 12.01 | Nvidia GT 9800
Xubuntu 12.04 (64 bit) | Intel HD Graphis (Onboard)
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

Re: Bones erstellen?

Beitrag von The_Dark_Zim-.- »

@DarkDragon
Kann man mithilfe von "Mesh-Puffer-Manipulationsbefehlen" einzelne Vertexe in einen Mesh ändern?
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Bones erstellen?

Beitrag von DarkDragon »

The_Dark_Zim-.- hat geschrieben:@DarkDragon
Kann man mithilfe von "Mesh-Puffer-Manipulationsbefehlen" einzelne Vertexe in einen Mesh ändern?
Indem man das Mesh neu erstellt, ja. Intern würde die Engine sowieso jedes modifizierte Submesh neu auf die GPU laden. Es macht also keinen Unterschied ob man es neu erstellt oder nur einzelne Vertizen modifiziert.
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.
Antworten