HLC SoftPixel Mini 3D Engine

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
LukasBanana
Beiträge: 150
Registriert: 14.03.2007 19:13
Kontaktdaten:

HLC SoftPixel Mini 3D Engine

Beitrag 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]
Zuletzt geändert von LukasBanana am 24.03.2008 18:31, insgesamt 11-mal geändert.
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

Hallo Lukas, ...

mein erster Eindruck: Schick !!! :allright:

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.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: HLC SoftPixel Engine (SoftwareRenderer)

Beitrag 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.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@LukasBanana
Ich hab deine Engine gestetet und finde es :allright:
Wäre schön, wenn du deine Engine immer fleißig erweiterst :wink:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Re: HLC SoftPixel Engine (SoftwareRenderer)

Beitrag 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).
Benutzeravatar
Daniel P.
Beiträge: 333
Registriert: 06.12.2005 21:49
Kontaktdaten:

Beitrag von Daniel P. »

:shock: *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 :mrgreen:

BTW wenn's dir nur um den schnellen Download geht: www.rapidshare.com
Gruß, Daniel :? | In der Realität ist die Wirklichkeit ganz anders...

PB 4.10 (Windows XP SP 2)
Benutzeravatar
LukasBanana
Beiträge: 150
Registriert: 14.03.2007 19:13
Kontaktdaten:

Beitrag 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?! <)
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag 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).
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Auf deutsch heißt es "Lizenz" und auf englisch "License", 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 :oops: )
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Licence geht genauso auf englisch

@LukasBanana: Mein erster Eindruck. Gut gemacht. :allright: 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
Antworten