CreateImage3D -> Setbuffer3D ????
Übersicht

![]() |
TimBoBetreff: CreateImage3D -> Setbuffer3D ???? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich beschäftige mich gerade mit der UserLib Draw 3D. Es ist doch eine, oder? ![]() wie dem auch sei... ich habe da so ein komisches Problem. Ich habe eine Tilemap. Sie wurde mit den "normalen" 2D Befehlen so von mir gehandhabt... Global mapp=CreateImage(breite*50, hoehe*50) Zitat: SetBuffer ImageBuffer(mapp) For i = 1 To hoehe For ii = 1 To breite ; male Bilder Next Next SetBuffer BackBuffer() so wie kann ich das nun mit Draw3D machen? Zitat: UnLockBuffer3D(mapp2%)
For i = 1 To hoehe For ii = 1 To breite ;male Bilder Next Next OnLockBuffer3D(mapp2%) das will nicht Funktionieren! kann man somit eigentlich nur Punkte oder auch Bilder einzeichnen... ![]() mfg Intel Core 2 Duo |
||
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. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn du eh bilder malen willst kannst du auch bei 2D bleiben, wird nämlich nicht schneller werden mit 3D ... davon abgesehen das du DrawImage nur auf ne Textur anwenden darfst die keine Alpha oder Mask flag gesetzt hat (beides alpha), denn dann stimmt das Datenformat net überein. (frühere Treiberversionen erlaubten das, da heutige Karten jedoch keine fixed Pipeline mehr haben und das durch Shader emuliert wird, hält man sich nun an DX7 Standards) | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab halt viele bilder, die ich rotieren möchte... und das würde langes Laden verursachen ![]() ich habe daraufhin gesagt bekommen, dass ich alles mit Draw3D machen soll =) geht dass auch mit 2D eine Echtzeitrotation hinzulegen? ![]() |
||
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. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jain. TFormFilter False wird die Performance um einiges erhöhen. So schnell wie 3D: nein
Wenn du viele Bilder hast dann lad die Bilder direkt statt sie irgendwo rein zu zeichnen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
das zwischenspeichern geht ja gerade nicht... zu viele Bilder, die Berechnet werden müssen ![]() mehr als 30.. wie lange würde das ca. dauern berechnen zu lassen? also ich mache das so: Zitat: DrawImage laden,512,384 ;Ladebild
For i = 1 To 180 gegner1(i-1)=CopyImage (gegner1one) RotateImage gegner1(i-1), (i-1)*2 Chara(i-1)=CopyImage (charaone) RotateImage Chara(i-1), (i-1)*2 DrawImage pix, i+10, 50 ;Ladebalken Next FreeImage laden ;das ladebild brauchen wir nicht mehr! FreeImage charaone ;nachdem Charaone 360x Kopiert wurde, brauchen wir das Original nicht mehr Viele Grüße Intel Core 2 Do |
||
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. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und jetzt?
In 3D ist das genau 1 Bild, seh das Problem net Es scheint als würdest du die grundlegende Idee warum du überhaupt 3D verwenden könntest, garnicht erst verstehen. moved - is mir vorher net aufgefallen, dass es im 2D liegt. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
- Zuletzt bearbeitet von Dreamora am Mi, Jan 30, 2008 23:09, insgesamt einmal bearbeitet
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Irgendwie verstehe ich dein Probelm nicht.
Du möchtest mehrere Bilder laden und diese im Programm um 360 rotieren lassen. Schön und gut, im 2D Modus musst du alle Bilder laden und jeweils in einem Array mit 360 Einzelbildern speichern. Wenn du Draw 3D benutzt, lädst du auch jedes Bild, musst aber von diesen keine 360 Einzelbilder anlegen, sondern einfach nur mit den Rotationsbefehlen drehen. Das wäre auf jeden Fall die bessere Variante, es ist zum einen schneller und auf der anderen Seite verbraucht es weniger Resourcen |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja genau ![]() ich schaffe es nicht mit Draw3D zu machen, da ich die Tile Map nicht vorberechnet bekomme... siehe erster post. ![]() mfg Intel Core 2 Duo |
||
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. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du kannst sie nicht vorberechnen ...
Brav Tile für Tile zeichnen. wenn dir das nicht effizient genug ist musst du direkt mit blitz3D und den Mesh - Surface - AddTriangle - AddVertex befehlen arbeiten um dir "statische" Meshes zu machen fürs tile system so das alle zeichenbefehle mit einer textur einfach zu einem mesh kombiniert werden. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Draw3D ist keine Userlib, sondern eine Funktionssammlung. Es ist aber eine Userlib beigefügt, die dem Editor das highlighting der neuen Befehle (Funktionen) beibringt. Diese Userlib ist für die Funktionsweise der Draw3D nicht notwendig, aber für den Programmierer sehr hilfreich.
Ich muß allerdings gestehen, dass ich bis zum Schluss nicht ganz verstanden habe, was du eigendlich willst. Daher mal ein paar Fragen: - Willst du nur einzelne Images drehen? Dann mache es direkt mit dem DrawImage3D -Parameter (DrawImage3D Handle, XCenter#, YCenter#, Button, Angle#, Scale#, Frame) - Willst du die ganze Map drehen, also eine Kameradrehung? Dann warte auf die V.3.1 - oder du hast die ja schon, wie ich an den Befehlnamen sehe - und lade die Bilder mit LoadImage3D dem Parameter (LoadImage3D ImageFile$, Mode, Blend, Pivot) und setze da eine 1 rein. Danach kannst du mit der Kamera (CreateCamera) schon durch deine erstellte Map fliegen und drehen, ohne irgendwelche Berechnungen selbst durch zu führen. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ne er versucht das "Precalculate" von 2D (sprich alle Tiles in ein Image zeichnen das man danach nutzt statt 100 einzelne Tiles jedes frame zu zeichnen) in 3D umzusetzen, zumindest so wie ich das verstehe.
Was nicht gehen wird solange er die meshes net selbst aufbaut (oder Draw3D addmesh supported ... obwohl wenns effizient arbeitet müsste es eigentlich das was ich oben beschrieben habe prinzipiell machen, rein vom single surface gedanken her ... ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() genau ich versuche in ein Image alle Tiles reinzuspeichern, genau wie Dreamora sagte... ich weiß aber nicht, wie ich das mit Draw3D umsezten kann... sorry ich habe keinerlei Ahnung von 3D ![]() @Dreamora: könntest du das bitte genauer erklären... wie gesagt ich wollte das ganz simple wie in 2D machen, aber in 3D muss ich dann mit Meshs arbeiten , was ist das? Viele Grüße Intel Core 2 Duo |
||
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. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Tut mir leid das sagen zu müssen, aber lass das mit 3D lieber bis du mehr Erfahrung hast und seis nur im "Benutz die Hilfe, die ist nicht aus Spass da" Sektor. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group