Drawing3D - Draw-Befehle für 3D-Szenen

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6994
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von STARGÅTE »

Je nach Funktion gibt es in den hinteren Parametern die Farbdefinitionen:

Code: Alles auswählen

DrawLine3D(X1, Y1, Z1, X2, Y2, Z2, Color1, Color2)
Ergibt eine Linie mit einem Farbverlauf von Color1 nach Color2, anzugeben im 32-Bit Modus, also in deinem Fall: RGBA(220, 0, 0, 255) und RGBA(0, 180, 0, 255)

Bei DrawTriangle3D() gibt es halt auch drei Fraben, für jede Ecke.

PS: Leider hab ich aktuell kaum Zeit zu programmieren, ein Update des Drawing3D-Includes ist aber (wie schon mal geschrieben) geplant und auch schon teilweise Fertig.
Vermutlich kann ich am Sonntag ein Update geben!
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6994
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von STARGÅTE »

Wie versprochen hier mal eine Test-Version des neuen Drawing3D-Module (ja es ist nun ein Module).
http://www.unionbytes.de/downloads/Draw ... 141109.zip

Neue Befehle sind u.a.:
  • DrawDisk3D()
  • DrawCylinder3D()
  • DrawText3D()
Zum darstellen von Kreisen, Zylindern und Texten.

Bitte das neue Include mit UseModule Drawing3D aufreufen.
Das Include arbeitet jetzt auch Teilweise mit SSE des Prozessors, was es etwas schneller macht.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von Danilo »

Danke für das Update!

Funktioniert so leider nicht mehr auf Mac OS X mit PB 5.2x LTS. Assembler-Fehler wegen dem lokalen Label (wurde in 5.3x geändert, glaube ich):

Code: Alles auswählen

! MOVUPS xmm2, [drawing3d.ll_blendcolor_packedfloatwith1]
Ohne SSE funktioniert es aber:

Code: Alles auswählen

#Drawing3D_SSE = #False
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6994
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von STARGÅTE »

Ja oke, es sollte dann auch mit SSE gehen, wenn du die DataSection "aus der Prozedur" rausziehst und die Zeile dann so änderst:

Code: Alles auswählen

! MOVUPS xmm2, [drawing3d.l_packedfloatwith1]
PS: Danke fürs testen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
silbersurfer
Beiträge: 174
Registriert: 06.07.2014 12:21

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von silbersurfer »

Super STARGÅTE :allright:
Wie versprochen hier mal eine Test-Version des neuen Drawing3D-Module (ja es ist nun ein Module).
Und Jetzt ist auch mein Fehler den ich dir beschrieben habe gefixt danke :praise:
Sorry Stargate,
Nach dem du vergrößert hast mußt du nochmal Rotieren. Danach kommt erst der Fehler !
Edit: Kann das bestätigen was Danilo beschreibt,auch unter Windows nicht
Funktioniert so leider nicht mehr auf Mac OS X mit PB 5.2x LTS. Assembler-Fehler wegen dem lokalen Label (wurde in 5.3x geändert, glaube ich):

Code: Alles auswählen

! MOVUPS xmm2, [drawing3d.ll_blendcolor_packedfloatwith1
mit der dir vorgeschagen änderung kommt es denn noch zu diesen Fehler, oder Ich habe was falsch verstanden mit SSE=false Klappt es auch auf Windows
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von derschutzhund »

Gibt es eigentlich eine Möglichkeit die Anzeige zu beschleunigen wenn die Zeichenelemente wie Linien etc. einmal geladen sind?
Im Augenblick arbeite ich eine Liste mit Elementen ab und zeichne dann bei jedem Drehen, Zommen etc. alles immer neu.
Die Frage ist jetzt ob das überhaupt erforderlich ist?
Also werden die Linien als Linien in einer Art Datenbank abgelegt oder werden die Linien sofort auf dem Bildschirm ausgegeben und stehen dannach nicht weiter zur Verfügung?
Hoffe, dass ist so verständlich beschrieben!

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6994
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von STARGÅTE »

Das langsamme ist ja nicht die 3D-Berechnung an sich.
Die Linien im 3D-Raum zu errechnen geht sehr schnell.
Langsam ist hingegen das Rendern der Pixel an sich.

Diese Pixel werden dann in einer "Datenbank" gespeichert,
um sie am Ende bei StopDrawing3D() in richtiger Reihenfolge zu zeichen.

Bitte bei der Verwendung immer daran denken, dass der Debugger aus sein sollte.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von funkheld »

Drawing3d kann nicht runtergeladen werden.
Domain fehlt .....

Danke.

Gruss
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6994
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von STARGÅTE »

Mein Server zieht gerade in ein schnelleres Rechenzentrum ... ich denke er wird morgen wieder erreichbar sein.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
tft
Beiträge: 605
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

Re: Drawing3D - Draw-Befehle für 3D-Szenen

Beitrag von tft »

Hallo,

es ist zwar schon lange her ... aber gibts da was neues.
Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Antworten