Seite 1 von 1

[DX 10] Textureproblem

Verfasst: 18.10.2009, 15:55
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 16:52
von Krishty
Du kannst keine Textur zwischen CPU und GPU teilen. Weil das unter D3D9 einer der häufigsten Bottlenecks war, wurde eingeführt, dass du zwei Texturen brauchst: Eine dynamische Textur auf der GPU und eine Staging-Textur. Du füllst die Staging-Textur (erzeugt mit D3D10_USAGE_STAGING und CPU-Access) mit der CPU und kopierst ihren Inhalt in die GPU-Textur, sobald es nötig ist. Auf die Art und Weise muss das Rendering niemals mit der CPU synchronisiert werden.

Gruß, Ky

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 17:04
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 17:05
von Krishty
Staging-Texturen können selbstverständlich auch nicht als Shader-Resourcen gebunden werden ;)

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 17:20
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 17:29
von Krishty
D3D10_BIND_SHADER_RESOURCE muss zu 0 umgeändert werden.

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 17:36
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 17:41
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 17:56
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 18:05
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 18:07
von Aramis
Ok ich nehme an wir haben nun erfolgreich eine Textur manuell angelegt aber wie bekommen
wir die nun in den Graphikkartenspeicher zur Verwendung als Resource.
Rumheulen bringt nichts .. aber Krishty hat die Frage bereits weiter oben beantwortet. Vielleicht hilft das schon eher, ich weiß es nicht.

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 18:13
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 18:25
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 18:34
von Krishty
Ich sage dazu ID3D10Device::CopyResource() oder ID3D10Device::CopySubresourceRegion().

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 18:43
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 21:02
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 21:06
von Krishty
D3D10_BIND_SHADER_RESOURCE. Falls das nicht hilft, in den Debug-Output schauen – der sagt normalerweise auch, warum eine Funktion fehlschlägt.

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 21:21
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 21:24
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 21:27
von Krishty
Du kannst auch den „Ändern“-Button benutzen, statt für jede Kleinigkeit Doppel- und Dreifach-Posts anzulegen.

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 21:40
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 21:57
von Krishty
Wenn du nur eine Bilddatei in den Speicher laden möchtest, die sich später nicht mehr ändert, geht das schneller und einfacher ohne Staging und mit den Initial-Data bei CreateTexture2D.

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 22:10
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 22:13
von Krishty
Ganz abgesehen vom Sinn und Unsinn, Abstraktion über den Haufen zu werfen – wenn du Initial-Data angibst ist das auch eine Frickelei mit Bytes, nur, dass die GPU Texturen, die bei ihrer Initialisierung gefüllt und dann nie wieder angetastet werden („immutable“), auch schneller managen kann.

Übrigens verarbeitet Direct3D deine Texturen auch wieder ganz anders, als du sie in eine gelockte Textur kopierst.

Re: [DX 10] Textureproblem

Verfasst: 18.10.2009, 22:21
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 19.10.2009, 09:40
von Jörg
exploid hat geschrieben:...werde ich das für mich ablehnen und die Bits und Bytes suchen um "die Wahrheit zu sehen".
...die sich aber oft hinter Vetraulichkeitsvereinbarungen verbirgt. Fuer einige Architekturen findest Du veroeffentlichte Dokumente, aber leider nicht fuer alle. Dort hinein musst Du schauen, wenn Du wissen willst, was 'unten' auf der HW abgeht. Dann kommst Du vor lauter lesen aber kaum mehr dazu, was schickes zu coden ;)

Re: [DX 10] Textureproblem

Verfasst: 19.10.2009, 17:31
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 20.10.2009, 21:24
von exploid
...

Re: [DX 10] Textureproblem

Verfasst: 21.10.2009, 08:57
von Krishty
Hier habe ich übrigens noch ein altes Code-Snippet, wie man Texturen direkt aus Pixeldaten im RAM erzeugt … falls es nützlich ist, schön … falls nicht, sorry, dass ich MS zur Weltherrschaft verhelfe.

Re: [DX 10] Textureproblem

Verfasst: 23.10.2009, 15:58
von exploid
...