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

Andreas

Frischling

  • »Andreas« ist der Autor dieses Themas

Beiträge: 77

Beruf: Schüler

  • Private Nachricht senden

1

20.07.2007, 13:35

ohne Beleuchtung - Streufarbe

Hallo,
ich bin dabei eine Art Strategiespiel zu programmieren und habe dabei wegen der ungleichmäßigen Beleuchtung das Licht einfach ausgeschaltet.

Wenn ich jetzt ein Modell rendere, dass keine Textur besitzt sondern nur eine Streufarbe erscheint das Modell in weiß, obwohl die Texturen aber vernünftig angezeigt werden.

Ich habe in der Suche auch schon danach geguckt, aber da wurde nur als Möglichkeit angegeben das Licht einzuschalten.

Gibt es noch eine andere Möglichkeit, oder gibt es wenigstens eine bessere Möglichkeit zum Beleuchten? Bisher hatte ich immer ein Richtungslicht in Richtung der Kamara scheinen lassen, allerdings erscheint das Spielfeld ziemlich dunkel und Gebäude, die am Rand liegen sind schon fast schwarz. Auch mit ambienten Licht nachzuhelfen hat nicht viel gebracht.
Kann man das so ausleuchten, dass es fast so hell ist wie ohne Beleuchtung oder gibt es noch eine andere Möglichkeit die Streufarbe auch ohne Licht sichtbar zu machen?

Vielen Dank für eine Antwort

Viele Grüße
Andreas

2

20.07.2007, 22:22

Hallo

Es müsste doch eigentlich funktionieren, wenn du das Licht anschaltest und das Ambient Licht auf komplett weiß stellst(1.0, 1.0, 1.0) und ansonsten kein anderes Licht verwendest.

MfG CoffeeConverter

Andreas

Frischling

  • »Andreas« ist der Autor dieses Themas

Beiträge: 77

Beruf: Schüler

  • Private Nachricht senden

3

21.07.2007, 13:11

Hi, danke für die Antwort.
Man kann ja als Beispiel einfach das Beispielprogramm aus Kapitel 3 nehmen mit dem Namen 02-Modelle. Wenn ich da das Licht mit
D3D->SetRenderState(D3DRS_LIGHTING, FALSE) ausschalte und die vorher dagewesene Lichtquelle lösche, werden die Gebäude mit Texturen korrekt dargestellt, nur die Halbdurchsichtige Kugel und die Pyramide sind weiß.
Setze ich jetzt aber noch
D3D->SetRenderState(D3DRS_AMBIENT, tbColor(1.0f, 1.0f, 1.0f)) hinzu, bleibt es trotzdem noch beim alten.

Hab ich den Renderstate falsch angewendet oder wo liegt der Fehler,
vielen Dank für eine Antwort

Andreas

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

4

21.07.2007, 15:22

du beleuchtest mit d3d oder nutzt die shader, für die beleuchtung. falls du shader nutzt, dann geht das mit dem

D3D->SetRenderState(D3DRS_AMBIENT, tbColor(1.0f, 1.0f, 1.0f))

nicht...

Andreas

Frischling

  • »Andreas« ist der Autor dieses Themas

Beiträge: 77

Beruf: Schüler

  • Private Nachricht senden

5

21.07.2007, 16:41

Also in meiner Version besitzt die Tribase noch keine Shader-Unterstützung, deshalb läuft das über diese Standard-Pipeline.

Kann mir denn jemand einen Tipp geben, wie man eine Spielszene so gut ausleuchten kann, als wär das Licht ausgestellt?

Muss man da einfach nur mehr Lichter hinpacken, oder gibts noch andere Möglichkeiten?

Viele Grüße
Andreas

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

6

21.07.2007, 19:14

probier mal so 20 point lights in dx zu erstellen... ;)

Andreas

Frischling

  • »Andreas« ist der Autor dieses Themas

Beiträge: 77

Beruf: Schüler

  • Private Nachricht senden

7

21.07.2007, 20:07

das frisst doch die Performance nur so weg, gibts noch andere Wege?

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

8

21.07.2007, 20:10

Zitat von »"Andreas"«

das frisst doch die Performance nur so weg


genau darauf wollte ich hinaus...

Werbeanzeige