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

18.09.2003, 13:39

Negatives Hintergrundlicht

Hallo,

ich wollte ein Negatives, allgegenwärtiges Hintergrundlicht erstellen. Nur weiß ich leider keine Funktion dafür!

Der Hintergrund: Ich möchte, wenn die Pause aktiviert ist, die ganze Szene verdunkeln, also ein negatives Hintergrundlicht erstellen und dann einen Überpositiven Schriftzug PAUSE erstellen.

Danke,

Chrissi

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

2

18.09.2003, 14:22

Setz doch einfach ein Licht. Dabei setzt du für Ambient einen negativen Colorvalue-Wert, z. B. (-.5f, -.5f, -.5f).

3

18.09.2003, 16:45

Hi, mal ne blöde Frage. Wie aktiviere ich so ein Licht? mit

Quellcode

1
tbDirect3D::SetRS(D3DS_AMBIENTE, tbColor(-1.0f,-0.5f,-0.5f));
sehe ich keinen Unterschied...

danke, Chrissi

Tobiking

1x Rätselkönig

  • Private Nachricht senden

4

18.09.2003, 16:57

Ist es nicht so das man einfach ein Graues oder schwarzes Licht benutzt ? Ich habe da irgendwo mal sowas gehört kann aber auch von OGL oder sonst wo kommen.

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

5

18.09.2003, 20:37

Mit D3DRS_AMBIENT können ja nur Werte zwischen 0.0f und 1.0f gesetzt werden, also keine negativen Werte. Man müsste also schon ein Licht erstellen:

Quellcode

1
2
3
4
5
D3DLight Light;
Light.Ambient = D3DCOLORVALUE (-.5f, -.5f, -.5f);
Light.Diffuse = ...
...
pDevice->SetLight (0, &Light);

6

19.09.2003, 00:03

D3DRS_AMBIENT wird auch nur dann verwendet wenn D3DRS_LIGHTING auf TRUE gesetzt ist.

Also ich würde das nicht mit einem Licht machen. Mach doch einfach ein Halbtransparentes viereck über das gesamte Bild. Dieses ist dann von der Farbe her Dunkelgrau oder so. Danach Renderst du dann deinen Schriftzug "Pause".
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

7

19.09.2003, 14:12

Der Standartwert von D3DRS_AMBIENT ist TRUE.

Der Unterschied zwischen Alphablending und dem negativen Hintergrundlicht ist, dass beim Alphablending die Farbkomponenten (r, g, b) der ursprünglichen Farben durch eine bestimmte Zahl geteilt werden, werden, während beim negativen Hintergrundlicht von jeder Farbe die Hintergrundfarbe (z. B. (-.5f, -.5f, -.5f)) abgezogen wird.

Performacemäßig sehe ich zwischen beiden Möglichkeiten keine großen Unterschiede, da die Szene ja nur einmal pro Pause gerendert werden muss.

8

19.09.2003, 14:20

Hi,

erstmal danke für die ganzen Antworten. Das mit dem Dreieck ist eine schöne Idee.Aber das mit dem Licht geht auch.

Nur,

@NoName

welches Licht meintest du eigentlich? Alle Lichter die ich kenne passen nicht.

Danke,
Chrissi

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

9

19.09.2003, 14:25

@chrissi

Was meinst du mit

Zitat

welches Licht meintest du eigentlich? Alle Lichter die ich kenne passen nicht.

???

10

19.09.2003, 14:28

Spotlight geht nicht, und die anderen natürlich auch nicht. Oder????

Werbeanzeige