Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

05.06.2004, 22:45

Wie sieht D3DXIntersect von innen aus?

Hallo,

Ist die Funktion genug optimiert sodass sowas hier und ähnliche Vor-Testerei wegfallen kann?

Quellcode

1
2
3
4
5
if (waffentextur in Boundingsphere von Mesh) 
// oder sowas schon in d3dxintersect drin?
{
         d3dxintersect;
}


Thx und mfg

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

06.06.2004, 22:36

Wie sieht D3DXIntersect von innen aus?

ziemlich kompliziert würd ich sagen.

aber das letzte was da drin vorkommt sind BoundingSpheres und texturen!?


Zitat von »"dx sdk doku"«



D3DXIntersect Function

--------------------------------------------------------------------------------


Determines if a ray intersects with a mesh.



was für mich bedeutet, dass die dir erzählt, ob ein strahl sich mit einem D3DXMesh objekt schneidet.

Anonymous

unregistriert

3

06.06.2004, 23:35

mmmmhh. also wär es klug bei beispielsweise sowas hier noch n boundingkugel-test dazwischen zu schalten?

ich dacht nur dass darin vielleicht irgendwas ist, was einiges von vorn herein auschließt.

Quellcode

1
2
3
4
5
6
7
8
9
10
int cPlayerWaffen::Pick2() 
// waffentextur-nachtest-funktion für bewegliche objekte
{
    for (int g=1;g<201;g++) // all objekte
    {
    if (Mesh[g].bGeladen) // is geladen
    {
            if (!Mesh[g].bStatic) // is fest
            {   
                            // matrix inverse und intersection-test

Anonymous

unregistriert

4

07.06.2004, 01:16

ach, da ichs grad sehe: wenn sich einer fragt warum ich alle paar meter einer waffentextur ne meshmatrix inversiere: kann nur bei festen objekten die inverse vorberechnen. oder hat einer vereinfachungsideen?
natürlich wär das einfachste, ich lass pick2() ganz weg und nehm die daten von pick1() aber das sieht man wenn man ballert und die figur geht schnell ausn weg und man trifft trotzdem, dass da was falsch ist.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

07.06.2004, 11:14

Kann es sein, dass Du was missverstanden hast?
Was ist Deiner Meinung nach eine Textur?

Anonymous

unregistriert

6

07.06.2004, 15:18

ne, ich mein ne fliegene waffentextur, wo das ende festgestellt werden muss und bei beweglichen halt alle flugweite (variable).

sollt ich vor dem inversieren noch n boundgspher test einfügen oder macht das inverse nix aus und d3dxintersect merkt gleich ob das in ner boundgspehre eines meshs ist. und wie kann ich das inverse da auch etwas wegsparen? bei festen objekten kanns ja vorberechnet werden, weil sich das das nicht bei jeder transformation ändert.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

07.06.2004, 15:21

Bitte gib Dir beim Schreiben ein bisschen mehr Mühe.
Eine Textur ist einfach nur ein Bild. Deshalb verstehe ich nicht, was Du mit einer "fliegenden Waffentextur" meinst, und was Texturen mit Schnitttests zu tun haben sollen...

Anonymous

unregistriert

8

07.06.2004, 16:58

Der Schnitttest brauche ich, um zu testen, wo das Ende ist (also wo irgendein Objekt steht). Die Textur fliegt bis zu diesen Punkt.
Aktuell ist es so, dass ich das für "feste" Objekte nur beim Abschießen einmal alles durchlauf (die Meshs) und die vorberechnete Inverse für den Intersection-Test nehme. Bei bewegenen Objekten test ich das, wenn die Zeit dafür reif ist (wenn eine bestimmte Zeitspanne um ist, in welcher sich die Textur weiter bewegt der Direction nach, die beim Abschießen gespeichert wurde). Aber jetzt muss ich wie im Code zu sehen ist, jedesmal die Inverse neu berechnen und jedesmal den Intersect-Test machen. Wie kann ich das vereinfachen? (Ausnahme natürlich, dass ich das ganz weglassen soll - Es gibt nunmal sehr schnelle Gegner und sehr langsame Waffen).

Anonymous

unregistriert

9

07.06.2004, 17:02

Soll auch heißen, dass das vielleicht (noch merk ich nichts aufgrund nur einiger bewegener Objekte) nicht ganz schnell ist, wenn ich beispielsweise 30 Figuren rumlaufen hab und 10 Spieler-Waffentexturen rumfliegen.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

07.06.2004, 17:46

um mal nen fachbegriff einzuführen, die dinger heißen sprites ich habs heute draf.........[/u]

Werbeanzeige