ich wollte euch hier mal nen effekt zeigen, an dem ich den tag gearbeitet habe.
Das alles ist komplett ohne Shader oder NVidia Extensions gemacht. Es sind quasi Heightmaps,
durch welche ne LightMap berechnet wird. un da kommen wir auch schonmal zu ner Frage: wie kann ich LightMaps
schnell und genau berechnen?? das kanns doch net sein das ich jedem einzelnen pixel ne farbe zuweisen muss...
wie langsam das dann leider wird, das kann jeder selbst im demo sehn (bei mir läuft es mit ca. 10 Fps ab). der
Effekt selbst sieht aber wie ich finde relativ gut aus. es wird allerdings immer nur in richtung x-achse beleuchtet,
weshalb man höhenunterschiede parallel zur x-achse nicht sehen kann. ist aber sicher noch ausbaubar.
wenn das pröblem mit der performance nicht wär, wäre es vielleicht ne gute alternative, aber so...
Naja mein Ziel war eigentlich nur so einen effekt auch mal zu machen - un das hab ich ja dann doch hinbekommen.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Hab den Thread verschoben, war ja im ganz falschen Forum.
@Thema :
Warum so kompliziert? DOT3-Bumpmapping kann man seit der Geforce1 ohne jegliche Shader und auch ohne herstellerspezifische Extensions realisieren, und das zudem noch mit hoher Geschwindigkeit. Hab vor Längerem ne Demo in diesem Thread veröffentlicht, die neben den zwei Shaderrenderpfaden auch einen Renderpfad für die feste Funktionspipeline mitbringt, der auch auf alten Karten DOT3-Bumpmapping darstellt. Von daher lass deinen Ansatz besser, denn Lightmaps berechnen bedeutet immer jede Menge Berechnungen auf der GPU, sowie das Übertragen einer neuen Textur bei Änderung dieser Lightmap, das ist also kein guter Ansatz.
P.S. : 12 FPS auf meiner Radeon 9700. Der ARB-DOT3-Pfad (also feste Funktionspipeline) ist mehrere hundert Prozent schneller.
Bei Quake3 war früher Bumpmapping so geplant, daß man für jede Texture 5 Mal die Beleuchtung aus verschiedenen Richtungen gespeichert hat und diese Texturen dann je nach Lichtrichtung gewichtet ineinander geblendet wurden.
Das Skalarprodukt kann man auch durch 3 bzw. 6 Renderpass und selbst auf einer Voodoo 1 emulieren. Diese Technik heißt dann Orthogonal Illumination Mapping. Das sollte dann auch noch schneller als 11 FPS laufen.
http://www.opengl.org/resources/features/oimfinal/
Aber solche Tricks sind ja heutzutage nicht mehr nötig.
Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.