| |
|
|
| iF
PSA3D.DLL News DescargarAus dem Hause PSA gibt es ab sofort auch eine rudimentäre 3D-Engine. Die Engine ist kein RayTracer, eher ein Vertex-Calculator. Die Vertexe werden zu einem Mesh verbunden. Das 4-Vertex-Mesh wird automatisch ge-Faced. Im Gegensatz zu normalen Meshes haben die Psa3D-Meshes 4 Vertexe, statt nur 3. Somit müssen pro rect nicht gleich 2 Dreiecke, sondern und nur 1 Polygone gezeichnet werden. Ich sehe da in Betracht auf das Softwarerendern einen Geschwindigkeitsvorteil Die Psa3D.dll nutzt zum Vorteil aller Programmierer die Prospeed.dll als Anzeigemodul. Nur so können die Effekte der Prospeed, der Psa und der Psa3D miteinander kombiniert werden. Somit ist es z.B. auch möglich, ein 3D-Bild zu zeigen, welches mit Prospeed-Effekten nachträglich bereichert wird. Einfachstes Beispiel wäre es, einen Blur auf das gerenderte 3D-Bild anzuwenden, um einen anti-Alias-Effekt zu erzeugen. Die Psa3D kennt aber auch einen non-Prospeed Kompatiblitätsmodus. Dieser Modus nutzt den API-Polygone-Befehl, um das Bild zu zeigen. Dieser Kompatiblitätsmodus erlaubt jedoch keinerlei Flächeneffekte. Die Psa3D ist ganz neu und nicht ausgereift. Nur bei erhöhtem Interesse an der DLL wird diese weiterentwickelt. Die Psa3D rechnet alles selbst und nutzt keinerlei Hardware-Beschleunigungsmethoden. Die DLL ist im Grunde für Windows-Betriebssysteme entwickelt, lässt sich aber auch für Symbian-OS und Motorola-OS exportieren. (wäre dann deutlich kleiner) Somit stünde der Nutzung der 3D-Engine auch auf mobilen Geräten nichts im Wege. Die DLL ist ein C++-Sonderkompilat, und rechenaufwendige Aufgaben sind teilweise in Assembler realisiert. Die Nutzung der DLL geschieht auf eigene Gefahr. Aus rechtlichen Gründen muss genannt werden, dass für die DLL keinerlei Support geleistet wird, was nichts damit zu tun hat, dass hier alle Fragen beantwortet werden, bzw. die DLL weiterentwickelt wird. Es handelt sich hierbei um eine Phrase. Das heißt, die PSA3D.DLL ist kostenlos, wenn Ihr eine Prospeed.dll-Vollversion besitzt. Deshalb ist die PSA3D.DLL auch ein AddOn zur Prospeed. Wird die Dll für Shareware oder Vollversionen genutzt, ist die Nutzung nur im Zusammenhang mit einer registrierten ProSpeed.dll-Vollversion erlaubt. PSA3D-Bugs / EntwicklernotesV1.3 Bug#0001: wenn einzelne Vertexe eines Objektverbundes wg. Distance abgeschaltet werden, führt dies zu Anzeigefehlern da das Mesh versucht trotzdem ein Poly zu verbinden - tritt besonders bei großen Objekten auf - Bugfix warscheinlich in V1.4 = {{ solange sich wenigestens ein Vertex eines Objektverbundes sich innerhalb der Anzeigedistance befindet, müssen alle dessen Vertexe ausgerechnet und verwendet werden } oder { wird ein Vertex wg. Distance abgeschaltet hat die Position des zuletzt im Objektverbund gerechneten Vertexes verwendet zu werden }} V1.4 Bug#0002: x/0 Fehler führt zu exeptionerr. Außerdem werden kleinere Objekt von dahinterliegenden größeren Objekten überzeichnet, wenn die Distanz des Mittelpunktes des größeren Objektes geringer ist als die des kleineren Objektes ist. Führt zu Anzeigefehlern ist aber ein normaler Zustand bei Painters-Mode-Renderern. Echte Raytracer vergleichen deshalb jedes Pixel mit seiner Cam/Distance und prüfen somit die Sichtbarkeit. Die Abprüfung der Distance über den Mittelpunkt eines Meshes ist daher zu ungenau, aber ausreichend im Bezug auf eine derartige Software-Engine. Workaround: In V1.5 kann die Zeichenreinfolge von Objekten (nicht meshes!) selbst bestimmt werden. Die Reinfolge der einzelnen Meshes innerhalb von Objektgruppen wird natürlich trotzdem von der Engine bestimmt. iF |
|
|
| |
|
|
|
| Aus aktuellem Anlaß wurde ich darauf hingewiesen, dass noch Beispiele fehlen. Nunja, ich habe halt noch keine erstellt.
Dafür hat sich der Text im obigen Beitrag etwas geändert. Also nochmal lesen. Wer später mit der PSA3D arbeiten möchte, sollte schon wissen, wie sie funktioniert.
iF |
|
|
| |
|
|
|
| Version V1.4, welche noch nicht zum Download bereitsteht, kennt jetzt auch verschiedene Materialeigenschaften.
Transparenz / Reflexionseffekt / Glaseffekt / Metallshading / Rauschen / etc. x/0 Fehler sind behoben Objekte können eingefärbt werden übergroße Objekte werden richtig gerendert es können eigene Vertexe / Meshes und Objekte angelegt werden (eigene Welt bauen geht) Backface-Rendering-Erkennung beschleunigt ein Fehler in der Mesh-Zeichenreihenfolgeerkennung wurde behoben
iF |
|
|
| |
|
|
|
| Version V1.4, gibts ab sofort oben im ersten Beitrag wie gewohnt zum Download.
Transparenz / Reflexionseffekt / Glaseffekt / Metallshading / Rauschen / etc. x/0 Fehler sind behoben, dafür ist irgendwo ein Neuer drin. Objekte können eingefärbt werden übergroße Objekte werden richtig gerendert (naja, fast) es können eigene Vertexe / Meshes und Objekte angelegt werden (eigene Welt bauen geht) (leichte Überteibung) Backface-Rendering-Erkennung beschleunigt ein Fehler in der Mesh-Zeichenreihenfolgeerkennung wurde behoben
iF |
|
|
| |
|
|
|
| Version V1.5, welche noch nicht zum Download bereitsteht, kennt jetzt auch die Materialeigenschaften textur-low, textur-norm, textur-hi, textur-dbl-norm und textur-dbl-hi.
Dabei bedient sich die Engine aus einem/meheren weiteren angelegten Prospeed-Array/s, welcher mit der/den Textur/en gefüllt ist/sind.
Textur-Low = 30x30 Pixel Textur-norm = 100x100 Pixel Textur-hi = 256x256 Pixel Textur-dbl-norm = 100x100 Pixel + 100x100 Pixel Doppeltextur Textur-dbl-hi = 256x256 Pixel + 256x256 Pixel Doppeltextur
Mit Doppeltextur meine ich das Beziehen eines Objektes mit 2 verschiedenen Texturen, welche übereinandergelegt werden. Die Äußere der beiden Texturen wird mit einem 50%-Transparenz-Filter aufgelegt. Solch Technik kann genutzt werden um z.B. fließendes Wasser zu emulieren, oder gar die angebliche Reflexion von Wolken auf einer Metallplatte.
iF |
|
|
| |
|
|
|
| Öffentliche Weiterentwicklung mangels Interesse bis auf Weiteres eingestellt. |
|
|
| |
|
|
|
someoneveryold | Warum geht der Link nicht mehr? Ich möchte sie runterladen. Wo gibt es sie noch? |
|
|
| |
|
|
|
| Gug mal im Downloadbereich - unten - bei den ZIPs - zum Download! Glaube unter PSA und Simplest wirst bisl fündig.
Salve. |
|
|
| |
|
|
|
| Juhu, hab ein altes Projekt von mir wieder gefunden -
die psa und psa3d.dll.
Da hatte ich eine DLL programmiert, die 3D Pixel für Pixel selber rechnet und anzeigt und ich staune, dass ich auf meinem Computer damit angehend 600 FPS erreiche.
Mit der Maus steuern:
Descargar
Vielleicht sollte ich diesen/ meinen alten 3D-Softwarerenderer mal nach nProcs portieren denn auch wenn er nicht so mächtig wie z.B. OpenGL ist so funktioniert er aber scheinbar dafür immer. |
|
|
| |
|
|