MP3D Engine Alpha 33

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
mpz
Enthusiast
Enthusiast
Posts: 497
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 31

Post by mpz »

Hi AndyLy,

i have a look on the shadow function and i think i must rewrite this function. The problem is if the light too near to the objects the shadow make ugly thinks. i find some different solutions and work on it...

I think about a 2d parcticle systems too. In the video you have made a good 2d parcticle sytem for your tanks. Is it possible to send me this system for this case ?!?

Greetings
Michael
Working on - MP3D Library - PB 5.73 version ready for download
User avatar
AndyLy
Enthusiast
Enthusiast
Posts: 228
Joined: Tue Jan 04, 2011 11:50 am
Location: GRI

Re: MP3D Engine Alpha 31

Post by AndyLy »

I tried different 3D engines, not found anything better, so I will finish my game with MP3D. I hope you will deal with the shadows before I finish. :)

I will send you the code of the system and a small example. I hope you got used to my style and you will understand my code.
To use my system in MP3D, you have enough to display a one 3D sprite in 3D space. (In Ninfa3D done so.)

My new video:
http://www.youtube.com/watch?v=tLt88e9bsLM
'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
User avatar
AndyLy
Enthusiast
Enthusiast
Posts: 228
Joined: Tue Jan 04, 2011 11:50 am
Location: GRI

Re: MP3D Engine Alpha 31

Post by AndyLy »

Problems with transparency MP_MeshSetAlpha (ent, 1) and MP_MeshSetAlpha (ent, 2)
Here are the results.

That's how it should be.
Image
That's how it really is.
Image
Mix MP_MeshSetAlpha (ent, 2) and MP_MeshSetAlpha (ent, 1)
Image
With MP_MeshAlphaSort().
Image
'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
mpz
Enthusiast
Enthusiast
Posts: 497
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 31

Post by mpz »

Hi Andyly,

it is not a problem from mp3d it is a problem with the alphatechnical of dx9. To solve the problem i have written the Alphasort comand. The alphamesh in front must be the first rendered mesh and then the next mesh to solve the problem. i think the sort function doesnt work very well in your program. In this case it is better to use different textures or use two texturen on the ground mesh...

Greetings Michael
Last edited by mpz on Fri Oct 19, 2012 1:30 pm, edited 1 time in total.
Working on - MP3D Library - PB 5.73 version ready for download
User avatar
AndyLy
Enthusiast
Enthusiast
Posts: 228
Joined: Tue Jan 04, 2011 11:50 am
Location: GRI

Re: MP3D Engine Alpha 31

Post by AndyLy »

it is better to use different textures or use two texturen on the ground mesh...
Can you tell me more about this?
'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
mpz
Enthusiast
Enthusiast
Posts: 497
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 31

Post by mpz »

Hi Andyly,

here for examples. You create a image with the ground image. Make a copy and on the copy you write your circles. Here a testcode

the professional variation ist with a shader, but for these i need more time...

Greetings

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

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

If CreateImage(0, 255, 255)

    Font = LoadFont(#PB_Any, "Arial"  , 138) 
    StartDrawing(ImageOutput(0))

    Box(0, 0, 128, 128,RGB(255,0,0))
    Box(128, 0, 128, 128,RGB(0,255,0))
    Box(0, 128, 128, 128,RGB(0,0,255))
    Box(128, 128, 128, 128,RGB(255,255,0))

    DrawingFont(FontID(Font))
    DrawingMode(#PB_2DDrawing_Transparent)
    DrawText(73,35,"5",RGB(0,0,0))
  
    StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !
    
EndIf

If CreateImage(1, 255, 255)
  CopyImage(0, 1)
EndIf  
  
Mesh=MP_CreateCube() ; Und jetzt eine Würfel

Texture = MP_ImageToTexture(1,0,0,1) ; Create Texture from image 
MP_EntitySetTexture (Mesh, Texture ) ; textur to mesh

MP_PositionEntity (Mesh,0,0,3) ; Position des Würfels

While Not MP_KeyDown(#PB_Key_Escape) And Not WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen

    MP_TurnEntity (Mesh,0.1,0.1,0.1) ; dreh den Würfel
    MP_RenderWorld() ; Erstelle die Welt
    
    a+1
    If a = 40
      a = 0
      MP_FreeTexture(Texture) ; Free the old texture
      CopyImage(0, 1) ; new image
      StartDrawing(ImageOutput(1))
      For N = 0 To 5
        Circle(Random((10)+1)*30, Random((10)+1)*30, 30, RGB(Random(255), Random(255), Random(255)))
      Next  
      StopDrawing()
      Texture = MP_ImageToTexture(1,0,0,1) ; Create Texture from image 
      MP_EntitySetTexture (Mesh, Texture )
    EndIf  
    
    MP_Flip () ; Stelle Sie dar
    
Wend
Working on - MP3D Library - PB 5.73 version ready for download
User avatar
AndyLy
Enthusiast
Enthusiast
Posts: 228
Joined: Tue Jan 04, 2011 11:50 am
Location: GRI

Re: MP3D Engine Alpha 31

Post by AndyLy »

Thank you Michael, unfortunately, this method is not really suitable in my case.
I will "invent" a different way. :) If it does not, remade code as yours.
'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
mpz
Enthusiast
Enthusiast
Posts: 497
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 31

Post by mpz »

Hi andy,

You can also make a little yellow ring mesh (or a feed mesh) and put it on the place as way ...

i think about a other solution with a texture...

Greeting Michael
Working on - MP3D Library - PB 5.73 version ready for download
User avatar
AndyLy
Enthusiast
Enthusiast
Posts: 228
Joined: Tue Jan 04, 2011 11:50 am
Location: GRI

Re: MP3D Engine Alpha 31

Post by AndyLy »

I wanted to use plane mesh with a transparent texture as 3D sprite. Use several layers of planes with different textures. I hope you understand what I'm saying.
With grid and rings somehow I could handle, but I wanted to use this method to make the grass (something like a billboard). And I want to somehow draw a trace of an explosion on the ground .. I have to think how to do it.

P.s. Well, the traces of the explosions I made, ​​and the circles do not overlap with the grid.
Since grass is not clear: sometimes it is normally displayed, sometimes modify the other textures that under them.

P.p.s.
Why are loaded models change the properties of the material when scaling? Is that the way it should be?
If I create a mesh in the program and add texture, when scaling it works fine.
ImageImageImage
'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
User avatar
AndyLy
Enthusiast
Enthusiast
Posts: 228
Joined: Tue Jan 04, 2011 11:50 am
Location: GRI

Re: MP3D Engine Alpha 31

Post by AndyLy »

New video. Finished my shots, added sounds, a few objects, the new module search path (the old buggy) and add other different things.

http://youtu.be/gMFgpX5zUOA
'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
mpz
Enthusiast
Enthusiast
Posts: 497
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 31

Post by mpz »

Hi Andyly,

is the demo made with mp3d? It looks very great...

MP3d can use multitexturing Mesh. The problem is to make a mesh with some uv coord.

Solution:
1) The normal terrain function has only one uv coords, but i can make a function to make a terrain with some uv coords to use multitextures.
2) To make a good terrain with some textures to mix and blend them you can use a terrain shader. The shader will mix the textures with a highmap and you can add the "round way" textures too

If you send me little pb file with the terrain, terrain texture and "round way" i can test some solutions for you...
  • Why are loaded models change the properties of the material when scaling? Is that the way it should be?
    If I create a mesh in the program and add texture, when scaling it works fine
It could be a bug in the engine
(the programer say: its not a bug its a feature ;))

Greetings Michael
Working on - MP3D Library - PB 5.73 version ready for download
User avatar
AndyLy
Enthusiast
Enthusiast
Posts: 228
Joined: Tue Jan 04, 2011 11:50 am
Location: GRI

Re: MP3D Engine Alpha 31

Post by AndyLy »

Hi Michael,
is the demo made with mp3d?
No, of course, this is done on CryEngine 3. :) You do not recognize your own creation?
MP3d can use multitexturing Mesh.
I tried to add a second texture, but nothing happened and I threw this thing. But I will try again. Maybe I did something wrong. ( MP_EntitySetTexture(Entity, Texture1,0): MP_EntitySetTexture(Entity, Texture2,1) )
If you send me little pb file with the terrain, terrain texture ...
I do not use terrain, the surface is made of a number of planes.

At the moment, I worry about the problems with the material when scaling model.
I also need changes in the particle system: I need the ability to display "dark" particles (black smoke for example).
I was a bit distracted by other thingss. Later I will read my other requirements. :)
Another thing: need a function calculating the angle between two points in 3D space.
Oh, I almost forgot: and I wait to solve the problem with shadows.
'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
mpz
Enthusiast
Enthusiast
Posts: 497
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 31

Post by mpz »

Hi Andyly,

i make a new function to add a second(and then third/fourth etc.) UV Coord to a mesh. if it works, everythink will be fine with the step texture ...

dark particle: It think it is not a problem to make a grafic with dark color for smoke and alpha chnannel. I will have a look on it and make demo with the "normal" particle emmiter function.

i inform you in the next days...

P.S: CryEngine 3, yes... Your demo look to good an i thought this could not be mp3d ;)

Greetings
Michael
Working on - MP3D Library - PB 5.73 version ready for download
User avatar
AndyLy
Enthusiast
Enthusiast
Posts: 228
Joined: Tue Jan 04, 2011 11:50 am
Location: GRI

Re: MP3D Engine Alpha 31

Post by AndyLy »

It is all very well, but I have a new problem: the program does not want to load the model.
I load the same model three times (different objects). The fourth time it does not load, the program is aborted with an error: read error at address 0.
If I remove the download any other model - it all works.
Do you have a limit on the size / number of downloadable models?
P.s. MP_GetLastError() return "Alles Okay" . ( I think it means "All cool, bro!" )
'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
mpz
Enthusiast
Enthusiast
Posts: 497
Joined: Sat Oct 11, 2008 9:07 pm
Location: Germany, Berlin > member German forum

Re: MP3D Engine Alpha 31

Post by mpz »

Hi Andyly,

i have no limits and the lib too;) Perhaps they need to much grafic card ram ?!?

If you make a little program:

Code: Select all

MP_Graphics3D (800,600,0,3) ; Erstelle ein WindowsFenster #Window = 0
light=MP_CreateLight(2) ; Es werde Licht
MP_AmbientSetLight(RGB(255,255,255))

Mesh1=MP_LoadMesh("MyMesh.x")
Mesh2=MP_LoadMesh("MyMesh.x")
Mesh3=MP_LoadMesh("MyMesh.x")
Mesh4=MP_LoadMesh("MyMesh.x")
Mesh5=MP_LoadMesh("MyMesh.x")
It crashes at Mesh4? I can check it in my lib, but need the mesh for testing...

Greetings Michael
Working on - MP3D Library - PB 5.73 version ready for download
Post Reply