Seite 1 von 4
HLC SoftPixel Mini 3D Engine
Verfasst: 28.12.2007 20:19
von LukasBanana
Hi Leute,
ich habe in PureBasic4 endlich meine eigene Mini 3D Engine fertig gestellt. Ich verwende dabei die Funktion "TransformSprite3D" allerdings verschmelzen diese nicht ineinander so wie das OpenGL oder DirectX macht.
(Ist ja auch nur eine Mini 3D Engine ^^)
Ca. 1600 Zeilen hat die Engine, die Objekte lassen sich einzeln handeln und um alle 3 Achsen rotieren, ebenfalls wie die Kamera. Licht gibt es keines aber man kann, wenn man will, schwarze zusatz Objekte mit halber Transparentz aufsetzten.
Zwei Beispielprogramme zur Nutzung sind auch dabei, also viel Spaß damit, auf Verbesserungsvorschläge und Feedback würde ich mich sehr freuen
Neue Version: 4.1
Neuigkeiten:
Code: Alles auswählen
- Jetzt mit Matrix arithmetik für mehr Performance!
- Parent system
- Cylinder
- Texture Coordinaten & Farbe einstellbar (danke an: AndyX)
Download Mirror-Link:
http://web56.login-1.loginserver.ch/eas ... 2117112109
Größe: 865 KB
Lizenz:
Copyright (c) 2007 - Lukas Hermanns
Die "HLC SoftPixel Mini 3D Engine" ist jetzt absolute frei unter der GNU GPL (General public license)![/code]
Verfasst: 28.12.2007 20:45
von PureLust
Hallo Lukas, ...
mein erster Eindruck: Schick !!!
Was Dein Serverproblem betrifft, so hab ich Dein unverändertes Zip-File auch mal auf meinen Server hochgeladen, so das es nun also auch
HIER ohne jegliche Einschränkungen zum Download zur Verfügung steht.
Wenn Dies nicht in Deinem Sinne wahr, so sag kurz bescheid und ich kick's wieder.
Gruß und weiterhin viel Erfolg bei Deiner Engine,
PL.
Re: HLC SoftPixel Engine (SoftwareRenderer)
Verfasst: 28.12.2007 21:03
von DarkDragon
LukasBanana hat geschrieben:Hi Leute,
ich habe in PureBasic4 endlich meinen eigenen SoftwareRenderer fertig gestellt. Ich verwende dabei die Funktion "TransformSprite3D" allerdings verschmelzen diese nicht ineinander so wie das OpenGL oder DirectX macht.
Dann ist es aber kein Software-Renderer mehr sondern eine Engine, die eine weitere Engine benutzt, die DirectX als Renderer verwendet.
Testen kann ich sie momentan nicht, es sei denn sie funktioniert mit dem OpenGL Subsystem und nutzt keinerlei API Funktionen.
Verfasst: 28.12.2007 21:17
von RSBasic
@LukasBanana
Ich hab deine Engine gestetet und finde es
Wäre schön, wenn du deine Engine immer fleißig erweiterst

Re: HLC SoftPixel Engine (SoftwareRenderer)
Verfasst: 28.12.2007 23:05
von AndyX
DarkDragon hat geschrieben:LukasBanana hat geschrieben:Hi Leute,
ich habe in PureBasic4 endlich meinen eigenen SoftwareRenderer fertig gestellt. Ich verwende dabei die Funktion "TransformSprite3D" allerdings verschmelzen diese nicht ineinander so wie das OpenGL oder DirectX macht.
Dann ist es aber kein Software-Renderer mehr sondern eine Engine, die eine weitere Engine benutzt, die DirectX als Renderer verwendet.
Testen kann ich sie momentan nicht, es sei denn sie funktioniert mit dem OpenGL Subsystem und nutzt keinerlei API Funktionen.
Richtig, ein Software Renderer würde keinerlei Hardwarebeschleunigung nutzen, sondern, wie der Name andeutet, rein in Software (also einfach die Polygone transformieren und in nen Buffer plotten) arbeiten.
Sieht trotzdem schick aus (ist nicht so leicht die Kameratransformation hinzubekommen), manche Polygone scheitern aber an der Near Clipping Plane (wenn man nahe an der Wand steht).
Verfasst: 28.12.2007 23:41
von Daniel P.

*pfeif*
Nicht schlecht. Erinnert mich irgendwie an HL1. Liegt wahrscheinlich an den Sounds. Ich hab mich dabei erwischt, wie ich mit "E" versucht habe, die Kiste wieder zurückzuziehen
BTW wenn's dir nur um den schnellen Download geht:
www.rapidshare.com
Verfasst: 29.12.2007 12:34
von LukasBanana
@PureLust: Danke dass du es auf deinen Server geladen hast

das ist wirklich praktisch.
@AndyX: Wegen dem Problem "Near Clipping": merkwürdiger Weise sieht das transformierte Bild (mittels "TransformSprite3D") sehr seltsam aus wenn es zu weit aus dem Bildschirm heraus gelangt. Dafür kann ich aber nichts, das liegt and der Funktion die PB4 zur verfügung stellt.
Und dass die Sprites irgendwann nicht mehr zu sehen sind liegt daran dass mein Programm aufhört diese zu zeichnen wenn die Z-Koordinate 'kleiner gleich' 0 (Null) ist.
@all: stimmt, es ist kein richtiger "Software"-Renderer, aber er wirkt so, oder?!

Verfasst: 29.12.2007 13:36
von AndyX
LukasBanana hat geschrieben:@AndyX: Wegen dem Problem "Near Clipping": merkwürdiger Weise sieht das transformierte Bild (mittels "TransformSprite3D") sehr seltsam aus wenn es zu weit aus dem Bildschirm heraus gelangt. Dafür kann ich aber nichts, das liegt and der Funktion die PB4 zur verfügung stellt.
Und dass die Sprites irgendwann nicht mehr zu sehen sind liegt daran dass mein Programm aufhört diese zu zeichnen wenn die Z-Koordinate 'kleiner gleich' 0 (Null) ist.
Stimmt, wenn z negativ ist, wird das ganze trotzdem projiziert und zwar "verkehrt". Hab nur nicht dran gedacht dass die Sprite3D-Funcs von PB keinen Z-Buffer nutzen (obwohl das eigentlich evt. mit ein paar Hacks möglich sein sollte, da es ja afaik eigentlich stinknormale D3D-Teile sind).
Verfasst: 29.12.2007 14:27
von ZeHa
Auf deutsch heißt es "Lizen
z" und auf englisch "Licen
se", bitte verbesser das noch. Und wenn Du das unter der GPL veröffentlichst, solltest Du die GPL auch beilegen, also z.B. in Form einer License.txt.
Die Engine ist nicht übel, wollte sowas auch mal machen aber hab's nie hingekriegt. Allerdings gibt es ein paar Grafikfehler wenn man zu nah an eine Wand kommt (es fehlen dann ein paar Polygone), kann aber auch sein daß das an meiner Grafikkarte liegt (ATI x1400).
EDIT: Achso, das Problem haben hier ja auch andere. Naja vielleicht kannst Du da ja irgendwie rumtricksen oder so, mir fällt jetzt spontan aber nix ein (bin kein 3D-Freak

)
Verfasst: 29.12.2007 15:20
von TomS
Licence geht genauso auf englisch
@LukasBanana: Mein erster Eindruck. Gut gemacht.

Richtig zufrieden bin ich, wenn ich es schaffe eine eigene kleine Welt zu bauen. Das wär echt ne super Sache (das mit 3D in Ogre/Irrlicht hab ich nicht so raus).
Ich hoffe du bekommst das mit diesen schwarzen Stellen noch. Das wär echt cool. Weiter so