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

08.11.2004, 19:57

rendertarget -> Texture

Hi,

Wie krieg ich entweder ein rendertarget in eine
textur "verwandelt", oder wie bau ich mir am schlausten
eine "be-renderbare" textur.
ich hab versucht das surface das mir CreateRenderTarget liefert
mit QueryInterface zu ner IDirect3DTexture9 zu "COM-casten"
aber scheint nicht kompatibel zu sein.

ciao 23h

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

08.11.2004, 21:18

D3DUSAGE_RENDERTARGET daran gedacht? War mein fehler ;)

3

08.11.2004, 21:41

ich hab jetzt folgenden code:

C-/C++-Quelltext

1
2
3
4
if (device>CreateTexture(512, 256, 0, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &tex1, NULL) != D3D_OK){
        return -9;
    }
    tex1->GetSurfaceLevel(0, &surface);


nur wenn ich was in die texture render dann kommt nur scheiße bei raus
ne idee?

4

08.11.2004, 21:45

ps: das ergebnis auf der textur sieht irgendwie interlaced aus
sehr seltsam

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

08.11.2004, 22:05

Restrictions for using this method include the following:

The multisample type must be the same for the render target and the depth stencil surface.
The formats must be compatible for the render target and the depth stencil surface. See IDirect3D9::CheckDepthStencilMatch.
The size of the depth stencil surface must be greater than or equal to the size of the render target.
alle 3 Punkte erfüllt?

6

08.11.2004, 22:28

ja:

adapter-mode D3DFMT_X8R8G8B8
rendertarget: D3DFMT_A8R8G8B8
->CheckDepthStencilMatch = D3D_OK
und auflösung 1280 1024 rendertarget 512 256
sollte doch alles passen

beim rendern mach ich folgendes

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
tex1->GetSurfaceLevel(0, &surface); //tex1 = RENDERTARGET

device->GetRenderTarget(0, &backbuffer);
while(1){
    device->SetRenderTarget(0, surface); //

    device->Beginscene();
    //rendern

    device->EndScene();
    device->SetRenderTarget(0, backbuffer);
    device->BeginScene();
    device->SetTexture(0, tex1);
    //rendern

    device->EndScene();
    device->Present(0,0,0,0);
}


der d3d-debugger meint e vorhin
irgendwas von wegen rendern zu nem als textur verlinkten surface oder so
aber jetzt sagt er nix mehr...

7

08.11.2004, 22:34

EDIT: forget it :)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

08.11.2004, 22:42

Und was wars?

9

08.11.2004, 23:29

was?
nein ich hab das problem immernoch.
ich meinte nur "vergesst was ich da vorher hingeschrieben habe
nicht das problem !"

es geht immmer noch nicht.

10

09.11.2004, 02:02

Dein Verhältnisse zwischen Textur und Target stimmen nicht. Wenn du eine Auflösung von 1280x1024 nutzt, darf deine Textur nicht kleiner sein. Am besten ist wenn sie exackt genau so groß ist.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige