MP3D Engine Alpha 33

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
A.D.
User
User
Posts: 98
Joined: Tue Oct 06, 2009 9:11 pm

Re: MP3D Engine Alpha 32

Post by A.D. »

those two links seem to be corrupted, could you fix them, please?!
64 Bit libs for PureBasic\PureLibraries\Windows\Libraries\
http://www.flasharts.de/mpz/mp33_beta/lib64/Lib64.zip

64 Bit MP3D_lib for PureBasic\SubSystems\dx9\purelibraries\userlibraries\
http://www.flasharts.de/mpz/mp33_beta/d ... ibrary.zip
Repeat
PureBasic
ForEver
User avatar
Psychophanta
Addict
Addict
Posts: 4975
Joined: Wed Jun 11, 2003 9:33 pm
Location: Lípetsk, Russian Federation
Contact:

Re: MP3D Engine Alpha 32

Post by Psychophanta »

A.D. wrote:those two links seem to be corrupted, could you fix them, please?!
64 Bit libs for PureBasic\PureLibraries\Windows\Libraries\
http://www.flasharts.de/mpz/mp33_beta/lib64/Lib64.zip

64 Bit MP3D_lib for PureBasic\SubSystems\dx9\purelibraries\userlibraries\
http://www.flasharts.de/mpz/mp33_beta/d ... ibrary.zip
Rings wrote:
IceSoft wrote:
Last edited by mpz on Sat Aug 13, 2016 23:34, edited 22 times in total.
Also the mp3d forum is unavailable:
Is it dead? :(
seems so, last visit of this forum from mpz: was Sun Aug 14, 2016 00:43

another closed lib passsing away ...
http://www.zeitgeistmovie.com

While world=business:world+mafia:Wend
Will never leave this forum until the absolute bugfree PB :mrgreen:
Saboteur
Enthusiast
Enthusiast
Posts: 271
Joined: Fri Apr 25, 2003 7:09 pm
Location: (Madrid) Spain
Contact:

Re: MP3D Engine Alpha 32

Post by Saboteur »

I followed installing instructions but I get error: MP_PositionCamera() is not a function, array, list map or macro.
Any clue about this?

I have PB 5.70 and Win10.
[:: PB Registered ::]

Win10 Intel core i5-3330 8GB RAM Nvidia GTX 1050Ti
User avatar
Psychophanta
Addict
Addict
Posts: 4975
Joined: Wed Jun 11, 2003 9:33 pm
Location: Lípetsk, Russian Federation
Contact:

Re: MP3D Engine Alpha 32

Post by Psychophanta »

Saboteur wrote:I followed installing instructions but I get error: MP_PositionCamera() is not a function, array, list map or macro.
Any clue about this?

I have PB 5.70 and Win10.
Of course.
There is not such a command like MP_PositionCamera.
MP3D uses Camera like an entity, so use MP_PositionEntity() instead.

For MP3D , mesh, primitives, animmesh, particleemiter, camera or light are all pure entities.

PD: look at the help file.
http://www.zeitgeistmovie.com

While world=business:world+mafia:Wend
Will never leave this forum until the absolute bugfree PB :mrgreen:
mpz
Enthusiast
Enthusiast
Posts: 494
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 32

Post by mpz »

Actualised version for windows only, see first page


Greetings MPz
Working on - MP3D Library - PB 5.73 version ready for download
User avatar
skinkairewalker
Enthusiast
Enthusiast
Posts: 627
Joined: Fri Dec 04, 2015 9:26 pm

Re: MP3D Engine Alpha 32

Post by skinkairewalker »

Awesome !!
thanks by revive this project <3
dige
Addict
Addict
Posts: 1247
Joined: Wed Apr 30, 2003 8:15 am
Location: Germany
Contact:

Re: MP3D Engine Alpha 32

Post by dige »

Thanks for the update. Unfortunately, the links do not work.
"Daddy, I'll run faster, then it is not so far..."
User avatar
Psychophanta
Addict
Addict
Posts: 4975
Joined: Wed Jun 11, 2003 9:33 pm
Location: Lípetsk, Russian Federation
Contact:

Re: MP3D Engine Alpha 32

Post by Psychophanta »

mpz wrote: Sun Oct 31, 2021 11:33 pm Actualised version for windows only, see first page


Greetings MPz
Nice.
No improvement or update at all?
http://www.zeitgeistmovie.com

While world=business:world+mafia:Wend
Will never leave this forum until the absolute bugfree PB :mrgreen:
mpz
Enthusiast
Enthusiast
Posts: 494
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 32

Post by mpz »

Hello to all,

@dige, only the first two links with the files are working (see first page)

@Psychophanta , yes there are improvments. I check it up and make a new help file for download on the first page. 0ne command i found is a new physic command "MP_CreatePhysicMeshfromPoints (count,Myvert(),12)". Here a litte piece of code:

Code: Select all

 
 
 
 CompilerIf Defined(D3DXVector3, #PB_Structure) = #False
  Structure D3DXVector3
    x.f
    y.f
    z.f
  EndStructure
CompilerEndIf
  
 
MP_Graphics3DWindow(0, 0, 800, 600, "MP3D Demo Pouint Cloud to Mesh", 0)

light0 = MP_CreateLight(1)
MP_PositionEntity(light0, 50, 128, 0)
MP_EntityLookAt(light0, 0, 0, 0)
cam0 = MP_CreateCamera()
MP_CameraSetRange(cam0, 2, 2024)
MP_PositionEntity(cam0, -32, 64, -152)
MP_EntityLookAt(cam0, 0, 0, 0)
MP_PhysicInit()

;tex0 = MP_CatchTexture(?Texture,?Texture-?Textur_end)
tex0 = MP_LoadTexture("detail3.bmp")


;################ Bodenplatte ################
bodenplatte = MP_CreateRectangle(256, 1, 256) ; Bodenplatte kann natürlich auch ein x-beliebiges Mesh sein
MP_ScaleMesh( bodenplatte ,0.6,0.6,0.6)
MP_EntitySetTexture(bodenplatte, tex0)
MP_EntityPhysicBody(bodenplatte, 1, 0)
;#############################################

count = Random(10) + 6

Dim Myvert.D3DXVector3(count)

For n = 0 To count;
  
  Myvert(n)\x = MP_RandomFloat(-10,10)
  Myvert(n)\y = MP_RandomFloat(-10,10)
  Myvert(n)\z = MP_RandomFloat(-10,10)
  
Next

*MemoryID = AllocateMemory(count*24)

*pointer.D3DXVector3 = *MemoryID

For n = 0 To count 
  
  *pointer\x = -n
  *pointer\y = -10 + n
  *pointer\z = n
  *pointer + 24
  
Next  


MyMesh = MP_CreatePhysicMeshfromPoints (count,Myvert(),12)

MP_SetPhysicMaterialProperties(TempMaterial,0.2,1,1)
MP_SetPhysicMaterialtoMesh (tt, TempMaterial)

MP_PositionEntity(MyMesh, 0, 40 ,0)

MP_AmbientSetLight(RGB(123,234,166))

While Not MP_KeyDown(#PB_Key_Escape) And Not WindowEvent() = #PB_Event_CloseWindow

  If MP_KeyDown(#PB_Key_Space)=1
     MP_TurnEntity(MyMesh, 1,2,3)
     MP_PositionEntity(MyMesh, 0, 40 ,0)
  EndIf
  
  MP_TurnEntity (tt,0.2,0.4,0.6)
  
  MP_DrawText (1,1,"FPS = "+Str(MP_FPS()))
   
  MP_PhysicUpdate()  
  
  MP_RenderWorld()
  
  MP_Flip()  
Wend

MP_PhysicEnd()
Working on - MP3D Library - PB 5.73 version ready for download
mpz
Enthusiast
Enthusiast
Posts: 494
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 33

Post by mpz »

Hello,

i have actualised the files (see 1 post) and made a new help file. There are 53 improvements between 32 to 33.

Have fun...
Greetings Michael


* Some Updates and new demos
* New command expansions
* New Movie commands
* New 3d Physic commands

1) MP_GetTimerResolution() -> The function MP_GetTimerResolution get the timer resolutionof the internal timer
2) MP_SetTimerResolution() -> The function MP_SetTimerResolution set a timer resolution for the internal timer
3) MP_Idirect3DDevice(*D3DDev,*D3DDir) -> internal Hack function
4) MP_RenderCamera() -> This command renders all cameras into the 3D window
5) MP_WindowEvent() -> same like the windows function
6) MP_CameraGetX() -> replaces with MP_EntityGetX()
7) MP_CameraGety()-> replaces with MP_EntityGety()
8) MP_CameraGetz()-> replaces with MP_EntityGetz()
9) MP_CameraLookAt()-> replaces with MP_EntityLookAt()
10) MP_MoveCamera()-> replaces with MP_MoveEntity()
11) MP_PositionCamera()-> replaces with MP_PositionEntity()
12) MP_RotateCamera()-> replaces with MP_RotateEntity()
13) MP_TurnCamera()-> replaces with MP_TurnEntity()
14) MP_RightHandOn() -> The command builds a right-handed projection matrix.
15) MP_PointEntity() -> The command rotates in the direction of a TargetEntity in the 3D space.
16) MP_CalcPitchYawRoll() - The function get the Pitch, yaw and Roll of a matrix as a D3DXVECTOR3
17) MP_EntityGetRenderMatrix() - The command create a rendermatrix with the position and angel of the entity
18) MP_GetMatrixInfo() -> The function get the x,y,z position and the pitch, yaw and roll of a matrix
19) MP_MatrixTransformCoord() -> The function change a D3DXVECTOR3 with a matrix
20) MP_TransformCoord() -> The commandchanges the coordinates of a 3D point using a mesh matrix
21) MP_PhysicHullGenTollerance() -> The comand change the tollrance for the function 4 = free object, interpreted all vertexe funtion
22) MP_ConstraintDestroyBall() -> Destroy a Ball and Socket joint functions
23) MP_BallSetConeLimits() -> Create limit of Ball
24) MP_ConstraintCreateHinge() -> The function creates a hinge between two entities.
25) MP_ConstraintDestroyHinge() -> Destroy a Hinge joint functions
26) MP_LimitHinge() -> The function set a Angle Limit and friction fro a hinge
27) MP_ConstraintCreateSlider() -> The function creates a slider between two entities.
28) MP_ConstraintDestroySlider() -> Destroy a Slider joint functions
29) MP_LimitSliderDistance() -> The functionset a Slider Limit and friction for a slider.
30) MP_CreatePhysicMeshfromPoints() -> The comand create a mesh with a PhysicBody from a points clouds
31) MP_ConstraintCreateUpVector() -> The function creates an up vector joint
32) MP_ConstraintDestroyUpVector() -> Destroy a UpVector joint
33) MP_UpVectorSetPin() -> The function creates an up vector.
34) MP_TexturOutput() -> The function get the "OutputID" to use the Purebasic 2D function on the texture
35) MP_CreateCubeTexture() -> The function generated a empty cube texture with optional mipLevels.
36) MP_CopyTexturetoCubeTexture() -> The function writes a Texture to a cube texture.
37) MP_TextureOnTexture() -> The function MP_TextureOnTexture added a Textur on another Textur
38) MP_SaveB3DMesh() -> The function MP_SaveB3DMesh saves an Entity as b3d file
39) MP_GetMeshInfo() -> The function MP_GetMeshInfo read the vertex format of an entity.
40) MP_TranslateMesh() -> The function MP_TranslateMesh translate the poition of the vertice of a mesh
41) MP_CountSurfaces() -> The function MP_CountSurfaces count the number of surface of a entity
42) MP_KeyUp() -> new function MP_KeyRelease()
43) MP_ShaderGetWorldITranspose() -> The function reads the current inverse transposed GetWorld matrix of the engine for a Mesh
44) MP_ShaderGetWorldITranspose() -> The function reads the current inverse transposed GetWorld matrix of the engine for a Mesh
45) MP_SaveAnimMesh() -> The function MP_SaveAnimMesh save an animated DirectX Mesh
46) MP_GetPrimitives() -> The function MP_GetPrimitives reads a vertex of a primitives
47) MP_GetMemPrimitives() -> The function MP_GetMemPrimitives reads the memorybuffer of the vertexe of a primitives
48) MP_CloseMemPrimitives() -> The function MP_CloseMemPrimitives close the vertex memorybuffer of a primitives
49) MP_SizeMemPrimitives() -> The function MP_SizeMemPrimitives read the size of the vertex memorybuffer of a primitives
50) MP_2DPhysicBodyRemove() -> MP_2DPhysicBodyRemove(Body)
51) MP_MovieInit() -> new name MP_OpenMovie()
52) MP_CreateMovie() -> The function MP_CreateMovie create an empty Avi file with Rate optional
53) MP_FrameToMovie() -> The function MP_FrameToMovie generated from a DX9 screen a frame of a movie.


Example how to create a movie...

Code: Select all

MP_Graphics3D (640,480,0,3) ; Erstelle ein WindowsFenster mit 3D Funktion #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels") ; Setzt einen Fensternamen

MP_SetAntialiasing( 1 )

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine Würfel
 
MP_PositionEntity (Mesh,0,0,3) ; Position des Würfels

Movie = MP_CreateMovie ("c:\temp\filmtest.avi",60)
While Not MP_KeyDown(#PB_Key_Escape) And Not WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen
  
  

    MP_FrameToMovie (  Movie, Frame )
    Frame + 1
    
    If Frame = 500 ; End after 500 frames
      Break
    EndIf 
    
  
  
    MP_DrawText(0, 0, "FPS = " + Str(MP_FPS()))
  
    MP_TurnEntity (Mesh,0.1,0.1,0.1) ; dreh den Würfel
    MP_RenderWorld() ; Erstelle die Welt
    MP_Flip () ; Stelle Sie dar
    

    
Wend


MessageRequester("Info","Number of Video Frames created: "+Str(MP_MovieNumFrames (  Movie ))+Chr(13))

MP_CloseMovie(  Movie )
Working on - MP3D Library - PB 5.73 version ready for download
User avatar
Psychophanta
Addict
Addict
Posts: 4975
Joined: Wed Jun 11, 2003 9:33 pm
Location: Lípetsk, Russian Federation
Contact:

Re: MP3D Engine Alpha 33

Post by Psychophanta »

Will take a check of it.
Looks promising your resurrection Michael
:wink:
http://www.zeitgeistmovie.com

While world=business:world+mafia:Wend
Will never leave this forum until the absolute bugfree PB :mrgreen:
dige
Addict
Addict
Posts: 1247
Joined: Wed Apr 30, 2003 8:15 am
Location: Germany
Contact:

Re: MP3D Engine Alpha 33

Post by dige »

The Download Links are not working anymore. Please fix it
"Daddy, I'll run faster, then it is not so far..."
User avatar
Psychophanta
Addict
Addict
Posts: 4975
Joined: Wed Jun 11, 2003 9:33 pm
Location: Lípetsk, Russian Federation
Contact:

Re: MP3D Engine Alpha 33

Post by Psychophanta »

dige wrote: Fri Sep 16, 2022 10:46 am The Download Links are not working anymore. Please fix it
Don't worry, the latests working version is for PB5.46.
There is no working version for PB5.73 or newer. :wink:
http://www.zeitgeistmovie.com

While world=business:world+mafia:Wend
Will never leave this forum until the absolute bugfree PB :mrgreen:
mpz
Enthusiast
Enthusiast
Posts: 494
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 33

Post by mpz »

Hi,

i have tested both files and the download link of both versions are working (see first message)

The version works with PB5.73 or newer

See the files
MP3D_PB5.73(x86)_1.00.zip
MP3D_PB5.73(x64)_1.00.zip

Greetings
Michael
Working on - MP3D Library - PB 5.73 version ready for download
User avatar
Psychophanta
Addict
Addict
Posts: 4975
Joined: Wed Jun 11, 2003 9:33 pm
Location: Lípetsk, Russian Federation
Contact:

Re: MP3D Engine Alpha 33

Post by Psychophanta »

mpz wrote: Sat Sep 17, 2022 12:50 pm The version works with PB5.73 or newer
Right, but not the same. Lots of lost, for example:

Code: Select all

WindowWidth.u=640:WindowHeigh.u=480
MP_Graphics3D(WindowWidth,WindowHeigh,0,2)
light.i=MP_CreateLight(1)

ViewPortX2.f=400:ViewPortY2.f=80:ViewPortWidth2.f=200:ViewPortHeigh2.f=300
cam2.i=MP_CreateCamera()
ViewPort2.i=MP_CameraViewPort(cam2,ViewPortX2,ViewPortY2,ViewPortWidth2,ViewPortHeigh2,$00346B0A)
MP_CameraSetPerspective(cam2,45,ViewPortWidth2/ViewPortHeigh2)
m2.i=MP_CreateCube()
MP_EntitySetZ(m2,-1000)
MP_PositionEntity(cam2,0,0,-995)
MP_PointEntity(cam2,m2)

While WindowEvent()<>#PB_Event_CloseWindow
  mdx.f=MP_MouseDeltaX()/200:mdy.f=MP_MouseDeltaY()/200:mdw.f=MP_MouseDeltaWheel()/400
  picked.i=MP_PickCamera(cam2,WindowMouseX(0),WindowMouseY(0))
  MP_DrawText(400,80,Hex(picked)+" found. Distance: "+StrF(MP_PickedGetDistance(),4))
  MP_TurnEntity(m2,0.3,-0.23,-0.1)
  MP_RenderWorld()
  MP_Flip()
Wend
Just take a look to the examples in the package.
http://www.zeitgeistmovie.com

While world=business:world+mafia:Wend
Will never leave this forum until the absolute bugfree PB :mrgreen:
Post Reply