The Wayback Machine - https://web.archive.org/web/20070906093632/http://blitzbasic.pytalhost.de:80/viewtopic.php?t=10&sid=25acd9d4cfa3511c5192941ea88bdb94
[B3D] Draw3D V.2.12

 
Neues Thema eröffnen   Neue Antwort erstellen    Projekt Thunderbolt Foren-�bersicht -> Draw3D (by hectic)
Vorheriges Thema anzeigen :: N�chstes Thema anzeigen  
Autor Nachricht
hectic
Moderator
Moderator


Anmeldedatum: 28.07.2007
Beitr�ge: 30

BeitragVerfasst am: Sa, 28.7.07 18:03     Titel: [B3D] Draw3D V.2.12 Antworten mit Zitat

Was ist die Draw3D ?

Draw3D.bb ist ein kleiner Befehlssatz der gewohnte 2D-Befehle in schneller 3D-Grafik darstellt und gewisse visuelle Vorteile (zB Alphatransparenz, Echtzeit Rotation, Echtzeit Skallierung) mitsich bringt. Dabei wird - sowei m�glich - alles als Singlesurface im Hintergrund abgearbeitet. Es k�nnen zudem eigene Bitmap-Schriftarten oder Images erstellt und geladen werden.

Download der Library gibt es hier:
http://www.hectic.de/data/Draw3D.V.2.11.rar
http://www.hectic.de/data/Draw3D.V.2.12.rar


edit: V.2.12 Probleme mit diversen Picked-Anendungen in eigenen Projekten behoben. Zudem ist als Button deklariertes Text3D oder DrawImage3D hiermit wesentlich schneller.

Beigelegte Beispielcodes

Draw3D example1, Native Testing.bb
Klicken für Vollbild.

Draw3D example2, Text3D demonstration.bb
Klicken für Vollbild.

Draw3D example3, Image3D demonstration.bb
Klicken für Vollbild.

Draw3D example4, Image3D demonstration.bb
Klicken für Vollbild.

Draw3D example5, Creating a simple menue.bb
Klicken für Vollbild.

Draw3D example6, Creating a simple menue.bb
Klicken für Vollbild.


Draw3D V.2.1 Befehlsliste

Clear3D()
Der wichtigste Befehl von allen! Mit diesen wird alles vorherige mit Draw3D gezeichnete gel�scht um wieder neu malen zu k�nnen. Am besten immer gleich nach RenderWorld rein stellen.

Origin3D( XGraphic%=*, YGraphics%=* )
Hier werden zwei Parameter erwartet, die die Wunschgr��e in X und Y angeben. Als Beispiel: Ich erstelle ein Men� oder sonstwas in 800x600 und der User m�chte aber in einer 1280er Aufl�sung arbeiten. Generell m�sste man nun selber alles skallieren und umrechnen oder dem User nur eine Aufl�sung zu Verf�gung stellen. Mit Origin3D() kann man nun seine eigene WunschX und WunschY einstellen, egal welche Aufl�sung per Graphics eingestellt ist. Auch sind verschiedene Formate m�glich zB 4:3, 16:9 etc...
XGraphic% = Wunsch-X-Bildschirmaufl�sung
YGraphic% = Wunsch-Y-Bildschirmaufl�sung
Wird dieser Befehl weg gelassen, so wird automatisch die Bildschirmaufl�sung genommen.

MouseX3D
Globale Variable hat den Wert der Draw3D-Maus-X-Koordinate. Update immer jeweils nach Clear3D().

MouseY3D
Globale Variable hat den Wert der Draw3D-Maus-Y-Koordinate. Update immer jeweils nach Clear3D().

Color3D( Red%, Green%, Blue%, Alpha#, Size# )
Setzt die Zeichenfarbe, Alpha und Strichst�rke aller Drawbefehle!
Red% = Rotanteil 0-255
Green% = Gr�nanteil 0-255
Blue% = Blauanteil 0-255
Alpha# = Alphawert 0-1
Size ist bei Plot3D, Line3D, Rect3D/Oval3D (mode=0), die Strichst�rke
Size ist bei DrawImage3D der Skallierungsfaktor (1=100%)
Size ist bei Text3D die Schrifth�he

ColorN3D( Red%, Green%, Blue%, Alpha#, Size# )
Setzt die Zeichenfarbe, Alpha und Strichst�rke nur f�r Plot3D, Line3D, Rect3D, Oval3D.
Das N kann man sich leicht f�r ''Native'' merken.

ColorT3D( Red%, Green%, Blue%, Alpha#, Size# )
Setzt die Zeichenfarbe, Alpha und Schrifth�he nur auf Text3D.
Das T kann man sich leicht f�r ''Text'' merken.

ColorG3D( Red%, Green%, Blue%, Alpha#, Size# )
Setzt die Zeichenfarbe, Alpha und Skallierungsfaktor nur auf DrawImage3D.
Das G kann man sich leicht f�r ''Graphic'' merken.

NativeInit3D( Mode%=3 )
Initialisiert die Nativen Drawbefehle f�r Plot3D, Line3D, Rect3D und Oval3D. Es kann also anhand der Initialisierungsreihenfolge gegen�ber LoadImage3D die Darstellungspriorit�t angegeben werden.
Mode% = Entspricht den CreateTexture Parameter [Modus].

Plot3D( XPos%, YPos% )
Setzt ein Punkt an X/Y -Position deren Gr��e vom Color(N)3D -Strichst�rke beeinflussbar ist.

Line3D( XPos1%, YPos1%, XPos2%, YPos2% )
Zeichnet eine Linie vom X1/Y1 -Startpunkt bis zum X2/Y2 -Zielpunkt. Die Liniendicke ist vom Color(N)3D -Strichst�rke beeinflussbar.
XPos1% = X-Startkoordinate
YPos1% = Y-Startkoordinate
XPos2% = X-Endkoordinate
YPos2% = Y-Endkoordinate

Rect3D( XCenter%, YCenter%, XSize%, YSize%, Mode% )
Zeichnet ein Rechteck deren - anders als im 2D-Befehl - Mittelpunkt und die X/Y -Ausbreitung angegeben wird.
XCenter% = X-Mitte
XCenter% = Y-Mitte
XSize% = X-Ausbreitung
XSize% = Y-Ausbreitung
Mode = 0 nur Rahmen (mit Strichst�rke aus Color(N)3D)
Mode = 1 Ausgef�llt

Oval3D( XCenter%, YCenter%, XSize%, YSize%, Mode% )
Zeichnet ein Oval deren - anders als im 2D-Befehl - Mittelpunkt und die X/Y -Ausbreitung angegeben wird.
XCenter% = X-Mitte
XCenter% = Y-Mitte
XSize% = X-Ausbreitung
XSize% = Y-Ausbreitung
Mode% = 0 nur Rahmen (mit Strichst�rke aus Color(N)3D)
Mode% = 1 Ausgef�llt

Text3D( Handle%, XPos%, YPos%, String$, XCenter%, Button% )
Schreibt beliebigen Text (Bitmapfont) auf dem Bildschirm.
Handle = Der Handle der beim laden des Bitmapfonts (LoadImage3d) angegeben wurde
XPos% = X-Ausrichtung
YPos% = Y-Mitte
String$ = Textinhalt der angezeigt werden soll
XCenter = 0 ist links ausgerichtet
XCenter = 1 ist mittig ausgerichtet
XCenter = 2 ist rechts ausgerichtet
Button = 1 macht aus dem String ein Button. Wird mit der Maus �ber den Text gefahren, so leuchtet dieser auf. Globale Variablen MouseOver3D, MouseDown3D und MouseHit3D k�nnen anschliessend weiter verarbeitet werden.

LoadImage3D( File$, Mode%, USize%=*, VSize%=* )
Mit diesem Befehl werden Schriftarten aber auch Images in den Grafikspeicher geladen.
File$ = Dateiname
Mode% = Wie auch die Modis bei LoadBrush auch
USize% = Die generelle X-Skallierung f�r UV-Mapping
VSize% = Die generelle Y-Skallierung f�r UV-Mapping
USize und VSize k�nnen einfach weggelassen werden (wird automatisch geregelt)

FreeImage3D( Handle% )
L�scht Bilder die zuvor mit LoadImage3D geladen wurden aus dem Speicher. Leider funktioniert diese Funktion bei mir nicht. Daher bitte ich jeden, der mir weitere Informationen geben kann, wie man es eventuell doch zum laufen bringen k�nnte!!!
Handle% = Der Handle der beim laden des Images (LoadImage3d) angegeben wurde

DrawImage3D( Handle%, XCenter#, YCenter#, UPos#, VPos#, USize#, VSize#, Button%=0, Rotation#=0 )
Mit DrawImage3D lassen sich Bildausschnitte einzeichnen.
Handle% = Der Handle der beim laden des Images (LoadImage3d) angegeben wurde
XCenter% = X-Mitte
XCenter% = Y-Mitte
UPos# = Die X-Startkoordinate im Bild selber
VPos# = Die Y-Startkoordiante im Bild selber
USize# = Die Breite der Bildausschnittes im Bild selber
VSize# = Die H�he der Bildausschnittes im Bild selber
Button% = 1 macht aus dem Image ein Button. Wird mit der Maus �ber den Image gefahren, so leuchtet dieser auf. Globale Variablen MouseOver3D, MouseDown3D und MouseHit3D k�nnen anschliessend weiter verarbeitet werden.
Rotation# = Die Rotationsposition des Images

MouseOver3D
Globale Variable ist 1, wenn die Maus �ber Text3D oder DrawImage3D ist und als Parameter ''Button=1'' angegeben wurde

MouseDown3D
Globale Variable hat den Wert der Maustaste(n), wenn die Maus �ber Text3D oder DrawImage3D gedr�ckt wird, und als Parameter ''Button=1''angegeben wurde

MouseHit3D
Globale Variable hat den Wert der Maustaste(n), wenn die Maus �ber Text3D oder DrawImage3D geklickt wurde, und als Parameter ''Button=1''angegeben wurde


Lizenz von Draw3D

Die Draw3D.bb und weitere dem Archiv beigelegte Dateien (au�er die ''sky402.png'' welche aber im neuem Archiv entfernt wurde) d�rfen frei verwendet werden. Es m�ssen keine ''Credits'' oder sonstige Eintr�ge in euren Projekten auf mich verweisen. Tut ihr dies trotzdem, so freue ich mich nat�rlich wenn auf www.hectic.de verwiesen w�rde. Benutzung der Draw3D.bb auf eigene Gefahr.


Viel Spa� mit der Draw3D w�nscht hectic. Wink

Nehme gerne Anregungen und Problemmeldungen bez�glich der Draw3D an, um die Draw3D stetig zu verbessern.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beitr�ge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Projekt Thunderbolt Foren-�bersicht -> Draw3D (by hectic) Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beitr�ge in dieses Forum schreiben.
Du kannst auf Beitr�ge in diesem Forum nicht antworten.
Du kannst deine Beitr�ge in diesem Forum nicht bearbeiten.
Du kannst deine Beitr�ge in diesem Forum nicht l�schen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Projekt Thunderbolt (C) Abrexxes & Shure_kyu