3D auf 2D Bild .. geht nicht ?!?
Übersicht

![]() |
Verge3000Betreff: 3D auf 2D Bild .. geht nicht ?!? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich habe ein Introbild und auf dem will ich ein 3D Objekt sich drehen lassen. Aber es funktioniert einfach nicht. Sobald ich ein Bild geladen habe auf dem Bildschirm, sehe es keine 3D Objekte mehr: Zitat: Function intro()
; ; Kamera einstellen ; kamera=CreateCamera() PositionEntity kamera,0,0,0 CameraClsMode kamera,0,1 titelbild=LoadImage("grafik\v-titelbild.jpg") spheremap=LoadTexture("grafik\v-spheremap.jpg",64+1) quader=CreateCone(30) EntityTexture quader,spheremap PositionEntity quader,0,0,1 While Not KeyHit(1) TurnEntity quader,-0.4,0,0 UpdateWorld RenderWorld DrawBlock titelbild,0,0 If KeyHit(28) Then Exit Flip Wend FreeEntity quader ; ; Intro endet ; End Function |
||
Woher soll ich wissen was ich denke, bevor ich höre was ich sage? |
furbolg |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Entweder DrawBlock vor Update und RenderWorld oder es geht nicht. | ||
![]() |
Verge3000 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Woohui. Wenn ich es vor UpdateWorld und so mache funktioniert es. Cool danke man! | ||
Woher soll ich wissen was ich denke, bevor ich höre was ich sage? |
![]() |
SlayerBetreff: Geht bei mir auch nicht :( |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmmmmm, wo mach ich hier einen Fehler ??
Das Drawblock/image kommt bei mir auch vor dem Update und Render world. Mir wird das Image aber nicht angezeigt. Code: [AUSKLAPPEN] Global w_x = 1024,w_y = 768,w_bit = 16,w_mode = 2 Graphics3D w_x,w_y,w_bit,w_mode SetBuffer BackBuffer() Include "scancodekey.bb" Global xx#,yy# Global gox# = 0.2,goy# = 0.2 Global image = LoadImage("mod/px2.bmp") Global box_red = LoadMesh("mod/joeg.b3d") ScaleEntity box_red,0.02, 0.02, 0.02 camera=CreateCamera() light=CreateLight(1,box_red) RotateEntity light,0,0,0 CameraProjMode camera,2 CameraZoom camera,0.1 While Not KeyHit(1) x = 0 y = 0 If KeyDown(k_oben) Then x = x-1.5 If KeyDown(k_unten) Then x=x+1.5 If KeyDown(k_links) Then y=y-1.5 If KeyDown(k_rechts) Then y=y+1.5 xx = xx + gox If xx > 10 Then gox = -0.111 If xx < -10 Then gox = 0.111 PositionEntity box_red,xx,yy,MeshDepth(box_red)*2 TurnEntity box_red,x,y,z DrawBlock image,0,0 ;--<<<<< ?????? UpdateWorld():RenderWorld() Flip:Cls Wend:End |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
- Zuletzt bearbeitet von Slayer am Do, Jul 01, 2004 22:53, insgesamt einmal bearbeitet
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
natürlich...zu zeichnest das bild auf den backbuffer, und renderst dann die 3D world drüber...logisch das man da nichts mehr von sieht ![]() stell dir das RenderWorld() wie ein screenshot vor, das über den ganzen bildschirm gelegt, und in jedem frame aktualisiert wird... |
||
![]() |
Slayer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Verdammt, sthe irgendwie auf dem Schlauch ![]() Ich versteh Dich schon, das Renderworld() rendert den Bildschirm macht ne art Screenshot, zeichnets in den Backbuffer() , übermalt meinen schönen hintergrund und nach dem flipen seh ich nur das Renderbild. soweit so gut, aber wie umgeh ich das ganze ? 3D ist für mich absolutes neuland. Geh jetzt erst mal eine Rauchen, vieleicht hilft das ![]() |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
was willst denn machen? | ||
![]() |
Slayer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Folgendes,
ich möchte mein OutbreakX (2D game) in 3D umsetzen. In 3D läuft das spiel ab, so ne art Crilion/Breakout mischung. Als Hintergrund möchte ich ein einfache 2D bild (bmp,jpg..) haben. Sonst müsste ich als hintergrund ne Box oder Plane? machen und das dann Texturien, das würde ja ansich dann mit Renderworld funktionieren. Denke ich mal ![]() Naja, ich Probier mich halt so in die 3D welt einzulernen, ist halt aber doch ein kleiner feiner unterschied. |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok. probiere folgendes:
erstelle ein leeres image in bildschirmgrösse (vor dem spielstart). und maskiere es mit 0,0,0 in der spielschleife nun folgendes: Code: [AUSKLAPPEN] ;3D-objekte verarbeiten
renderworld() ; 3D inhalt in das image kopieren CopyRect 0,0,graphicswidth(),graphicsheight(),backbuffer(),imagebuffer(backimage) ;jetzt dein 2D hintergrundimage zeichnen ;und jetzt dein image, das die 3D objekte enthält drawimage backimage,0,0 flip durch die maskierung des images müsste deine 3D szene durchsichtig werden, und nur die objekte sollten auf dem 2D hintergrund sichtbar sein. ungetestet! ![]() |
||
![]() |
Slayer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Arrggghhhhhhh.
Irgendwie hab ich im hintergrund gedacht das ich da was Transparent machen muss. Kopfauftischkannteknall. Ojay, Danke erst mal. Jetzt geh erstmal ne Runde schlafen und werd mir morgen einen Code dazu schreiben. Oh man, irgend wie halt doch wie in 2D. ![]() Wünsch Dir ne Gute Nacht. |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group