3D in Bild rendern
Übersicht BlitzBasic Blitz3D
pirahniBetreff: 3D in Bild rendern |
So, Jan 08, 2012 13:26 Antworten mit Zitat |
|
---|---|---|
Hallo Leute,
nach einiger Zeit kehre ich also wieder zurück und niemand hat meine Abwesenheit bemerkt Egal! Ich komme heute mit einem Anfängerproblem zu euch, was wahrscheinlich daran liegt, dass ich im Umgang mit Blitz3D nicht mehr so gut bin. Ich möchte ein Objekt aus vielen Perspektiven (gedreht immer in 22,5° Schritten) in einem Bild haben. Das Objekt ist eine Kugel. Ich habe mir dazu dieses Programm geschrieben, welches jedoch so ziemlich keine der geplanten Funktionen erfüllt. (Es gibt nur ein einziges gerendertes Bild und der Hintergrund ändert die Farbe nichtmal) Code: [AUSKLAPPEN] Graphics3D 640,480,32,2
camera = CreateCamera() PositionEntity camera,0,0,-5 tex=CreateTexture(512,512) ;Textur erzeugen SetBuffer TextureBuffer(tex) For i=0 To 255 Color 255, 255-i, 255-i If (i=127) Or (i=255) Or (i=0) Then Color 0,0,0 Line i,0,i,512 Line 512-i,0,512-i,512 Next Color 0,0,0 Line 0,127,512,127 Line 0,128,512,128 ;Bilder erzeugen img=CreateImage(256*16, 256*16) imgklein=CreateImage(256, 256) ;Kugel erzeugen sphere=CreateSphere() EntityTexture(sphere, tex) For i=0 To 15 For j=0 To 15 ;Kleines Bild rendern SetBuffer ImageBuffer(imgklein) RotateEntity(sphere, 360/16*i, 360/16*j, 0) ClsColor Rand(128),Rand(128),Rand(128) RenderWorld() ;Großes Bild zusammenfügen SetBuffer ImageBuffer(img) DrawImage imgklein, i*256, j*256 Next Next ;Auf Bildschirm zeichnen SetBuffer FrontBuffer() DrawImage img,0,0 ;SaveBuffer ImageBuffer(img), "X:/bla.png" Über Hilfe bin ich sehr dankbar. |
||
Propellator |
So, Jan 08, 2012 14:22 Antworten mit Zitat |
|
---|---|---|
1) ClsColor ändert die Farbe von Cls, du führst Cls jedoch nie aus.
2) Zum debuggen, speichere mal alle Bilder in ein Array |
||
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis. |
ZEVS |
So, Jan 08, 2012 14:29 Antworten mit Zitat |
|
---|---|---|
Bei dieser Gelegenheit sei auf CameraClsMode/CameraClsColor hingewiesen. Die normale CLS-Color wird in deinem Code einfach überschrieben... | ||
Midimaster |
So, Jan 08, 2012 14:53 Antworten mit Zitat |
|
---|---|---|
ich habe es mal statt mit dem Buffer mit GrabImage versucht. Dabei hat sich gezeigt, das die echte 3D Kugel viel zu weit in der Mitte sitzt, als dass sie im imgklein beim Rendern erscheinen würde:
BlitzBasic: [AUSKLAPPEN] For i=0 To 15 dadurch, dass jetzt das Foto ab 250/200 geschossen wird ist auch was drauf! |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
pirahni |
So, Jan 08, 2012 15:55 Antworten mit Zitat |
|
---|---|---|
Ich danke allen (insbesondere Midimaster) für die Hilfe. Funktioniert jetzt. Danke | ||
ZaP |
So, Jan 08, 2012 16:20 Antworten mit Zitat |
|
---|---|---|
Interessant hierzu wäre vielleicht auch noch CopyRect. | ||
Starfare: Worklog, Website (download) |
Übersicht BlitzBasic Blitz3D
Powered by phpBB © 2001 - 2006, phpBB Group