Aktuelle Zeit: 14.08.2018 21:21

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 66 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 7  Nächste
Autor Nachricht
 Betreff des Beitrags: Drawing3D - Draw-Befehle für 3D-Szenen
BeitragVerfasst: 23.03.2010 19:13 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Dieses Include ist eine Erweiterung der Drawing-Library um Linien, Dreicke, Flächen oder ganze Körper im dreidimensionalen zu zeichnen. Das ganze basiert auf reinen Drawing- und CPU-Befehlen, sodass keine zusätzlichen DLLs oder Anforderungen an die Grafikkarte nötig sind. Das Include soll nicht als 3D-Engine benutzt werden (dafür ist es zu langsam), sondern dient zum Rendern von kleinen Szenen.

Drawing3D.zip
Enthält das Inlcude, eine Demo und fünf Beispiele.

Allgemein kann ich noch dazu sagen:
  • Mit StartDrawing3D() : StopDrawing3D() wird die Umgebung geöffnet.
  • Als Normal ist alles so eingestellt, dass die Angaben in den Positionen echte Pixel sind (von Breite und Höhe)
  • Mit Drawing3DMode() kann ich #Drawing3D_Outline oder #Drawing3D_Default auswählen
  • Drawing3DPosition() und Drawing3DRotation() ändern Position und Rotation der Szene
  • Alle Farbangaben sind immer in 32-Bit anzugeben ($FF00FF00 für Grün)
  • Drawing3DBackground() Füllt die Umgebung mit der angegebenen Farbe. (wenn der Alphawert 0 ist, ist der Hintergrund echt Transparent, nützlich bei 32-Bit-Images)
  • Drawing3DLight() setzt ein Licht (mit der Angabe woher es kommt) in die Szene
  • DrawPoint3D(), DrawLine3D() und DrawTriangle3D() zeichnet ein Punkt, Linie oder Dreick (jeweils mit Vertexfarben)
  • bei DrawPlane3D(), DrawImage3D() und DrawBox3D() wird nur Position, Größe und Rotation angegeben.
  • CreateImage3D() erstellt ein Image3D aus dem Image

Hier ein Beispiel einer Drawing3D-Szene mit transparentem Hintergrund.
Bild

_________________
Bild
 
BildBildBild


Zuletzt geändert von STARGÅTE am 26.12.2017 08:34, insgesamt 5-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - unfertiger Code für Drawing-Befehle im 3D-Ra
BeitragVerfasst: 23.03.2010 19:19 
Offline

Registriert: 19.09.2007 22:18
Sieht nützlich und gut aus - Danke.

_________________
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - unfertiger Code für Drawing-Befehle im 3D-Ra
BeitragVerfasst: 23.03.2010 23:40 
Offline
Benutzeravatar

Registriert: 18.04.2006 17:01
Wohnort: Bavaria
wow, aber echt he :)
super sache stargate :) daraus lässt sich was machen (meiner meinung nach pbosl character)
lg
walker

_________________
Max Aigner Projects


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - unfertiger Code für Drawing-Befehle im 3D-Ra
BeitragVerfasst: 25.04.2010 19:46 
Offline
Benutzeravatar

Registriert: 02.06.2008 21:29
Echt cool
Dickes Lob :allright:

Wie ich sehe, werden die primitiven Körper (Kugeln und Quader) hauptsächlich durch Line3D gezeichnet. Das schärfste wären nun 3D Bezier-Kurven, da ich gesehen habe, dass die Grüne Wellenform aus deinem Beispiel ab einer bestimmten Entfernung nur aus Punkten besteht.

Ansonsten ist diese Befehlssammlung gut fürs Zeichnen von kleinen 3D-Veranschaulichungen. :)

_________________
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - unfertiger Code für Drawing-Befehle im 3D-Ra
BeitragVerfasst: 24.08.2010 14:04 
Offline
Benutzeravatar

Registriert: 23.12.2005 12:41
Wohnort: München
Danke, du blöder Bot. Letzte Woche hab ich mit so was angefangen und dabei liegt hier schon was seit Monaten rum. :lol:
Das Beispiel schaut nett aus, STARGÅTE :allright:

_________________
BildKarte der Pureboard-Mitglieder


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Demo für das kommende Include
BeitragVerfasst: 21.09.2012 14:23 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Tachchen,

nach langer Zeit hab ich mich mal wieder an meinen alten Code gesetzt und Drawing3D ein Update verpasst.
Das Include ist noch nicht fertig, aber da ich gerade "Pause" mache, möchte ich euch trotzdem mal eine Demo zukommen lassen:
BildBildBild

  • Im neuen Include ist es nun möglich auch Flächen darzustellen zu lassen, (Triangle3D, Plane3D).
  • Drawing3D besitzt nun einen Z-Buffer der auch bei transparenten Pixel für das richtige Alphablending sorgt.
  • Es können Lichter platziert werden (aktuell aber nur aus welcher Richtung sie strahlen)

Mir ist durchaus bewusst, das eine Grafikkarte sowas im Schlaf erledigen würde. Aber es war nun mal mein Ziel das ganze auf Softwareebene zu schreiben nur mit Drawingbefehlen!

Hier könnt ihr euch die Demo angucken (schon mit unfertigem Include):
Drawing3D - Demo
Mit gedrückter Maus, könnt ihr die Ansicht drehen. Bitte wirklich ohne Debugger starten, ansonsten ist der Code sehr sehr langsam.
Der Code (vorallem das Zeichnen der Dreiecke) ist auch noch nicht optimiert (soweit das auf CPU-Ebene möglich wäre), daran arbeite ich aber. Außerdem soll es noch eine Art Container geben (Cluster3D) in den man dann "reinzeichnen" kann, sodass Sachen Gruppiert werden können.

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Demo für das kommende Include
BeitragVerfasst: 21.09.2012 17:29 
Offline

Registriert: 19.09.2007 22:18
Klasse! Bin schon gespannt auf die fertige Version. :allright:

Edit:
Ich denke aber, dass den Befehlen einen eigenen Präfix oder deutlichere Namen geben solltest, denn momentan ist die Verwechslungsgefahr mit den PB-internen, "echten" 3D-Befehlen sehr groß...

_________________
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Demo für das kommende Include
BeitragVerfasst: 21.09.2012 21:30 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Jo hab ich schon überlegt, aber die DrawingBefehle sind ja auch nur schlicht und einfach Line, Box, usw. statt DrawLine, DrawBox oder so ^^.
Aber ich kann es gerne zu DrawTriangle3D machen.

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Demo für das kommende Include
BeitragVerfasst: 22.09.2012 15:54 
Offline

Registriert: 19.09.2007 22:18
Oder einfach überall nur "Draw3D"?!
- StartDraw3D(), StopDraw3D()
- Draw3DFieldOfVision(), Draw3DCameraPosition() etc.
- PlotDraw3D(), LineDraw3D() etc.

... oder "3DD_" vorhängen:
- 3DD_Start(), 3DD_Stop()
- 3DD_FieldOfVision(), 3DD_CameraPosition() etc.
- 3DD_Plot(), 3DD_Line() etc.

Ja, ist schwierig da etwas gutes zu finden. :wink:

Mir persönlich würde wohl der Präfix am besten gefallen. Aber es ist natürlich vollkommen deine Entscheidung, schließlich sind Geschmäcker bekanntlich verschieden...

_________________
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drawing3D - Demo für das kommende Include
BeitragVerfasst: 22.09.2012 16:11 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
c4s hat geschrieben:
... oder "3DD_" vorhängen:
- 3DD_Start(), 3DD_Stop()
- 3DD_FieldOfVision(), 3DD_CameraPosition() etc.
- 3DD_Plot(), 3DD_Line() etc

Da bekommst Du aber Ärger mit den Syntaxregeln von Procedure- und Variablennamen :mrgreen:

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 66 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 7  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye