Occlusion selber kompilieren
Übersicht

![]() |
VertexBetreff: Occlusion selber kompilieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Ich mache mir langsam mal Gedanken für meine 3D Engine, ein Levelformat zu entwickeln für den Indoor-Bereich. Das ganze sollte so änlich funktionieren wie bei Quake mit BSP. Ich möchte also mit Render-Bäumen arbeiten, die darüber Auskunft geben, welche Räume von jeden Raum aus gesehen werden können. Somit kann braucht man die Räume, die man nicht vom aktuellen Raum sieht, auch nicht einzeichnen. Es entfällt Transformations- und Rasteringarbeit. Meine Idee Render-Bäume zu berechnen stammt Ursprünglich von ST. Bzw. NVIDIA greift bei ihrer Occlusion-Extension ebenfalls auf eine änliche Idee zurück. Man verpasst jedem Raum seine individuelle Farbe. Jetzt rendert man das komplette Level ohne Lighting(also gibt es keine Schatten usw. die die Farbe des Raums beeinträchtigen) im zu prüfenden Raum, und geht dann das gerenderte Bild Pixel für Pixel durch. Wenn jetzt z. B. ein Pixel blau ist, wird dann der Raum der blau markiert wurde, in den Baum mit eingefügt. Das Problem ist, wie erfasse ich alle Winkel eines Raumes? Standardmäßig müsste ich 6 Bilder(oben, unten, links, rechts, vorne und hinten) pro Raum mit 45° Brennweite rendern. Problem ist, von wo aus rendere ich diese 6 Bilder? Ich erfasse ja nicht bei konkaven Räumen alle Stellen. Schonmal Erfahrungen damit gemacht? Irgendwelche Tipps für mich? Lösungen für das Problem? mfg olli |
||
vertex.dreamfall.at | GitHub |
Gombolo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Verwende doch Portale.
Ich habe das mal testweise Implementiert in BlitzBasic. Funktioniert ganz gut. Ist Spieler in Raum 1 und ist Portal A sichtbar, rendere Raum 2. Ist Portal B sichtbar rendere Raum3 oder Ist Spieler in Raum 2 und ist Portal A sichtbar rendere Raum 1. Ist Portal B sichtbar rendere Raum 3. |
||
Heute ist der erste Tag vom Rest deines Lebens
http://gombolo.go.funpic.de/ |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
Gombolo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ShadowTurtle
Um den Texturmanager zu umgehen erstellt du die selbe Bitmap mit einem anderen Namen. So könntest du doch den Manager umgehen. |
||
Heute ist der erste Tag vom Rest deines Lebens
http://gombolo.go.funpic.de/ |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Man hätte ja B3D dahingehend optimieren könenn, das zwar das eigentlich Bild der Textur im Speicher bleibt, jedoch die Texturen sepperate Texturmatrizen bekommen würden. Gombolo: Hmm, das mit dem Portalen könnte ich ja sogar über die Ocllusions-Extension realisieren. Die Frage ist, wie weit ist dies bereits OpenGL-Standard(also nicht mehr Herstellerabhängig, sondern ARB oder gar fix implementiert), und würde dies wirklich optimale Performence erziehlen. Ausgehend davon müsste man ja prüfen, ob der Durchgang von Raum 1 in Raum 2 zu sehen ist. Wenn ja, ist dieser Durchgang offen. Dann müsste man rekursiv das selbe mit Raum 2 machen. Wenn ich mir das recht überlege, ist sogar garnichtmal ein Renderbaum notwendig. ST: Welches Format haben deine Modelle/Items? Fürs erste ein Levelformat zum experimentieren zu nutzen, wäre nicht schlecht. Würde dann aber nicht unebedingt offizielles DreiDe Format werden(mir schwebt da eher ein XML oder Chunk basierendes Format im Kopf). mfg olli |
||
vertex.dreamfall.at | GitHub |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group