Begr. Anzahl v. Lichtquellen?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

ZaP

Betreff: Begr. Anzahl v. Lichtquellen?

BeitragSa, Aug 11, 2007 12:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich platziere über den BlitzMapper in meine BSP map Lichtquellen, um eine bessere Grafik zu erzielen. Heute habe ich meine BSP map ein wenig erweitert, so dass ich 4 weitere Brushes habe, die wie Lampen aussehen, unter die eine Lichtquelle kommt, wollte ich auch machen, aber die BSP map wird nichtmehr von der Lichtquelle beeinflusst. Nehme ich eine andere Lichtquelle, die bereits vorhanden ist und verschiebe sie, geht es, platziere ich eine weitere bleibt wieder alles dunkel.

Kann es sein, dass man maximal 8 Lichtquellen in B3D platzieren darf? Und wenn ja, kann man einstellen, dass es mehr werden können?
Starfare: Worklog, Website (download)
 

ChristianK

BeitragSa, Aug 11, 2007 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Jap, in DX7 werden "nur" 8 Lichtquellen unterstützt.
Das macht auch Sinn, denn jeder Vertex muss dann sehr oft beleuchtet werden, was einiges an Performance verbraucht.
BlitzMapper kenne ich nicht, aber kannst du vielleicht Lightmaps benutzen?
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

ZaP

BeitragSa, Aug 11, 2007 12:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja kann ich, ist auch standard, aber die lightmaps würden nur auf der map liegen, jedoch nicht auf den Entities die ich in B3D einfüge, dass sieht doof aus, vorallem wenn man an einer dunklen Stelle steht, und die Waffe unten rechts leuchtet -.- Wär natürlich toll, wenn man das Ambientlight von B3D mit der lichtstärke auf der Stelle an der man grad steht synchronisieren könnte. Dann hätte ich quasi den selben Effekt wie oben beschrieben, nur dass es weniger Leistung braucht.
Ich könnte auch alle lichter die grade nicht in Reichtweite/Sichtfeld sind verstecken. Würde das auch gehen?

//EDIT: BlitzMapper schreibt für mich quasi nur die Koordinaten der Lichter in eine Datei, damit ich sie auf meine BSP map laden kann.
Starfare: Worklog, Website (download)
 

ChristianK

BeitragSa, Aug 11, 2007 12:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannste ja mal versuchen. Im englischen Forum gab es auch mal einen Thread, in dem beschrieben wurde, wie man mehr als 8 Lichquellen gleichzeitig verwenden kann. Ich weiß leider nicht mehr, wo genau das war.

Das Problem beim AmbientLight ist halt, dass es "global" ist. Wenn du zum Beispiel im Schatten stehst, sollte die Waffe dunkler sein, klar.
Aber das gilt dann ja nicht für weiter entfernte Objekte. Die werden vom Umgebungslicht aber genauso beeinflusst.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

ZaP

BeitragSa, Aug 11, 2007 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt... das hilft mir weiter, danke dir =)

/EDIT: Gut, ich habe den Thread gefunden, eine Lösung steht da nicht wirklich drin, also habe ich mir überlegt, nur die 8 nähsten Lichter anzuzeigen, und alle anderen auszublenden.
Die Lichter und ihre positionen sind in Types gespeichert, aber ich habe jetzt keine Ahnung wie ich die Lichter nach entfernung zum Spieler ordnen kann..
Hat jemand einen Lösungsansatz?
Starfare: Worklog, Website (download)

Phalastos

BeitragSa, Aug 11, 2007 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möchte Dir in keinster Weise die Motivation rauben, aber die BSP Unterstützung ist eine krüpplige Angelegenheit und wurde nie fertig implementiert. Evil or Very Mad
Man hat in B3D nicht die Möglichkeit Teile eines BSP Levels abzufragen, da es einfach nur als Entity geladen wird.
Ich hab mich echt einige Jahre damit rumgeschlagen und wir konnten auch vieles umschiffen. Dennoch eckte man immer wieder an neuen Grenzen an.

Dein Problem könntest Du mit EntityDistance oder EntityinView mindern.
Aber eine ordentliche Lösung wirst Du leider nie erreichen.

Gruß

Alex
Forbiddenmagic - Warfare of Forgotten Power

ZaP

BeitragSa, Aug 11, 2007 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe ich beides Probiert, sieht dämlich aus. Ich hab jetzt die Lösung für die 8 nähsten Lichter gefunden und implementiere diese beizeiten. Damit wäre der Levelloader dann fertig, ist also quasi die letzte "Grenze".
Starfare: Worklog, Website (download)

Phalastos

BeitragSa, Aug 11, 2007 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Ich hab jetzt die Lösung für die 8 nähsten Lichter gefunden und implementiere diese beizeiten.


Also da bin ich ja mal gespannt. Vor allem auch auf die "Lichtfeatures" wenn ein Licht ausgeht und ein anderes an. Very Happy


Zitat:
Damit wäre der Levelloader dann fertig, ist also quasi die letzte "Grenze".


Also nen Levelloader ist ja schon mit LoadBSP fertig.
Welche Features werden denn zusätzlich unterstüzt? ( Q3 Mapmodelle etc )
Forbiddenmagic - Warfare of Forgotten Power

ZaP

BeitragSa, Aug 11, 2007 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Dynamische Lichter, Meshes.. Aber ich meinte damit nicht den B3D Bsp loader, sondern meinen Game internen loader.
Starfare: Worklog, Website (download)
 

Dreamora

BeitragSa, Aug 11, 2007 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Und das was du lädst hat dann noch die BSP Features?
Oder lädst du einfach nur die Entity Informationen aus der BSP heraus und wandelst es in B3D Entities um? (was durchaus sinnvoll ist Smile )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

ZaP

BeitragSo, Aug 12, 2007 11:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso macht ihr euch über Leute lustig die ein Problem haben, und es dann auchnoch versuchen selbst zu lösen?!
Starfare: Worklog, Website (download)
 

Dreamora

BeitragSo, Aug 12, 2007 11:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Wo macht sich hier irgendwer über irgendwen lustig?

Ich habe lediglich gefragt ob das selbst geladene danach noch die BSP Features hat oder ob lediglich die Entity Daten aus dem BSP geladen werden und das BSP selbst mit Blitz3Ds LoadBSP geladen wird.

Wenn nämlich die PVS - BSP Features bei einem eigenen Loader rausgehauen werden (da nicht sonderlich schnell wenn man es in Blitz coded wegen der niedrigen Mathe Geschwindigkeit), dann wäre man vermutlich besser beraten direkt einen Level mit B3D und Hierarchie zu machen, welcher Alpha 0 Cubes verwendet als Visibility Bounding Boxes für ganze Sektoren.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

ZaP

BeitragSo, Aug 12, 2007 11:50
Antworten mit Zitat
Benutzer-Profile anzeigen
*grummel* user posted image
Ja es hat dann noch die BSP features, wenn man da überhaupt von features sprechen kann..
Wie oben schon gesagt, lade ich die BSP map mit LoadBSP() und Hänge dann ein paar Lichter in die Luft, deren Positionen in Dateien drinstehen.

So, und jetzt zu Phalastios (oder so):
Man kann mit dem richtigen Leveldesign immerhin soviel erreichen, dass die Lichter nicht alle auf einem Haufen sind, und es garnicht auffällt wenn mal eins ausgeht.
Starfare: Worklog, Website (download)

Phalastos

BeitragSo, Aug 12, 2007 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin Zap,

wie ich Dir oben schon schrieb kann man leider nicht alle Probleme mit BSP- Maps unter Blitz3D lösen.
Gerade in dem Du keine Q3 Lightmaps verwendest, verbaust Du dir den Weg für viele sehr geniale Features. ( Phong Shading, Penumbra Schatten, Mapmodelle etc)
Nicht zu vergessen ist das PVS, welches in eine .b3d Lösung erst implementiert werden müßte.
Auf der anderen Seite bekommt mal halt irgendwann unlösbare Probleme (dynamische Schatten, Bumpmapping etc)

Es kommt also ganz darauf an wohin der Zug (NF2) fahren soll:

Also Hobbyspiel wirste mit der Blitz3D - BSP Kombi (inkl. LM) super fahren.
Möchtest Du aber die ganzen Möglichkeiten die B3D auch über Dlls bietet nutzen, dann bleibt nur die .b3d Pipeline.
Sämtliche Schatten- oder Effektlibs funktionieren nicht in BSP Maps unter Blitz3D! Und um mit der .b3d Pipeline was ähnlich schnelles zu zaubern, wirst wohl erst ein PVS integrieren müssen.
Weiterhin brauchst Du dann auch mehrer Tools und kannst nicht auf ein Komplettpaket wie z.B. den GtkRadiant zurückgreifen. Sad

Gruß
Alex

ZaP

BeitragSo, Aug 12, 2007 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe einen BSP loader in C++ (Source) auf meiner Festplatte, da fehlen quasi nur ein paar header. Könnte man nun eine DLL Datei schreiben, die eine Funktion ermöglicht, mit der man ein Objekt nach dem nächsten aus der BSP Datei lädt?

Theoretisch müsste sowas auch mit B3D über Readbyte() gehen, es gibt ja unzählige Seiten, auf denen der Aufbau einer BSP Datei aufgeschrieben ist, oder?
Starfare: Worklog, Website (download)

Phalastos

BeitragSo, Aug 12, 2007 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Zap,

also ich glaube Du redest von einem Parser. Solch einen Parser kannst Du ganz einfach auch in Blitz3D schreiben. Damit kannst Du dann z.B. Entitys, welche im Radiant gesetzt wurden, auslesen und dafür eine passende BLitz3D Funktion schreiben.

Zum Beispiel das Thema Lichter:

Du setzt im Radiant die Mapmodelle der Fackeln, die statischen Lichtquellen sowie ein Entity. (z.B. Lichtemitter)
Nun lässt Du die BSP Map parsen und und erhälst in Blitz3D die Positionen der Lichtemitter und kannst an allen diesen stellen z.B. einen Partikeleffekt setzen.
Damit kann man viele Sachen umschiffen und dennoch gibt es mehrere Dinge die nicht gehen. Sad
Man kommt weder an die Texturehandles noch an die Lightmaps ran.
Das die Texturen nun auch bei BSP Maps im DDS Format sein dürfen, haben wir dem Silby im 1.98er Update rausgebettelt.
Die Lightmaps kann man leider nicht im DDS Format nutzen, was gerade bei größeren Maps der Tot für den VRam ist. (60MB aufwärts)

In diesem Sinne such Dir wenns was ernsthaftes werden soll eine Alternative oder nutze die .b3d pipeline.

Gruß

Alex
Forbiddenmagic - Warfare of Forgotten Power

ZaP

BeitragMo, Aug 13, 2007 11:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja, werd ich dann wohl machen müssen... auch wenn ich besser mit Q3 BSP klarkomme als Meshes erstellen.
Starfare: Worklog, Website (download)

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group