CreateImage3D Bild verschwindet einfach [gelöst]

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

TimBo

Betreff: CreateImage3D Bild verschwindet einfach [gelöst]

BeitragMo, Jul 28, 2008 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich bin dabei mein game mit zoom effecten etc. aufzurüsten und gehe nun auf D3D über.
Das problem ist jetzt, das die Map, welche mit createimage3d gemacht wurde nur kurz erscheint und
dann einfach verschwindet.

Code: [AUSKLAPPEN]


Select ReadByte(strmgame)
      
      Case 2 ;Map wird vom Server zum Client geschickt

         imgmap=CreateImage3D(13,4);Map ist 5k auf 5k pixel groß
         onlockbuffer3D(imgmap)
         For i=0 To 99
            For ii=0 To 99
               map(i,ii)=ReadByte(strmgame)
               DrawImage3D tile,i*50,ii*50 ;später kommen weitere Tiles dazu
            Next
         Next
         UnlockBuffer3D(imgmap)
      End Select
   
   If map(0,0)<>0 Then DrawImage3D imgmap,0,0


bitte helft mir, ich komme einfach nicht weiter!

Vielen Dank
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.
  • Zuletzt bearbeitet von TimBo am Di, Jul 29, 2008 13:39, insgesamt einmal bearbeitet

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jul 29, 2008 0:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Textur die du da erstellst ist 8192x8192 Pixel groß (2^13 = 8192^2 [quadrat] * 4 [ARGB] / 1024 [auf KB] / 1024 [auf MB]) und benötig allein bereits schon 256 MB an Grafikspeicher. Selbst wenn es bei dir mal funktionieren würde, hätten die meisten (ich schätze mal so um 95% der Normalbürder) keine Chance es anzeigen zu können. Vermeide möglichst das benutzen von Texturen größer als 2048x2048. Also maximal CreateImage3D(11,4),
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Dreamora

BeitragDi, Jul 29, 2008 0:50
Antworten mit Zitat
Benutzer-Profile anzeigen
schon 2048 ist am Anschlag, denn ATI hatte das lange als maximalgrösse.

Auf einer Intel würd ich damit garnicht erst auffahren, du planst ja es in Echtzeit abzuspielen, nicht als Stop-Motion Film.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Silver_Knee

BeitragDi, Jul 29, 2008 1:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
         imgmap=CreateImage3D(13,4);Map ist 5k auf 5k pixel groß
         onlockbuffer3D(imgmap)
         For i=0 To 99
            For ii=0 To 99
               map(i,ii)=ReadByte(strmgame)
               DrawImage3D tile,i*50,ii*50 ;später kommen weitere Tiles dazu
            Next
         Next
         UnlockBuffer3D(imgmap)


Versuchst du damit auf die map zu malen? Wenn ja: so wird das sicher nix.

Entweder du malst tatsächlich alle tiles auf den Texture buffer (auf 2D Ebene), du Malst alle tiles in dem Main-Loop oder du lädst sie auf den freien Pivot, malst sie einmal hin und stellt ClearOff3D für die Tiles ein.

TimBo

BeitragDi, Jul 29, 2008 11:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

stimmt das 5k x 5k ist etwas zu fett.
Wie war das mit ClearOff3D? In der BB-Hilfe steht, das man die Textur
nicht bewegen kann.
Ich hätte aber gerne, dass ich über die Map scrollen kann.
Geht es, wenn ich die Kamera bewege?

Danke für eure Hilfe ! Very Happy


Viele Grüße
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

BeitragDi, Jul 29, 2008 12:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
lädst sie auf den freien Pivot, malst sie einmal hin und stellt ClearOff3D für die Tiles ein.


Das meinte ich damit. Du bewegst die Cam und lädst alles auf den Hintergrundpivot.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jul 29, 2008 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, durch Kamerabewegung kannst du auch scrollen. Dann muß die Textur aber beim laden LoadImage3D oder beim erstellen CreateImage3D an das Worldpivot (letzter Parameter auf 1) gehängt werden. Ein Beispielcode findest du im Draw3D-Paket unter Draw3D, ClearOff3D, free moving.bb. Beachte nur, dass Buttons und Set/GetTexel3D auf der entsprechenden Textur nicht mehr richtig funktionieren. Kollisionen über Physix wiederrum sind kein Problem. Dazu gibt es das Physix, buggy driver.bb Beispiel.

Eine Textur die mit Pivot=1 geladen/erstellt wurde, gilt ihr Verhalten auch auf deren alle Teilbilder.

Edit1: Genau so, wie Silver_Knee beschrieben hat.

TimBo

BeitragDi, Jul 29, 2008 13:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

cool funktioniert alles.
Kann wegzoomen ranzommen und kann 8 Achsig Scrollen Very Happy
mit normal B2D wäre das zoomen in realtime unmöglich!

Vielen Dank @ all
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.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group