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

1

10.08.2011, 16:45

Ray Intersect in Directx 11

Ich wollte mal fragen, ob jemand weiß, wie man in Directx 11 Ray Intersects mit 3d-Objekten macht. Bei vorherigen Directx Versionen gab es D3DXIntersect als Funktion, allerdings braucht diese ein Meshobjekt als Parameter und soweit ich das herausgefunden habe, gibt es dies in Directx 11 nicht mehr. Deswegen wollte ich fragen, ob es eine ähnliche Funktion gibt, oder ob es eine Möglichkeit gibt, beispielsweise ein Directx 10 Mesh (ID3DX10Mesh) zu benutzen.
Schonmal vielen Dank im voraus für eure Hilfe.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

10.08.2011, 18:21

Gibts afaik alles nichtmehr, selber machen ist angesagt ;)

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

3

11.08.2011, 11:36

Warum eigentlich? Die Funktionen waren doch alle nützlich, warum wirft man alles raus?

Gibts afaik alles nichtmehr, selber machen ist angesagt ;)

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

4

11.08.2011, 11:44

Verstehe ich auch nicht. Dass die Effekte ersetzt wurden finde ich nicht schlecht. Wenn man mit Shadern arbeitet wird das übersichtlicher und man muss sich nicht mehr mit Texture-States rumärgern. Aber dass man z.B. nicht mal mehr x-Meshes laden kann und die komplette Beleuchtung selbst berechnen muss, finde ich nicht toll.

5

11.08.2011, 13:56

Ehrlich gesagt finde ich es besser, dass D3DX schlanker geworden ist.
Somit wird afaik es nur noch für Shader-Kompilierung und Texturen-Laden benutzt.
Diese ganzen extra Dinge hat sowieso nur ein Bruchteil der D3DX-Nutzer benötigt.
Die ganzen Mathe-Funktionen gibt es ja jetzt in der XNAMath Library, die etwas schneller als die alten D3DX-Mathefunktionen sein soll.

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

6

11.08.2011, 14:16

Scheint wohl ein Trend zu sein. Bei OpenGL 4 sind ja auch die Matrixoperationen rausgeflogen und solche Dinge.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

11.08.2011, 15:38

Nur für die 4K-Demo-Coder ist das nicht so toll, weil sie jetzt die ganzen Funktionen nicht mehr aus der D3DX-DLL aufrufen können, sondern sie selbst schreiben müssen ;)

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

8

11.08.2011, 15:47

Ok, das ist in der Tat ein Problem. ;) Aber ich fürchte das sowas die Entwickler von den APIs nicht interessiert hat. Andererseits, wenn man eh schon DirectX referenziert, warum dann nicht eine weitere Bibliothek nehmen, die die Arbeit übernimmt? Oder verstößt sowas gegen Wettbewerbsregeln? ^^

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

11.08.2011, 17:52

Warum eigentlich? Die Funktionen waren doch alle nützlich, warum wirft man alles raus?

Dieser ganze Kram wie die Meshes war einfach schon lange nichtmehr zeitgemäß und wurde sowieso nie ernsthaft von irgendwem verwendet.

Verstehe ich auch nicht. Dass die Effekte ersetzt wurden finde ich nicht schlecht. Wenn man mit Shadern arbeitet wird das übersichtlicher und man muss sich nicht mehr mit Texture-States rumärgern. Aber dass man z.B. nicht mal mehr x-Meshes laden kann und die komplette Beleuchtung selbst berechnen muss, finde ich nicht toll.

Das Effekt-Framework ist jetzt eine eigene Bibliothek. Man hat immer schon ohne Effekte mit Shadern arbeiten können, das D3DX Zeug hat intern nie was andres gemacht als selbst Direct3D zu benutzen (D3DX war und ist eine Utility-Library, Direct3D war immer und ist völlig unabhängig von D3DX).

Ehrlich gesagt finde ich es besser, dass D3DX schlanker geworden ist.
Somit wird afaik es nur noch für Shader-Kompilierung und Texturen-Laden benutzt.

Zum Arbeiten mit Shadern gibts nun die D3DCompiler.dll, D3DX liefert da nur ein paar Komfortfunktionen.

Scheint wohl ein Trend zu sein. Bei OpenGL 4 sind ja auch die Matrixoperationen rausgeflogen und solche Dinge.

Matrixoperationen waren nie Teil von D3D ;)

10

11.08.2011, 20:15

Zum Arbeiten mit Shadern gibts nun die D3DCompiler.dll, D3DX liefert da nur ein paar Komfortfunktionen.

Wieso heißen die Funktionen dann D3DXCompile...?
Find ich ja schon seltsam. ^^

Werbeanzeige