MP3D Alpha 32

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
super_castle
Beiträge: 557
Registriert: 29.11.2005 15:05

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von super_castle »

Im nächten Update wird daher der Befehl
MP_MeshSetParent (Entity, Parent) ; Setzt für eine Entity ein Parent
integriert.
:bounce:

Jup , danke. Klasse..... :D :D :D


Ist wieder wie Weihnachten, wir warten auf's :
"Entity-Kind".
Ich freue mich schon auf die neue Version!
Zuletzt geändert von super_castle am 29.12.2009 18:44, insgesamt 2-mal geändert.
super_castle
Beiträge: 557
Registriert: 29.11.2005 15:05

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von super_castle »

Woran liegt das,? Wenn ich das 3dWindows als Minus setze im Screen wird das 3dWindows nicht mehr korrekt dargestellt.

Gruss
super_castle
Beiträge: 557
Registriert: 29.11.2005 15:05

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von super_castle »

Schaltet zwischen BackBuffer und FrontBuffer um, damit die Zeichnungen dargestellt werden können
Dieses steht bei dir in der Beschreibung, weil du sagtest es gibt kein "Backbuffer".

Wenn "MP_Flip()" Daten nach vorn holt, warum kann ich die dann nicht umlenken , dahin, wo ich sie haben möchte , dann bräuchte man dieses "BitBlt" nicht. Ich mag das BitBlt" nicht so, ausser ich kann auf "hdc2" zugreifen.


Gruss
Zuletzt geändert von super_castle am 29.12.2009 18:35, insgesamt 1-mal geändert.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von Kiffi »

@super_castle:

Mehrfachpostings vermeiden!

Es gibt einen Edit-Button!


(und das mit dem korrekten Zitieren üben wir dann auch noch...)
Hygge
Andesdaf
Moderator
Beiträge: 2660
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von Andesdaf »

ich füg noch was hinzu:

Bitte zitiere mit quote-Button und nicht mit Fettschrift!
hoppla steht ja schon - aber zu klein
Win11 x64 | PB 6.00 (x64)
Benutzeravatar
mpz
Beiträge: 497
Registriert: 14.06.2005 15:53
Computerausstattung: Win 10 Pro, 16 GB Ram, Intel I5 CPU und TI1070 Grafikkarte, PB 5.73 / 6.00 beta4
Wohnort: Berlin, Tempelhof

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von mpz »

Hi super_castle,

gut da habe ich mich missverständlich ausgedrückt. Man kommt bei DX9 nicht direkt an den BackBuffer und FrontBuffer ran wie z.B. bei DX7. Man muss daher entweder statt auf einem Bildschirm gleich in eine Textur rendern oder kann auch den (doch vorhanden) Front oder Backbuffer in eine IDirect3DSurface9 kopieren. Ein direktes Auslesen etc ist mir nicht bekannt. Die Buffer liegen wahrscheinlich im Speicher der Grafikkarte und kann daher nicht direkt gelesen/verändert werden. Den BitBlt_ Code habe ich der einfachhalber genommen...

Was genau gibts Du denn bei welchem 3dWindows Befehl ein und was genau soll denn eine negativer Wert nach Deiner Meinung bewirken?!? Ich habe nicht in allen Befehlen eine Abfrage von fehlerhaften Werten eingebaut weiß allerdings im Moment auch nicht genau was Du meinst...

Gruß Michael
Working on - MP3D Engine -
super_castle
Beiträge: 557
Registriert: 29.11.2005 15:05

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von super_castle »

Hier lasse ich es im MP_Viewport laufen.
Wenn ich x jetzt auf -150 setze,setzt eine Bildstarre ein mit Streifen im Viewport ein, statt nur ein Teil des Viewport zu zeigen.

Gruss

Code: Alles auswählen

MP_Graphics3D (800,600,0,3)
SetWindowTitle(0, "Einfache Physik mit Cubes")
MP_Viewport(-150,10, 650,510) 

camera=MP_CreateCamera()

light=MP_CreateLight(1)

Max = 30 ; Was der Rechner kann = ?

Dim wuerfel(Max) 
Dim x(Max)
Dim y(Max)
Dim z(Max)

For n = 0 To Max

    wuerfel (n) = MP_CreateCube()

    MP_EntitySetColor (wuerfel (n),RGB(Random(255),Random(255),Random(255)))

    MP_PositionEntity (wuerfel(n),10-Random(20),10-Random(20),10+Random(40))
    x(n) = Random (20)/10
    y(n) = Random (20)/10
    z(n) = Random (20)/10
    MP_EntitySetGravity(wuerfel(n), 0,-1 ,0)
    MP_EntitySetVelocity(wuerfel(n), Random (1000)/100-5, Random (1000)/100-5,Random (1000)/100-5,0) ; Letzter Paramter = 0.1 testen 
    MP_EntitySetPhysik(wuerfel(n), 1 , 0.8 , 0.005 )
    
Next n


While Not MP_KeyDown(#PB_Key_Escape) And Not MP_WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder schliessen
     MP_DrawText (2,2,Str(MP_FPS())) 

     For n = 0 To Max
        MP_TurnEntity (wuerfel (n),x(n),y(n),z(n))
     Next n

     MP_UpdateWorld() 
     MP_RenderWorld ()
    MP_Flip ()

Wend


super_castle
Beiträge: 557
Registriert: 29.11.2005 15:05

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von super_castle »

...Backbuffer in eine IDirect3DSurface9 kopieren.
Wie mache ich das mit dem Backbuffer, das Kopieren einer Textur.

Gruss
super_castle
Beiträge: 557
Registriert: 29.11.2005 15:05

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von super_castle »

MP_MeshSetParent(Mesh2,Mesh)
Wie sieht es mit
MP_SpriteParent(sprite2,sprite)
aus? :)
Müsste dann doch auch machbar sein für 2D oder? Ist auch sehr interessant für den Spieleprogrammierer.
War für mich immer ein graul, das als Sprite zu machen.

Meine Zwischenlösung is es unter GDI zu machen und das gedrehte Parent-Bild in ein Sprite zu kopieren, weil ich da nur auf PixelKollision unter Purebasic prüfen kann.
Wie kann man den Drehpunkt "einfach" verlagern für ein Sprite bei dir?
Gruss
Zuletzt geändert von super_castle am 29.12.2009 18:34, insgesamt 3-mal geändert.
Benutzeravatar
mpz
Beiträge: 497
Registriert: 14.06.2005 15:53
Computerausstattung: Win 10 Pro, 16 GB Ram, Intel I5 CPU und TI1070 Grafikkarte, PB 5.73 / 6.00 beta4
Wohnort: Berlin, Tempelhof

Re: MP3D Alpha 18 Lib zu Weihnachten

Beitrag von mpz »

Hi,

zu Deinen Fragen:

Der MP_Viewport bildet auf einem Windows ein (Teil-)Bereich ein 3D Fenster ab. Das 3D Fenster muss vollständig dargestellt werden. Ein Windows hat aber keine negativen Koordinaten sondern nur immer positive. Demnach kann man auch nur positive Werte eingeben. Hier hatte ich ja die Frage gestellt: Was soll denn der negative Wert bewirken, bzw welchen Zweck haben diese ?!?!

Backbuffer in Textur:
Ich habe gerade mal etwas rumgespielt und einen Code mit Backbuffer -> Textur fertig gestellt. Der Code ist aber nicht so schnell wie der BitBlt_ Code. Das Rendern in eine Textur ist aber wesendlich schneller und daher der sinnvollere Weg. Wenn ich fertig bin kann ich den Code mit dem Backbuffer zeigen...
http://msdn.microsoft.com/en-us/library ... S.85).aspx

Sprite
Hier kann ich die Idee mal aufgreifen und sehen ob das machbar ist. Auch ich drehe Sprites und habe das Problem der Pixelkollission bei gedrehten Sprites. Ich habe allerdings einen C-Quellcode gefunden der das Problem löst und den ich übersetzen und integrieren möchte. Ist aber alles eine Frage der Zeit (die man nicht hat...)

Gruß Michael
Zuletzt geändert von mpz am 31.12.2009 03:34, insgesamt 1-mal geändert.
Working on - MP3D Engine -
Antworten