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

HDieterH

Frischling

  • »HDieterH« ist der Autor dieses Themas

Beiträge: 16

Wohnort: Düsseldorf

  • Private Nachricht senden

1

16.03.2003, 03:54

SetRenderState(?,?)

Könnte mir bitte einer einen einfachen Aufruf ( wenn es sowas gibt ) als Code zeigen, mit dem der RenderState so geändert wird, dass man etwas sieht ? z.B. Inverse Grafik, schwarz/weiss ... ich weiss nicht ob meine Vorschläge einfach sind, sorry.

Was ich machen möchte:
Ich lade ein einfaches xFile mit Texture, frage die MousekoordinatenXY ab und möchte wenn meine Mouse über ein mesh Moved die Textture anders darstellen. Einfach damit man sieht, dass ich über dem Mesh bin.

MFG, Dieter
Anfänger -> Braucht immer Hilfe :-(

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

16.03.2003, 09:48

Hi!

Du könntest das Mesh z.B. als Drahtgitter darstellen:
SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
Und wieder normal: SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID);

Oder Du könntest es transparent machen:
SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);
Und wieder normal: SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE);

Oder Du könntest die Textur rot einfärben:
SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE);
SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_CURRENT);
SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_TFACTOR);
SetRenderState(D3DRS_TEXTUREFACTOR, 0xFFFF8080);
Und wieder normal: SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE);

HDieterH

Frischling

  • »HDieterH« ist der Autor dieses Themas

Beiträge: 16

Wohnort: Düsseldorf

  • Private Nachricht senden

3

16.03.2003, 15:29

Hi ,
Lieben Dank für die schnelle Antwort !

Leider geht das mit dem Transparent nicht, er kennt ( DIRECTX SDK 8.1 )
D3DRS_SRCALPHA und auch D3DRS_DESTALPHA leider nicht. Iss aber nicht schlimm den ich färbe mein Mesh einfach mit einer anderen Farbe ein :-).
Anfänger -> Braucht immer Hilfe :-(

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

16.03.2003, 17:07

Ups, sorry! Ich hatte mich verschrieben. Schau mal in den alten Beitrag, ich habe es jetzt korrigiert. Es muss natürlich D3DRS_SRCBLEND heißen, und nicht D3DRS_SRCALPHA.

Werbeanzeige