[B3D] Draw3D2 V.1.1 & SED & SGG

Übersicht BlitzBasic Codearchiv

Gehe zu Seite Zurück  1, 2, 3, 4

Neue Antwort erstellen

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Apr 22, 2011 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich auch machen wollen, nur das Problem ist dass auch CreateTexture nicht mehr von allen Systemen unterstützt wird. Daher ist so eine Funktion auf reiner Blitz3D-Basis zur Zeit nicht möglich. Da müsste ein Update von Blitz3D her, der das Problem beseitigt. Das ist auch der Grund, warum CopyImage3D und CreateImage3D in der Draw3D2 zwar komplett vorhanden, aber auskommentiert wurden. Es erscheint die Fehlermeldung ''DO NOT USE THIS COMMAND''. Denn beide arbeiten auf Basis von CreateTexture.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

TimBo

BeitragSa, Apr 23, 2011 11:27
Antworten mit Zitat
Benutzer-Profile anzeigen
okay das wusste ich nicht.

Code: [AUSKLAPPEN]
Local test = LoadImage3D("eins.jpg")



BlitzBasic: [AUSKLAPPEN]
Repeat
DrawImage3D(test,0,0)

UpdateWorld()
RenderWorld()

Clear3D()


WaitTimer(timer)
Flip(0)
Until KeyHit(1)



der FDrawMode ist doch standartmäßig auf die Cam gerichtet. Aber wenn meine Cam sich dann bewegt, dann bleibt die Textur trotzdem statisch an der einen Stelle liegen..muss ich evtl beim initialieren auf etwas Acht geben?

Danke schonma!
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Silver_Knee

BeitragSa, Apr 23, 2011 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst du eine Bitmap mit 1*1px mitliefern, die als Image laden, ResizeImage machen, abspeichern, als textur laden und dann als "CreateTexture" nutzen?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Apr 23, 2011 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
@TimBo, es ist richtig. Wenn eine Textur geladen wird, ohne Angabe von weiteren Parametern, dann wird diese Textur an die Camera geheftet. Es muss jedoch die selbe Camera sein, die mit DrawInit3D() initiiert wurde. Andere Kameras müssten dann wieder eigene Child-Pivots haben, die dann entsprechend vor die Kamera gesetzt sind und dessen Textur auf das Pivot verweist, geladen sein.

@Silver_Knee, ich hab mich nicht so sehr damit beschäftigt. Jedoch ist ResizeImage ein 2D-Befehl. Wenn, dann müsste es schon [i]ScaleTexture[i] sein, doch hier wird nicht die Auflösung geändert. Man kann aber sich Dummy-Texturen erstellen und in 2^n-Kantenlängen abspeichern welche dann geladen werden um entsprechend die Inhalte aus den nicht 2^n-Kantenlängen-Bildern einzeichnen. Umständlich jedoch.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

TimBo

BeitragSa, Apr 23, 2011 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
ja ich hab die richtige Camera angegeben. Kann es sein, dass ein Bild durch andere Meshs überdeckt werden könnten? Aber eigentlich ist reichlich Abstand zwischen der Camera und dem nächsten Surface...
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Silver_Knee

BeitragSa, Apr 23, 2011 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Jedoch ist ResizeImage ein 2D-Befehl.

ist genau meine Idee: Die 2D-Lib wird eh gestartet. Einfach mit nem 2D-Befehl die Image vergrößert.

Was auch geht ne Bitmap selbst schreiben. Ist nu nich der Große aufwand wenn nichts drin sein soll. Evtl geht dann auch ohne Inhalt PNG oder so einfach zu schreiben.

TimBo

BeitragSo, Apr 24, 2011 11:10
Antworten mit Zitat
Benutzer-Profile anzeigen
ok es liegt am Mesh, wenn ich das hide, dann erscheint das Bild genau an der richtigen Stelle. Und wie soll ich jetzt mein HUD umsetzen? EntityOrder versasgt ziemlich...
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Apr 25, 2011 1:21
Antworten mit Zitat
Benutzer-Profile anzeigen
HUDs die alles überdecken, sollten entsprechend mit Parametern gesetzt sein.

Edit1: LoadImage3D ( file$, mode%, blend%, pivot%, order% )

Je kleiner order ist, umso weiter vorne wird es gezeichnet und überdeckt andere mit geringerer Angabe.
  • Zuletzt bearbeitet von hectic am Di, Apr 26, 2011 0:16, insgesamt einmal bearbeitet

TimBo

BeitragMo, Apr 25, 2011 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
seit wann gibt man bei LoadImage3D ein Handle und Koordinaten ein?
HANDLE = LoadImage3D (file$ [, mode] [, blend] [, pivot])

aber auch bei DrawImage3D finde ich kein Order:
DrawImage3D (handle, x_pos#, y_pos# [, button] [, angle#] [, scale#] [, frame])


Schöne Ostern noch
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Apr 26, 2011 0:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, keine Ahnung wo mein Kopf war. Aber hinter deinem LoadImage3D-Beispiel kommt noch ein 5ter Parameter, der die Zeichenreihenfolge bestimmt. Standard ist 0.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

mDave

BeitragDi, Apr 26, 2011 11:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ist es möglich die nativen Befehle Oval3D, Rect3D auch im 3D-Raum zu zeichnen (Oval4D,Rect4D)?
Ist selbiges auch mit Text3D, also quasi ein Text4D möglich?

Ich möchte nämlich, dass z.B Namen von Spielern sowie ein Balken für aktuelle Trefferpunkte über den Köpfen der Spielermeshes sichtbar sind. Chrise's Extrafunktionen für die Draw3D2 sind im Großen und Ganzen recht gut dafür geeignet, allerdings wirft es ein Problem auf: Die Befehle zeichnen je nach Order vor bzw. hinter dem ganzen Trubel.

Liebe Grüße

TimBo

BeitragDi, Apr 26, 2011 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Je kleiner order ist, umso weiter vorne wird es gezeichnet und überdeckt andere mit geringerer Angabe.
Der Satz ist ja cool Laughing


Vielen Dank für deine Hilfe , jetzt müsste es funktionieren Very Happy


ES FUNKTIONIERT DANKE *.*
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Apr 26, 2011 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab die Idee von Chrise in der neuen Draw3D2 übernommen:

Es gibt zwei Varianten:

Automatisch aus einem Handle die X/Y-Position berechnen: CameraProjectEntity3D(FDrawHandle%,FDrawAdding%=0)
Aus X/Y/Z-Angaben die X/Y-Position berechnen: CameraProjectCoords3D(FDrawXP#,FDrawYP#,FDrawZP#,FDrawAdding%=0)

in beiden Fällen werden globale Variablen gesetzt mit denen man weiter arbeiten kann:

ProjectedX3D
ProjectedY3D

- - -

Um dein Problem zu erledigen kann man auf einem einfarbigen Font (ohne Borderlines etc...) ausweichen und dessen Transparenz entsprechend der Entfernung der Gegner anpassen.

Beispiel (on the fly):

Transparenz# = 1.0 - (EntityDistance (Camera, Gegner)) / 100.0

oder man sortiert selbst eine Liste und zeichnet diese der Reihe nach. Später eingezeichnete Infotafeln überdecken vorherige.

Man könnte jedoch auch zu jedem Spieler ein Pivot erstellen auf welche man einen Fontsatz zzgl. Bildelemente für die Infotafel lädt. Das Pivot der Gegner wird immer auf die eigene Kamera gerichtet und die Infotafel gezeichnet. Vorteil: Die Schrift wird automatisch kleiner, je weiter der Gegner weg ist um den Bildschirm nicht unnötig zu überfüllen. Sortierung kommt dann von alleine. Das man einen Font entsprechend mehrfach lädt sollte kein Problem darstellen, da Blitz3D intern die selbe Textur mehrfach geladen optimiert abspeichert. Es wird also nicht unnötig viel Grafikspeicher verballert.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Pousup

BeitragDi, Mai 03, 2011 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

irgendwie komm ich mit dem InviteSGG-Befehl nicht klar. Er lädt die Dateien nicht, wenn ich einen Unterordner angebe, sondern nur, wenn die Dateien im selben Ordner wie die .bb-Datei liegt.

Code: [AUSKLAPPEN]
Global sgg_list = AddingSGG(sgg, SGGROSTER, 0, -75, "", 0, 80)

InviteSGG(sgg_list, "txt", 0, "maps")


Was mache ich falsch? Confused
www.mikes-frittenbude.blogspot.com Gaming, Musik, Lifestyle & mehr

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Mai 04, 2011 0:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei mir gehts. Welche Draw3D2 -Version hast du?

Im Update von V.1.0 auf V.1.1 sind u.a. auch diese Sachen gemacht worden.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Pousup

BeitragMi, Mai 04, 2011 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, ja ich hab noch die V1.0, teste ich direkt mal aus!

Edit: Super, klappt! Danke!
www.mikes-frittenbude.blogspot.com Gaming, Musik, Lifestyle & mehr
 

SvenDjo

BeitragDi, Mai 01, 2012 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
hectic hat Folgendes geschrieben:
Also bei mir gehts. Welche Draw3D2 -Version hast du?

Im Update von V.1.0 auf V.1.1 sind u.a. auch diese Sachen gemacht worden.

Habe mir schon gedacht, dass es versionsbedingte Probleme waren. Ohje...gerade heute habe ich mir vorgenommen, nach langer Zeit mal weiterzumachen. Danke für den Tipp.

Grüße

Sven
Mobilspionage

Gehe zu Seite Zurück  1, 2, 3, 4

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group