MP3D Engine Alpha 33
-
- Enthusiast
- Posts: 497
- Joined: Sat Oct 11, 2008 9:07 pm
- Location: Germany, Berlin > member German forum
Re: MP3D Engine Alpha 31
Hello,
thanks on applePi and Sveinung for your good help. AndyLy, you star system look great, i hope you can give me the code to have a nice mp3d demo...
The problem with the Alpha blending is a dx9 problem with the distance of the meshs to the camera. for these problem i have made the "MP_MeshAlphaSort()" comand to solve these. Use these command before the MP_RenderWorld() comes
...
MP_MeshAlphaSort()
MP_RenderWorld()
...
Have a look on the "MP_AlphaTranzparenz.pb" demo in the Alpha folder and you see what i mean...
Greetings Michael
thanks on applePi and Sveinung for your good help. AndyLy, you star system look great, i hope you can give me the code to have a nice mp3d demo...
The problem with the Alpha blending is a dx9 problem with the distance of the meshs to the camera. for these problem i have made the "MP_MeshAlphaSort()" comand to solve these. Use these command before the MP_RenderWorld() comes
...
MP_MeshAlphaSort()
MP_RenderWorld()
...
Have a look on the "MP_AlphaTranzparenz.pb" demo in the Alpha folder and you see what i mean...
Greetings Michael
Working on - MP3D Library - PB 5.73 version ready for download
Re: MP3D Engine Alpha 31
Hi mpz
MP_MeshAlphaSort () seems to work, now I will correct the program. Thank you for your help.
MP_AlphaTranzparenz.pb - have already looked at it and figured out.
What about the code: its not finished, I plan to make an animated initial screen for my new game, if it works, then I will not give you the full code, only partial. OK?
MP_MeshAlphaSort () seems to work, now I will correct the program. Thank you for your help.
MP_AlphaTranzparenz.pb - have already looked at it and figured out.
What about the code: its not finished, I plan to make an animated initial screen for my new game, if it works, then I will not give you the full code, only partial. OK?
'Happiness for everybody, free, and no one will go away unsatisfied!'
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
-
- Enthusiast
- Posts: 497
- Joined: Sat Oct 11, 2008 9:07 pm
- Location: Germany, Berlin > member German forum
Re: MP3D Engine Alpha 31
Hi AndyLy,
only a little code as demo (For example I mean the code for your Solorsys.exe). It is nice to have more demos for the mp3d engine...
Greetings Michael
only a little code as demo (For example I mean the code for your Solorsys.exe). It is nice to have more demos for the mp3d engine...
Greetings Michael
Working on - MP3D Library - PB 5.73 version ready for download
Re: MP3D Engine Alpha 31
mpz
Good work, but I probably will for a long time to understand.
Can you add to the particle system, the ability to use your own sprites? It's much would increase the possibility and usefulness of the system of particles.
And: I drew a sprite in the front layer, and although it is transparent, it is completely blocked particles.
Maybe there is some secret technique?
Good work, but I probably will for a long time to understand.
Can you add to the particle system, the ability to use your own sprites? It's much would increase the possibility and usefulness of the system of particles.
And: I drew a sprite in the front layer, and although it is transparent, it is completely blocked particles.
Maybe there is some secret technique?
'Happiness for everybody, free, and no one will go away unsatisfied!'
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
-
- Enthusiast
- Posts: 497
- Joined: Sat Oct 11, 2008 9:07 pm
- Location: Germany, Berlin > member German forum
Re: MP3D Engine Alpha 31
Hi Andyly,
for now the particle system use point sprites. you can use you own texture (like sprites) and anim texture too.
If you use sprites they are in front of the screen. If you use the MP_SpriteSetZ command you can set it in the deep of the screen (behind or in front of the particle emmiter)
P.S: I hope you mean this with you question ?!?
Greetings Michael
for now the particle system use point sprites. you can use you own texture (like sprites) and anim texture too.
If you use sprites they are in front of the screen. If you use the MP_SpriteSetZ command you can set it in the deep of the screen (behind or in front of the particle emmiter)
P.S: I hope you mean this with you question ?!?
Greetings Michael
Working on - MP3D Library - PB 5.73 version ready for download
Re: MP3D Engine Alpha 31
I wanted to add semitransparent fog in the foreground. Planets visible normally, under the fog, but the particles cover fully.


'Happiness for everybody, free, and no one will go away unsatisfied!'
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
-
- Enthusiast
- Posts: 497
- Joined: Sat Oct 11, 2008 9:07 pm
- Location: Germany, Berlin > member German forum
Re: MP3D Engine Alpha 31
Hi,
how do you use the fog? is it a sprite ? if you use a sprite the MP_SpriteBlendingMode function could help, please see
MP_Sprite3DBlendmodus.pb and MP_Sprite3DBlendmodus_2.pb
Greetings Michael
how do you use the fog? is it a sprite ? if you use a sprite the MP_SpriteBlendingMode function could help, please see
MP_Sprite3DBlendmodus.pb and MP_Sprite3DBlendmodus_2.pb
Greetings Michael
Working on - MP3D Library - PB 5.73 version ready for download
Re: MP3D Engine Alpha 31
Thanks Michael, that tried to help.
Yes, I tried MP_SpriteBlendingMode, but nothing happened. So I dropped this idea.
Yes, I tried MP_SpriteBlendingMode, but nothing happened. So I dropped this idea.
'Happiness for everybody, free, and no one will go away unsatisfied!'
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
-
- Enthusiast
- Posts: 497
- Joined: Sat Oct 11, 2008 9:07 pm
- Location: Germany, Berlin > member German forum
Re: MP3D Engine Alpha 31
Hi Andyly,
if you send me the code and grafic file i can have a look on it. It can only be a litte propblem...
Greetings MichAel
if you send me the code and grafic file i can have a look on it. It can only be a litte propblem...
Greetings MichAel
Working on - MP3D Library - PB 5.73 version ready for download
Re: MP3D Engine Alpha 31
Hi.
Actually, there's more than one problem, I do not write here, because it may be my mistake in the code.
I will gather all the necessary later, write a description and send it to you.
While lay out what has been accomplished. That's not what I wanted, but close.
https://rapidshare.com/files/1736129685/Solarsys.rar
Actually, there's more than one problem, I do not write here, because it may be my mistake in the code.
I will gather all the necessary later, write a description and send it to you.
While lay out what has been accomplished. That's not what I wanted, but close.
https://rapidshare.com/files/1736129685/Solarsys.rar
'Happiness for everybody, free, and no one will go away unsatisfied!'
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
-
- Enthusiast
- Posts: 497
- Joined: Sat Oct 11, 2008 9:07 pm
- Location: Germany, Berlin > member German forum
Re: MP3D Engine Alpha 31
Hi Andyly,
i have solved the "semitransparent fog in the foreground" problem. It was a problem between the particle and sprite render sequence.
I will check the other questions you send me and i will anwer with pm.
Greetings Michael
i have solved the "semitransparent fog in the foreground" problem. It was a problem between the particle and sprite render sequence.
I will check the other questions you send me and i will anwer with pm.
Greetings Michael
Working on - MP3D Library - PB 5.73 version ready for download
Re: MP3D Engine Alpha 31
Hi mpz,
There is a chance to do so: write a program to "normal" PureBasic and make inclusion on MP3D?
For example:
Greetings Andy
Okay, I'll wait.i will anwer with pm
There is a chance to do so: write a program to "normal" PureBasic and make inclusion on MP3D?
For example:
Code: Select all
.........
Gosub MP3DBlock
.........
MP3DBlock:
StartMP3D ()
.....................
StopMP3D ()
Return
'Happiness for everybody, free, and no one will go away unsatisfied!'
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
-
- Enthusiast
- Posts: 497
- Joined: Sat Oct 11, 2008 9:07 pm
- Location: Germany, Berlin > member German forum
Re: MP3D Engine Alpha 31
Hello AndyLy,
i post you a pm with the solution of your problems...
I thought about the Start/Stop funktion and created a new function. In the mp3d Forum you find a demo of this new function...
MP_Close() ; closed the mp3d Engine and deleted all resources
Greetings Michael
i post you a pm with the solution of your problems...
I thought about the Start/Stop funktion and created a new function. In the mp3d Forum you find a demo of this new function...
MP_Close() ; closed the mp3d Engine and deleted all resources
Greetings Michael
Working on - MP3D Library - PB 5.73 version ready for download
Re: MP3D Engine Alpha 31
Hi Michael,
Added your forum to bookmarks. I tried the demo with MP_Close (). Take a closer look later.
As usual, good job.
Added your forum to bookmarks. I tried the demo with MP_Close (). Take a closer look later.
As usual, good job.
'Happiness for everybody, free, and no one will go away unsatisfied!'
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
SMsF town: http://www.youtube.com/watch?v=g6RRKYf_Pd0
SMf locations module (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI
Driving the sphere over the terrain
the following code put the sphere from Sveinung code in the previous page to be used inside the example MP_Terrain.pb by Michael in MP3D Demos\Mesh folder. as a kind of a ufo or organic space entity to fly over the terrain at altitude of 500 over the terrain . I'm still searching for a suitable big terrain.
i have used another formula for deforming the sphere and a texture.
and it moves with keys, the right/Left keys makes the camera to turn around, my difficult task was to keep the sphere in front of the camera as if it is my car. the camera position begins from x=-714 z=-4308 so the angle from 0,0 to the camera will be 99.4, i want the sphere to be 10 units from the camera, so calculating the new coordinates of the sphere to be in front of the camera. look the picture

but i wonder when using MP_TurnCamera(camera, -0.32,0,0) for Left camera turning, i must use for the sphere an increment 0.76. ie a ratio 2.375 so the sphere will follow the camera exactly with a very small unbalance.
i can't see what is the reason, i was expecting to use 0.32 for both the camera turn and the sphere move. it may be a very simple geometry/algebra issue.
* the formula and the texture used are from 3Impact example.
to run the code save the program in the MP3D Demos\Mesh folder and also save this texture to the same folder for the sphere texture.
i have used another formula for deforming the sphere and a texture.
and it moves with keys, the right/Left keys makes the camera to turn around, my difficult task was to keep the sphere in front of the camera as if it is my car. the camera position begins from x=-714 z=-4308 so the angle from 0,0 to the camera will be 99.4, i want the sphere to be 10 units from the camera, so calculating the new coordinates of the sphere to be in front of the camera. look the picture

but i wonder when using MP_TurnCamera(camera, -0.32,0,0) for Left camera turning, i must use for the sphere an increment 0.76. ie a ratio 2.375 so the sphere will follow the camera exactly with a very small unbalance.
i can't see what is the reason, i was expecting to use 0.32 for both the camera turn and the sphere move. it may be a very simple geometry/algebra issue.
* the formula and the texture used are from 3Impact example.
to run the code save the program in the MP3D Demos\Mesh folder and also save this texture to the same folder for the sphere texture.

Code: Select all
;original codes by Michael and Sveinung
MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "My first Terrain example, to Move use arrow keys up/down ,to Turn use arrow keys right/left")
Global amplitude.f = 0.10
Global frequency.f = 4.0
Global sp=mp_createsphere(40)
Global sp_o
camera=MP_CreateCamera() ; Kamera erstellen
MP_CameraSetRange(Camera, 0.1, 5000)
light=MP_CreateLight(2)
MP_LightSetColor (light, RGB(255,255,255))
MP_PositionEntity(light, 0,200,-5029)
MP_CreateSkyBox ("rhills","jpg",100)
Terrain = MP_LoadTerrain ("rhills_hmap.bmp", 64,64)
Texture = MP_LoadTexture("rhills_tmap.jpg")
MP_EntitySetTexture (Terrain,texture)
MP_EntitySetName(Terrain, "Terrain")
sp_o=MP_CopyEntity(sp)
MP_HideEntity(sp_o,1)
texture = MP_LoadTexture("marble.jpg")
MP_EntitySetTexture(sp, texture)
;MP_MaterialSpecularColor(texture,0,255,255,255,1)
MP_MaterialEmissiveColor (texture,0,255,255,255)
MP_MaterialAmbientColor (texture, 255, 128 , 255, 128) ;
MP_MaterialSpecularColor (texture, 255, 128 ,255, 128,40) ;
MP_VSync(1)
MP_Wireframe(0)
Global countvertices.l = mp_countvertices(sp)-1
Procedure ufo()
;warping a sphere
dtime.f=ElapsedMilliseconds()/800
offset.f
For i=0 To countvertices
;--------------------------------
vx.f=MP_VertexGetX(sp_o,i)
vy.f=MP_VertexGetY(sp_o,i)
vz.f=MP_VertexGetZ(sp_o,i)
;--------------------------------
offset = amplitude * Sin((dtime+MP_VertexGetX(sp_o,i))*frequency)
vx + offset
vy + offset
vz + offset
MP_VertexSetX(sp,i,vx)
MP_VertexSetY(sp,i,vy)
MP_VertexSetZ(sp,i,vz)
Next
EndProcedure
MP_PositionCamera(camera,-714,500,-4308)
;the beginning angle, press J to know the camera position at any time
angle.f = Degree(ATan(714/4308)+Radian(90)) ; 99.41 degrees
;Debug(StrF(angle))
;the sphere is 10 units away from the camera
;the sphere position differences in x, z coordinates from the camera x, z
xDelta.f = Cos(Radian(angle)) * 10 : zDelta.f = Sin(Radian(angle)) * 10
While Not MP_KeyDown(#PB_Key_Escape) And Not WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen
ufo() ; call the warped sphere
;Driving the sphere
If MP_KeyDown(#PB_Key_Up)
rotY+3 ;sphere rotation
MP_MoveCamera(camera,0,0,15)
ElseIf MP_KeyDown(#PB_Key_Down)
rotY-3 ;sphere rotation
MP_MoveCamera(camera,0,0,-15)
EndIf
If MP_KeyDown(#PB_Key_Right)
rotX+3
angle.f - 0.76
xDelta.f = Cos(Radian(angle)) * 10 : zDelta.f = Sin(Radian(angle)) * 10
rotX-3 ;sphere rotation
MP_TurnCamera(camera, 0.32,0,0)
ElseIf MP_KeyDown(#PB_Key_Left)
angle.f + 0.76
xDelta.f = Cos(Radian(angle)) * 10 : zDelta.f = Sin(Radian(angle)) * 10
rotX-3 ;sphere rotation
MP_TurnCamera(camera, -0.32,0,0)
EndIf
MP_RotateEntity(sp, rotX, rotY, 0 ) ;sphere rotation
MP_EntitySetNormals(sp)
;;pppppppppppppppppppppppppppppppppppppppppppppppppppppp
x.f = MP_CameraGetX (camera)
z.f = MP_CameraGetZ (camera)
yyyy.f = MP_TerrainGetY (Terrain,x,0,z) + 500
MP_PositionCamera(camera, x, yyyy , z)
MP_PositionEntity (sp,x+xDelta,MP_TerrainGetY(Terrain,x,0,z)+500,z+zDelta)
MP_PositionEntity(light, x-200,200,z)
MouseX = -(MP_MouseDeltaX()/10)
MouseY = MP_MouseDeltaY()/10
If MP_KeyHit(#PB_Key_J); to know the current camera position
Debug("x = "+StrF(x))
Debug("z = "+StrF(z))
Debug("Altitude = "+ StrF(yyyy))
Debug(" ")
EndIf
MP_TurnCamera(camera, MouseX, 0, MouseY);, #PB_Relative)
MP_RenderWorld() ; Erstelle die Welt
MP_Flip () ; Stelle Sie dar
Wend