MP3D_Library (Alpha)

Einleitung

This ia a Alphaversion of the MP3D library for Purebasic. The engine works with Windows XP/Vista/7 and use DX9
Dies ist die AlphaVersion von MPs 3D Engine. Die Engine ist Windows XP/Vista kompatibel und verwendet DX9

Befehlsübersicht

Information functions
MP_AddressOf
MP_VersionOf
MP_FeaturesOf
MP_IsScreenActive
MP_ScreenGetHeigth
MP_ScreenGetWidth
MP_GetLastError
MP_GetLastErrorNr

Internal functions
MP_DegtoRad
MP_RadtoDeg
MP_Atan2
MP_ModFloat
MP_2Dto3D
MP_3Dto2D
MP_3DZto2D
MP_LimitTo360
MP_GetTimerResolution
MP_SetTimerResolution
MP_Requester
MP_RandomFloat
MP_RandomInt
MP_RemoveNil

Windowsstart und Modi
MP_Graphics3D
MP_Graphics3DWindow
MP_SaveMode
MP_Flip
MP_FPS
MP_RenderWorld
MP_Viewport
MP_GetRenderState
MP_SetRenderState
MP_GetSamplerState
MP_SetSamplerState
MP_FrustumCulling
MP_CullingCount
MP_UsePB3D
MP_FullScreenMode
MP_SetAntialiasing
MP_ExamineScreenModes
MP_NextScreenMode
MP_ScreenModeDepth
MP_ScreenModeHeight
MP_ScreenModeWidth
MP_ScreenModeRefreshRate
MP_ElapsedMicroseconds
MP_VSync
MP_VSyncTime
MP_ScreenToHandle
MP_Wireframe
MP_Close

Render commands
MP_RenderBegin
MP_RenderEnd
MP_RenderCamera
MP_RenderMesh
MP_RenderShadow
MP_RenderPrimitives
MP_RenderText
MP_RenderSprite
MP_RenderAnimMesh
MP_RenderSky
MP_UpdateParticle
MP_Render2D
MP_RenderParticle
MP_RenderSurface
MP_SetRenderWorldCallback

Fonts
MP_LoadFont
MP_UseFont
MP_FreeFont
MP_DrawText
MP_TextSetFormat
MP_TextSetZ
MP_RotateText
MP_ScaleText
MP_TextSetColor
MP_TextGetHeight
MP_TextGetWidth
MP_DrawBitMapText

Camera
MP_CreateCamera
MP_CameraSetPerspective
MP_CameraSetRange
MP_CameraViewPort
MP_SetCameraViewPortBackColor

Light
MP_CreateLight
MP_LightSetColor
MP_LightSetRange
MP_HideLight
MP_AmbientSetLight
MP_InitShadow
MP_SetShadowEpsilon

Entity
MP_EntitySetX
MP_EntityGetX
MP_EntitySetY
MP_EntityGetY
MP_EntitySetZ
MP_EntityGetZ
MP_EntityGetPitch
MP_EntityGetYaw
MP_EntityGetRoll
MP_EntityGetName
MP_EntitySetName
MP_RotateEntity
MP_PositionEntity
MP_MoveEntity
MP_ScaleEntity
MP_TurnEntity
MP_EntitySetColor
MP_EntitySetNormals
MP_CopyEntity
MP_VertexGetX
MP_VertexSetX
MP_VertexGetY
MP_VertexSetY
MP_VertexGetZ
MP_VertexSetZ
MP_VertexGetNX
MP_VertexSetNX
MP_VertexGetNY
MP_VertexSetNY
MP_VertexGetNZ
MP_VertexSetNZ
MP_VertexGetColor
MP_VertexSetColor
MP_VertexGetU
MP_VertexSetU
MP_VertexGetV
MP_VertexSetV
MP_AddUVtoEntity
MP_EntitySetZEnable
MP_EntityGetTriangle
MP_EntitySetTexture
MP_EntitySetBumpmap
MP_BumpmapSetDest
MP_EntityGetTexture
MP_EntityGetMatrix
MP_EntitySetMatrix
MP_EntitySetParent
MP_EntityGetParent
MP_FreeEntity
MP_EntitySetEffect
MP_EntitySetOrder
MP_EntityLookAt
MP_PointEntity
MP_HideEntity
MP_CalcPitchYawRoll
MP_EntityGetRenderMatrix
MP_GetMatrixInfo
MP_MatrixTransformCoord
MP_TransformCoord
MP_ListGetSize
MP_ListGetElement
MP_ListSwapElements

3D Physic
MP_PhysicInit
MP_PhysicEnd
MP_EntityPhysicBody
MP_ChangePhysicHull
MP_PhysicHullGenTollerance
MP_EntitySetPhysicMass
MP_CreatePhysicMaterial
MP_SetPhysicMaterialProperties
MP_SetPhysicMaterialtoMesh
MP_ConstraintCreateBall
MP_ConstraintCreateHinge
MP_LimitHinge
MP_ConstraintCreateSlider
MP_LimitSliderDistance
MP_CreatePhysicMeshfromPoints
MP_ConstraintCreateUpVector
MP_UpVectorSetPin
MP_EntityAddImpulse
MP_PhysicUpdate
MP_EntityGetPhysicMatrix
MP_EntityResetPhysic
MP_EntitySetPhysic
MP_EntitySetPhysicMatrix
MP_2DCollisionTri2Tri
MP_2DCollisionLine2Line
MP_2DCollisionPoint2Tri
MP_EntitySetVelocity
MP_EntityGetVelocity
MP_EntitySetGravity
MP_EntityGetOmega
MP_EntitySetOmega
MP_EntitySetWind
MP_3DCollisionSphere2Sphere
MP_3DCollisionCube2Cube
MP_3DCollision
MP_EntityCollTri
MP_PointInMeshBox
MP_PointInSphere

Textures
MP_LoadTexture
MP_LoadCubeTexture
MP_LoadSphereTexture
MP_CatchCubeTexture
MP_CatchSphereTexture
MP_GrabTexture
MP_SaveTexture
MP_RotateTexture
MP_ResizeTexture
MP_CopyTexture
MP_ScrollTexture
MP_TextureGetPixel
MP_TextureSetPixel
MP_TextureChangeColor
MP_ImageToTexture
MP_BackBufferToTexture
MP_TexturetoImage
MP_TextureToBackBuffer
MP_CatchTexture
MP_CreateTexture
MP_CreateBackBufferTexture
MP_ScreenshotToTexture
MP_TexturOutput
MP_CreateNormalMap
MP_CreateCubeTexture
MP_CopyTexturetoCubeTexture
MP_CreateTextureAlpha
MP_SetRenderToTexture
MP_CreateTextureColor
MP_TextureSetColor
MP_TexturSetAlphaColor
MP_CreateImageColored
MP_SurfaceToTexture
MP_RenderToTexture
MP_TextureOnTexture
MP_TextureGetHeight
MP_TextureGetWidth
MP_SetTextureStageState
MP_GetTextureStageState
MP_InfoTexture
MP_TextureSetName
MP_TextureGetName
MP_FreeTexture

Surface
MP_CreateSurface
MP_LoadSurface
MP_ImageToSurface
MP_SaveSurface
MP_TextureToSurface
MP_SurfaceSetPosition
MP_SurfaceGetHeight
MP_SurfaceGetWidth
MP_ScrollSurface
MP_SurfaceSrcRect
MP_SurfaceDestRect
MP_SurfaceGetPixel
MP_SurfaceSetPixel
MP_FreeSurface

Mesh
MP_LoadMesh
MP_SaveMesh
MP_SaveB3DMesh
MP_CatchMesh
MP_ResizeMesh
MP_GetMeshInfo
MP_ChangeMeshCoord
MP_RotateMesh
MP_TranslateMesh
MP_AddMesh
MP_MeshGetHeight
MP_MeshGetWidth
MP_MeshGetDepth
MP_ScaleMesh
MP_MeshSetAlpha
MP_MeshAlphaSort
MP_MeshSetBlendColor
MP_CountSurfaces
MP_CountTriangles
MP_CountVertices
MP_CreateMesh
MP_AddVertex
MP_FreeVertex
MP_AddTriangle
MP_FreeTriangle
MP_GetMeshData
MP_SetMeshData
MP_MeshCountTexture
MP_MeshSetTextureStage
MP_MeshCulling
MP_CreateCube
MP_CreateRectangle
MP_CreateSkyBox
MP_CatchSkyBox
MP_CreateSkySphere
MP_CreateSphere
MP_CreatePyramid
MP_CreateTeapot
MP_CreateCylinder
MP_CreateCone
MP_CreateTorus
MP_CreatePolygon
MP_Create3DText
MP_CreatePlane
MP_LoadTerrain
MP_TextureToTerrain
MP_TerrainGetY

Keyboard, mouse and joystick
MP_DeviceStatus
MP_KeyDown
MP_KeyHit
MP_KeyRelease
MP_MouseButtonDown
MP_MouseButtonUp
MP_MouseButtonRelease
MP_MouseButtonHit
MP_MouseDeltaX
MP_MouseDeltaY
MP_MouseDeltaWheel
MP_MouseInWindow
MP_JoystickInfo
MP_InitForceFeedBack
MP_ForcefeedbackEffect
MP_JoystickButtonDown
MP_JoystickAnalogX
MP_JoystickAnalogY
MP_JoystickAnalogThrottle
MP_JoystickAnalogXrot
MP_JoystickAnalogYrot
MP_JoystickAnalogZrot
MP_JoystickPOV
MP_JoystickSlider

Cursor
MP_UseCursor
MP_CursorSetPos
MP_CursorGetPosX
MP_CursorGetPosY

Effects
MP_Fog

Color values
MP_ARGB
MP_Alpha
MP_Red
MP_Green
MP_Blue

Particlesystem
MP_CreateParticleEmitter
MP_CreateOneShotEmitter
MP_KillParticleEmitter
MP_ParticleEmitterStartTime
MP_ParticleBlendingMode
MP_ParticleVarSize
MP_ParticleColorRange
MP_ParticleEmissionRate
MP_ParticleTimeToLive
MP_ParticleSize
MP_ParticleChangeColor
MP_ParticleFadeOut
MP_ParticleAcceleration
MP_GetRenderedParticles
MP_SetParticleEmitter
MP_ParticleEmitterSetAnimate

TextureShader
MP_CreateTextureShader
MP_LoadTextureShader
MP_CompileTextureShader
MP_CatchTextureShader
MP_UseTextureShader
MP_TextureShaderSetVar_f
MP_TextureShaderSetVar_I
MP_FreeTextureShader

Shader
MP_UseBackbufferShader
MP_CreateMyShader
MP_UsePixelShader
MP_SetTechniqueMyShader
MP_ShaderSetEntity
MP_ShaderSetVar_f
MP_ShaderGetVar_f
MP_ShaderSetVar_I
MP_ShaderGetVar_I
MP_ShaderSetTexture
MP_ShaderSet_D3DMATRIX
MP_ShaderSet_Float3
MP_ShaderSet_Float4
MP_ShaderGetWorldView
MP_ShaderGetWorldViewI
MP_ShaderGetLightDirection
MP_ShaderGetLightWorld
MP_ShaderGetCamProjection
MP_ShaderGetCamView
MP_ShaderGetView
MP_ShaderGetViewI
MP_ShaderGetCamPos
MP_ShaderGetLightPos
MP_ShaderGetWorld
MP_ShaderGetWorldI
MP_ShaderGetWorldITranspose
MP_FreeShader

Material
MP_MaterialDiffuseColor
MP_MaterialAmbientColor
MP_MaterialSpecularColor
MP_MaterialEmissiveColor

V2Library
MP_CatchV2M
MP_LoadV2M
MP_FreeV2M
MP_StopV2M
MP_PlayV2M
MP_GetCurrentTimeV2M
MP_GetNeededTimeV2M
MP_GetChannelVUV2M
MP_GetMainVUV2M
MP_IsPlayingV2M
MP_SetVolumeV2M

Picked commands
MP_PickCamera
MP_PickLine
MP_PickedGetDistance
MP_PickedGetEntity
MP_PickedGetTriangle
MP_PickSprite

Sprites
MP_LoadSprite
MP_SpriteFromTexture
MP_SpriteSetZ
MP_SpriteSetParent
MP_SpriteGetParent
MP_SpriteGetCenterX
MP_SpriteGetCenterY
MP_SpriteSetCenterX
MP_SpriteSetCenterY
MP_CatchSprite
MP_DrawSprite
MP_SpriteBlendingMode
MP_CreateSprite
MP_CopySprite
MP_RotateSprite
MP_ScaleSprite
MP_SpriteGetTexture
MP_SpriteSetTexture
MP_TransparentSpriteColor
MP_DrawTiledSprite
MP_TurnSprite
MP_FreeSprite
MP_SpriteCollision
MP_SpritePixelCollision
MP_DrawFrameSprite
MP_DrawRectSprite
MP_SpriteGetFrame
MP_SpriteGetHeight
MP_SpriteGetWidth
MP_SpriteSetAnimate
MP_SpriteSetAnimdirection
MP_SpriteSetFrame

DS Sound
MP_LoadSound
MP_CatchSound
MP_FreeSound
MP_PlaySound
MP_ResumeSound
MP_PauseSound
MP_StopSound
MP_SoundGetPosition
MP_SoundSetPosition
MP_SoundGetFrequency
MP_SoundSetFrequency
MP_SoundSetVolume
MP_SoundSetPan

Animation Mesh
MP_LoadAnimMesh
MP_SaveAnimMesh
MP_CatchAnimMesh
MP_GetAnimationSetName
MP_SetAnimationSet
MP_AnimateFaster
MP_AnimateSlower
MP_CountAnimateSets
MP_NextAnimationSet

Primitives
MP_CreatePrimitives
MP_SetPrimitives
MP_LoadPrimitives
MP_CatchPrimitives
MP_SavePrimitives
MP_PrimitivesBlendingMode
MP_GetPrimitives
MP_GetMemPrimitives
MP_CloseMemPrimitives
MP_SizeMemPrimitives

2D draw
MP_SetPixel
MP_GetPixel
MP_Box
MP_Circle
MP_Line
MP_LineXY

2D Physic
MP_2DPhysicInit
MP_2DPhysicUpdate
MP_2DPhysicEnd
MP_2DPhysicSetGravity
MP_2DPhysicBodyBox
MP_2DPhysicBodyCircle
MP_2DPhysicBodyPolygon
MP_2DPhysicAddCircle
MP_2DPhysicStaticLine
MP_2DPhysicStaticCircle
MP_2DPhysicStaticBox
MP_2DPhysicStaticPolygon
MP_2DPhysicBodyGetX
MP_2DPhysicBodySetX
MP_2DPhysicBodyGetY
MP_2DPhysicBodySetY
MP_2DPhysicBodyGetColor
MP_2DPhysicBodySetColor
MP_2DPhysicBodySetProperties
MP_2DPhysicBodySetInertia
MP_2DPhysicBodyGetAngle
MP_2DPhysicBodySetAngle
MP_2DPhysicBodySetVector
MP_2DPhysicBodySetAngVeloc
MP_2DPhysicCollisionInit
MP_2DPhysicCollBody
MP_2DPhysicMoveBody
MP_2DPhysicPickBody
MP_2DPhysicSetActiveHash
MP_2DPhysicSetStaticHash
MP_2DPhysicBodyRemove
MP_2DPhysicAddPivotConstraint

Epyx Fxlib
EP_InitFXLib
EP_LibVersion
EP_ScreenShot
EP_FPS
EP_Init2DStars
EP_2DStarsColor
EP_2DStarsArea
EP_2DStarsDegree
EP_2DStarsDraw
EP_LoadStarSprite
EP_CatchStarSprite
EP_2DSpritesDraw
EP_closeStarSprite
EP_2DStarsClear
EP_2DStarsDrawMode
EP_LoadFont32
EP_LoadFont16
EP_LoadFont8
EP_LoadFreeFont
EP_CatchFont32
EP_CatchFont16
EP_CatchFont8
EP_CatchFreeFont
EP_Font32SetZ
EP_Font16SetZ
EP_Font8SetZ
EP_FreeFontSetZ
EP_FreeFont32
EP_FreeFont16
EP_FreeFont8
EP_KillFreeFont
EP_GetFreeFontChars
EP_SetFreeFontChars
EP_Text32
EP_Text16
EP_Text8
EP_FreeText
EP_Write32
EP_Write16
EP_Write8
EP_FreeWrite
EP_SetScrollText
EP_GetScrollText
EP_Create32Scroll
EP_SetScroll32Speed
EP_SetSinScroll32
EP_Move32Scroll
EP_Move32TexScroll
EP_Display32Scroll
EP_Close32Scroll
EP_Create16Scroll
EP_SetScroll16Speed
EP_SetSinScroll16
EP_Move16Scroll
EP_Move16TexScroll
EP_Display16Scroll
EP_Close16Scroll
EP_FastRasterBar
EP_CreateRasterBar
EP_DisplayRasterBar
EP_DisplayRasterClone
EP_SetRasterSinAdd
EP_SetRasterSinSize
EP_RasterBarSetZ
EP_CloseRasterBar
EP_SetGradientTable
EP_SetColorTable
EP_GetColorTable
EP_ClearColorTable
EP_InitFading
EP_SetFadeState
EP_FadeScreen
EP_SetFadeColor
EP_SetFadeSpeed
EP_FadeSetZ
EP_CatchBallObject
EP_CatchVectorObject
EP_ClearBallObject
EP_Close3DBall
EP_CreateBallObject
EP_DrawBallObject
EP_Load3DBall
EP_LoadBallObject
MP_BallSetConeLimits
EP_LoadVectorObject
EP_SetPolygon

TileEngine
EP_AddTileGFX
EP_AnimTiletoFront
EP_CatchAnimTile
EP_CatchTileGFX
EP_ClearAnims
EP_ClearMapBlock
EP_ClearTiles
EP_CountFlag
EP_CountFlagArea
EP_CountItem
EP_CountItemArea
EP_CountTile
EP_CountTileArea
EP_CreateMap
EP_CreateMapBlock
EP_DrawAnimTile
EP_DrawMap
EP_DrawMapBlock
EP_DrawTile
EP_DrawTransparentMapBlock
EP_FindFlag
EP_FindFlagArea
EP_FindItem
EP_FindItemArea
EP_GetAnimGFXPath
EP_GetAnimTileCount
EP_GetFindResultX
EP_GetFindResultY
EP_GetGFXPath
EP_GetMapAnim
EP_GetMapBlockAnim
EP_GetMapBlockFlag
EP_GetMapBlockItem
EP_GetMapBlockTile
EP_GetMapBlockTrans
EP_GetMapFlag
EP_GetMapItem
EP_GetMapSizeX
EP_GetMapSizeY
EP_GetMapTile
EP_GetMapTrans
EP_GetTileCount
EP_GetTileGFXCatch
EP_GetTileGFXCount
EP_GetTileGFXPath
EP_GetTileSize
EP_GetTileSprite
EP_GrabMapBlock
EP_Init2dMap
EP_LoadAnimTile
EP_LoadMap
EP_CatchMap
EP_MapPosition
EP_MapSysVersion
EP_MapX2Pixel
EP_MapX2ScreenX
EP_MapY2Pixel
EP_MapY2ScreenY
EP_Pixel2Map_X
EP_Pixel2Map_Y
EP_ResetMapData
EP_SaveMap
EP_SaveTile
EP_ScreenX2MapX
EP_ScreenY2MapY
EP_SetAnimTileSpeed
EP_SetGFXPath
EP_SetMapAnim
EP_SetMapArea
EP_SetMapBlockAnim
EP_SetMapBlockFlag
EP_SetMapBlockItem
EP_SetMapBlockTile
EP_SetMapBlockTrans
EP_SetMapFlag
EP_SetMapItem
EP_SetMapTile
EP_SetMapTrans
EP_SetTileGFX
EP_SetTileGFXCatch
EP_TiletoFront

Movie
MP_OpenMovie
MP_CreateMovie
MP_MovieHeight
MP_MovieWidth
MP_MovieNumFrames
MP_FrameToMovie
MP_MovieToTexture
MP_CloseMovie

Tipps and Tricks


MP_AddressOf()

Syntax

MP_AddressOf(Var)

Beschreibung

This command identifies the addresses of various pointers of DX9 and will be expanded in future

Dieser Befehl gibt die Adressen von verschiedenen DX9 Pointern an und wird in Zukunft erweitert

Parameter
Var	= 1, *D3DDevice.IDIRECT3DDEVICE9, Pointer to DX9 Device
           *D3DDevice.IDIRECT3DDEVICE9,  Pointer zum DX9 Device
        2,  Adress of hwnd
             Adresse des hwnd

return value
address as an integer
Adresse als Ganzzahl

MP3D_Library - index


MP_VersionOf()

Syntax

MP_VersionOf(Var)

Beschreibung

This command displays the version of mp3d engine and the version of the shaders of the graphics card
Notes: This Alpha version has the version number 32

Dieser Befehl zeigt die Version der MP3D Engine und die Version der Shader der Grafikkarte an
Hinweise: Diese Alphaversion hat die Versions Nummer 32

Parameter
Var	= 1, version of mp3d Engine (Alpha 32)
           Version der MP3D Engine (Alpha 32)
Var	= 2, vertex shader version of the video card
           VertexShader Version der Grafikkarte
Var	= 3, pixel shader version of the video card
           PixelShader Version der Grafikkarte
Var	= 4, total number of CPU cores
           Anzahl der CPU Kerne
Var	= 5, shows the available graphics card memory in megabytes
           zeigt den vorhandenen Grafikkartenspeicher in Megabyte an

return value
Var = 1, return value =  mp3d version
            MP3D Versionwert
Var = 2, return value = the first two bytes specify the main shader, the other two bytes the of the outnumbered shader
            Die ersten beiden Bytes geben die Haupzahl, die weiteren beiden Bytes die Unterzahl an
Var = 3, return value = the first two bytes specify the main shader, the other two bytes the of the outnumbered shader
            Die ersten beiden Bytes geben die Haupzahl, die weiteren beiden Bytes die Unterzahl an
Var = 4, return value = number of processors
            Rückgabewert die Anzahl der Prozessoren
Var = 5, return value = memory in megabyte
            Grafikspeicher in Megabyte

Beispiel

MP_Graphics3D (640,480,0,1) ;

Debug "Version der MP3D Lib " + Str(MP_VersionOf(1))
Debug "Version VertexShader " + Hex(MP_VersionOf(2))
Debug "Version PixelShader   " + Hex(MP_VersionOf(3))


MP_FeaturesOf()

Syntax

MP_FeaturesOf(Var)

Beschreibung

This command displays information about the video card

Dieser Befehl zeigt Informationen über die Grafikkarte an

Parameter
Var	= 1, Maximum size of the texture in pixels,
           Maximale Grösse der Textur in Pixel
Var	= 2, Does the texture to be square?
           Muss die Textur quadratisch sein?
Var	= 3, Does the texture to be a variety of 2 (1,2,4,8 ,...)?
           Muss die Textur eine Vielfältiges von 2 (1,2,4,8,...) haben?
Var	= 4, Could it be an exception to Var = 3?
           Könnte es eine Ausnahme zu Var = 3 geben?

return value
Var = 1, return value, maximum size of the texture in pixels
          Maximal Grösse der Textur in Pixel
Var = 2, return value, # True, the texture must be square / # False = No
          #True, die Textur muss quadratisch sein /  #False = Nein
Var = 3, return value, # True, the texture must have a variety of 2 / # False = No
          #True, die Textur muss ein Vielfältiges von 2 haben /  #False = Nein
Var = 4, return value, # True, it might be an exception, see, this http://www.kludx.com/capability.php?capability=144 / # False = No
          #True, es könnte eine Ausnahme sein, siehe dazu http://www.kludx.com/capability.php?capability=144 / #False = Nein

Beispiel

MP_Graphics3DWindow(0, 0, 20, 20, "" , #PB_Window_Invisible) ;MP_Graphics3D (640,480,0,3) ; Erstelle ein WindowsFenster mit 3D Funktion #Window = 0

a.s = "Maximale Grösse der Textur in Pixel "+Str(MP_FeaturesOf(1)) + Chr(10)

If MP_FeaturesOf(2)
   a + "Muss die Textur quadratisch sein: Ja " + Chr(10)
Else
   a + "Muss die Textur quadratisch sein: Nein " + Chr(10)
EndIf

If MP_FeaturesOf(3)
   a + "Muss die Textur eine Vielfältiges von 2 (1,2,4,8,...) haben: Ja " + Chr(10)
Else
   a + "Muss die Textur eine Vielfältiges von 2 (1,2,4,8,...) haben: Nein " + Chr(10)
EndIf

If MP_FeaturesOf(3)
   a + "Könnte es eine Ausnahme zu dem Vielfältiges von 2 geben: Ja " + Chr(10)
Else
   a + "Könnte es eine Ausnahme zu dem Vielfältiges von 2 geben: Nein "   + Chr(10)
EndIf

a + "Vertex Shaderversion: "+Hex(MP_VersionOf(2)) + Chr(10)
a + "Pixel Shaderversion: "+Hex(MP_VersionOf(3))

MessageRequester("Info über Grafikkarte", a)


MP_IsScreenActive()

Syntax

MP_IsScreenActive()

Beschreibung

The command MP_IsScreenActive determined whether the program window is in the foreground

Der Befehl MP_IsScreenActive ermittelt ob das Programmfenster im Vordergrund steht

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ScreenGetHeigth()

Syntax

MP_ScreenGetHeigth()

Beschreibung

The function MP_ScreenGetHeigth gets the height of the 3D Screen.

Die Funktion MP_ScreenGetHeigth ermittelt die Höhe des 3D Screens.

Parameter
-

return value
Height of the 3D screen or in case of error #False
Höhe des 3D Screens oder im Fehlerfall #False


MP_ScreenGetWidth()

Syntax

MP_ScreenGetWidth()

Beschreibung

The function MP_ScreenGetWidth gets the width of the 3D Screen.

Die Funktion MP_ScreenGetWidth ermittelt die Breite des 3D Screens.

Parameter
-

return value
Width of the 3D screen or in case of error #False
Breite des 3D Screens oder im Fehlerfall #False


MP_GetLastError()

Syntax

MP_GetLastError()

Beschreibung

The command MP_GetLastError () returns an error number and error text

Der Befehl MP_GetLastError() gibt eine Fehlernummer und Fehlertext aus

Parameter
-

return value
last error number and error text as a string on failure
Letzte Fehlernummer mit Fehlertext als String im Fehlerfall

Error number:
# 1 All Okay
# 2 Directx device can not be generated, missing DX9
# 3 16bit z-buffer does not initialized
# 4 Back buffer format can not be set
# 5 display adapter can not be initialized
# 6 Directx9 can not be initialized
# 7 Mode match can not be initialized
# 8 color depth can not be set
# 9 SetCooperativeLevel not made exclusive
# 10 Standard Font could not be produced
# 11 GetDeviceCaps error, graphics adapter may not VERTEX PROCESSING
# 12 is already initialized hwnd
# 13 DirectSound can not be initialized
# 14 Wave header for Direct Sound is faulty
# 15 Wave file for DirectSound could not be opened
# 16 shader texture could not be created: + Error Text
# 17 shader could not be created: + Error text
# 18 grafic file could not be loaded
# 19 grafic file could not be saved
# 20 entity could not be loaded
# 21 entity could not be saved

# General 3D Device Error

Fehlernummer:
#1 Alles Okay
#2 Directx Device kann nicht erzeugt werden, DX9 fehlt
#3 16bit z-buffer funktioniert nicht
#4 Back buffer Format kann nicht erzeugt werden
#5 display adapter kann nicht initialisiert werden
#6 Directx9 kann nicht initialisiert werden
#7 Mode match kann nicht initialisiert werden
#8 Farbtiefe kann nicht gesetzt werden
#9 SetCooperativeLevel konnte nicht exclusive erfolgen
#10 Standard Font konnte nicht erzeugt werden
#11 GetDeviceCaps Fehler, Grafikadapter kann kein VERTEXPROCESSING
#12 hwnd ist schon initalisiert
#13 DirectSound kann nicht  initialisiert werden
#14 Wave Header für DirectSound ist fehlerhaft
#15 Wave Datei für DirectSound konnte nicht geöffnet werden
#16 Texturshader konnte nicht erstellt werden: + ErrorText
#17 Shader konnte nicht erstellt werden: + ErrorText
#18 Grafik konnte nicht geladen werden
#19 Grafik konnte nicht gespeichert werden
#20 Objekt konnte nicht geladen werden
#21 Objekt konnte nicht gespeichert werden

# Allgemeiner 3D Device Fehler


MP_GetLastErrorNr()

Syntax

MP_GetLastErrorNr()

Beschreibung

The command MP_GetLastErrorNr () returns an error number

Der Befehl MP_GetLastErrorNr() gibt eine Fehlernummer aus

Parameter
-

return value
last error number
Letzte Fehlernummer

Error number:
# 1 All Okay
# 2 Directx device can not be generated, missing DX9
# 3 16bit z-buffer does not initialized
# 4 Back buffer format can not be set
# 5 display adapter can not be initialized
# 6 Directx9 can not be initialized
# 7 Mode match can not be initialized
# 8 color depth can not be set
# 9 SetCooperativeLevel not made exclusive
# 10 Standard Font could not be produced
# 11 GetDeviceCaps error, graphics adapter may not VERTEX PROCESSING
# 12 is already initialized hwnd
# 13 DirectSound can not be initialized
# 14 Wave header for Direct Sound is faulty
# 15 Wave file for DirectSound could not be opened
# 16 shader texture could not be created: + Error Text
# 17 shader could not be created: + Error text
# 18 grafic file could not be loaded
# 19 grafic file could not be saved
# 20 entity could not be loaded
# 21 entity could not be saved

# General 3D Device Error

Fehlernummer:
1  = Alles Okay
2  = Directx Device kann nicht erzeugt werden, DX9 fehlt
3  = 16bit z-buffer funktioniert nicht
4  = back buffer Format kann nicht erzeugt werden
5  = display adapter kann nicht initialisiert werden
6  = Directx9 kann nicht initialisiert werden
7  = Mode match kann nicht initialisiert werden
8   = Farbtiefe kann nicht gesetzt werden
9  = SetCooperativeLevel konnte nicht exclusive erfolgen
10  = Standard Font konnte nicht erzeugt werden
11  = GetDeviceCaps Fehler, Grafikadapter kann kein VERTEXPROCESSING
12  = hwnd ist schon initalisiert
13  = DirectSound kann nicht  initialisiert werden
14  = Wave Header für DirectSound ist fehlerhaft
15  = Wave Datei für DirectSound konnte nicht geöffnet werden
16  = Texturshader konnte nicht erstellt werden
17  = Shader konnte nicht erstellt werden
18 = Grafik konnte nicht geladen werden
19 = Grafik konnte nicht gespeichert werden
20 = Objekt konnte nicht geladen werden
21 = Objekt konnte nicht gespeichert werden

?   = Allgemeiner 3D Device Fehler


MP_DegtoRad()

Syntax

MP_DegtoRad(Deg.f)

Beschreibung

The command MP_DegtoRad calculate the radians of an angle

Der Befehl MP_DegtoRad berechnet das Bogenmaß aus einem Winkel

Parameter
Deg.f	= angle as float
       Winkel als Float

return value
radians as float
BogenMaß als Float


MP_RadtoDeg()

Syntax

MP_RadtoDeg(Rad.f)

Beschreibung

The command MP_RadtoDeg calculates the angle of a radians.

Der Befehl MP_RadtoDeg berechnet den Winkel aus einem Bogenmaß.

Parameter
Rad.f	= radians as float
       Bogenmaß als Float

return value
angle in degrees as a float
Winkel in Grad als Float


MP_Atan2()

Syntax

MP_Atan2(x.f,y.f)

Beschreibung

The command MP_Atan2 is equivalent to a Atan2 function. Here, the angle between the coordinate of 0.0 and x, y are calculated in degrees.

Der Befehl MP_Atan2 entspricht einer Atan2 Funktion. Hier kann der Winkel zwischen der Koordinate 0,0 und x,y in Grad ermittelt werden.

Parameter
x.f	= x-coordinate as float
       x-Koordinate als Float
y.f	= y-coordinate as float
       y-Koordinate als Float

return value
angle in degrees as a float or in case of error # False
Winkel in Grad als Float oder im Fehlerfall #False


MP_ModFloat()

Syntax

MP_ModFloat(Var.f, Mod.f)

Beschreibung

The command MP_ModFloat is a modulo command, but gives back the rest of the float division of the variable Var.f through Mod.f.

Der Befehl MP_ModFloat entspricht den Modulo Befehl, aber gibt den Rest der Float-Division der Variable Var.f durch Mod.f zurück.

Parameter
Var.f	= value as float
       Wert als Float
Mod.f	= value as float
       Wert als Float

return value
modulo value as float
Modulo Wert als Float


MP_2Dto3D()

Syntax

MP_2Dto3D(x.f, y.f, z.f, *pV.D3DXVector3)

Beschreibung

The command MP_2Dto3D calculate from a 2d Monitor Screen information a 3d point of the 3d world

Der Befehl MP_2Dto3D berechnet aus 2D Koordinaten des Monitor Screens einen 3D Punkt in der der 3d Welt

Parameter
x.f		= x 2D point of screen as float
              X 2d Punkt des Screen als float
y.f		= y 2D point of screen as float
              Y 2d Punkt des Screen als float
z.f		= z 2D point of screen as float
               Z 2d Punkt des Screen als float
*pV.D3DXVector3 	= Adresse of a 3d Point (x.f/y.f/z.f)
           Adresse eines 3d Punktes (x.f/y.f/z.f)

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_3Dto2D()

Syntax

MP_3Dto2D(x.f, y.f, z.f, *pV.D3DXVector3)

Beschreibung

The command MP_3Dto2D calculate from the 3D world 2d point of the Monitor Screen

Der Befehl MP_3Dto2D berechnet aus 3D Welt Koordinaten einen 2D Pinkt des Monitor Screens

Parameter
x.f		= x 2D point of screen as float
              X 2d Punkt des Screen als float
y.f		= y 2D point of screen as float
              Y 2d Punkt des Screen als float
z.f		= z 2D point of screen as float
               Z 2d Punkt des Screen als float
*pV.D3DXVector3 	= Adresse of a 2d Point (x.f/y.f/z.f)
           Adresse eines 2d Punktes (x.f/y.f/z.f)

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_3DZto2D()

Syntax

MP_3DZto2D(z.f)

Beschreibung

The command MP_3DZto2D calculate the z paramter form a 3d Space to the 3d Space

Der Befehl MP_3DZto2D berechnet den z-Wert um 2D Koordinaten in einen 3d Raum zu transferieren.

Parameter
z.f		= z-paramter of the 3D position
              z-Wert im 3D Raum

return value
z-value for 2d Space
z-Wert für 2d Space


MP_LimitTo360()

Syntax

MP_LimitTo360(angle.f)

Beschreibung

The command MP_LimitTo360 a limited angle to an angle of 360 degrees (+ or -). The rest angle remains are mathematically correct.

Der Befehl MP_LimitTo360 begrenzt einen Winkel auf einen Winkel unter 360 Grad (+ und -). Der Restwinkel bleibt dabei mathematisch richtig bestehen.

Parameter
angle.f	= angle as float
       Winkel als Float

return value
angle in degrees as a float or in case of error # False
Winkel in Grad als Float oder im Fehlerfall #False

Beispiel

angle.f = 370.5
Debug MP_LimitTo360(angle) ; = 10.5 Grad

angle.f = -759
Debug MP_LimitTo360(angle) ;   = -39 Grad ;   (angle - 360 - 360 = -39)


MP_GetTimerResolution()

Syntax

MP_GetTimerResolution()

Beschreibung

The function MP_GetTimerResolution get the timer resolutionof the internal timer

Die Funktion MP_GetTimerResolution ließt den Timerwert des internen Timers

Parameter
-

return value
time value
Zeitwert


MP_SetTimerResolution()

Syntax

MP_SetTimerResolution(Resolution)

Beschreibung

The function MP_SetTimerResolution set a timer resolution for the internal timer

Die Funktion MP_SetTimerResolution setst eine Timerwert für den internen Timer

Parameter
Resolution = value for resolution in micoseconds
        Wert für die Auflösung in Mikrosekunden

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_Requester()

Syntax

MP_Requester(title.s, mess.s, Downtime)

Beschreibung

This information window appears and disappears after a preset period of time.

Hiermit wird ein Hinweisfenster angezeigt welches nach einer voreingestellter Zeit wieder verschwindet.

Parameter
Titel.s	 = window text as a string
        Fenstertext als String
mess.s	 = information text as a string
        Informationstext als String
Downtime	= display time in seconds
       Anzeigedauer in Sekunde

return value
-

Beispiel

MP_Requester ("Hinweis", "Diese Nachricht verschwindet in 10 Sekunden", 10)


MP_RandomFloat()

Syntax

MP_RandomFloat(fMin.f, fMax.f)

Beschreibung

Generates a random float value between fMin.f and fMax.f

Erzeugt einen Float Zufallswert zwischen fMin.f und fMax.f

Parameter
fMin.f	= float value as the minimum value
       Float Wert als Minimumwert
fMax.f	= float value as a maximum value
       Float Wert als Maximumwert

return value
float value
Float Wert

Beispiel

for n = 0 to 10
    debug MP_RandomFloat( - 5 , 5)
next


MP_RandomInt()

Syntax

MP_RandomInt(Min, Max)

Beschreibung

Generates a random integer value between Min and Max

Erzeugt einen Integer Zufallswert zwischen Min und Max

Parameter
Min	= minimum value
       Minimumwert
Max	= maximum value
       Maximumwert

return value
random value
Zufallswert

Beispiel

for n = 0 to 10
    debug MP_RandomInt( - 5 , 5)
next


MP_RemoveNil()

Syntax

MP_RemoveNil(String.s)

Beschreibung

The command MP_RemoveNil cuts away all the trailing zeros in a string. Is important for float to String applications.

Der Befehl MP_RemoveNil schneidet alle nachfolgenden Nullen bei einem String weg. Ist bei Float to String Anwendungen wichtig.

Parameter
String.s	= string
       String

return value
string
String

IMPORTANT! For technical reasons, can not perform other procedures within MP_RemoveNil () because these are carried out incorrectly.
WICHTIG! Aus technischen Gründen kann man andere Prozeduren nicht innerhalb von MP_RemoveNil() ausführen, da diese fehlerhaft durchgeführt werden.

Example:

Zahl.f = 1
debug MP_RemoveNil (strF (number))); gives an error (wrong return 1.00000)

Correct:
Zahl.f = 1
String.s = str (number)
MP_RemoveNil debug (String)

Beispiel:

Zahl.f = 1
debug MP_RemoveNil(strf(Zahl))) ; ergibt einen Fehler (Ergibt 1.00000)

Richtig:
Zahl.f = 1
String.s = str(Zahl)
debug MP_RemoveNil(String)

Beispiel

String.s = "1223.560000"
debug MP_RemoveNil(String.s)


MP_Graphics3D()

Syntax

MP_Graphics3D(Width, Height, Depth, Modus)

Beschreibung

MP_Graphics3D is the most important graphics command at all. This command creates a 3D graphics window (width, height, color depth and mode). Here opens a Purebasic Windows (0) and you can use the "normal" Purebasic commands for that window.

MP_Graphics3D ist der wichtigste Grafikbefehl überhaupt. Dieser Befehl öffnet ein 3D Grafikfenster (Breite, Höhe, Farbtiefe und Modus). Hier wird eine Windows(0) erzeugt, auf das man mit den "normalen" Purebasic Befehlen zugreifen kann.

Parameter
Width	= width of the resolution in pixels
       Breite der Auflösung in Pixel
Height	= height of the resolution in pixels
       Höhe der Auflösung in Pixel
Depth	= depth (0 = auto, 16, 24 or 32 bit is needed only for the full-screen mode)
       Farbtiefe (0=auto, 16, 24 oder 32 Bit, Wird nur für den Vollbildmodus benötigt)
Modus	= 0-full screen, 1-window mode with a title line, 2-window mode with title line and minimize gadget and 3-window mode (scalable)
       0-Vollbildmodus, 1-Fenstermodus mit Titelzeile, 2-Fenstermodus mit Titelzeile und Minimieren-Gadget und 3-Fenstermodus (skalierbar)

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (800,600,32,0) ; Erstelle ein Vollbild 3D Fenster mit 800x600 Punkten und 32 Farben

While Zaehler < 60
      Zaehler + 1
      MP_RenderWorld () ; Hier gehts los
      MP_Flip () ;
Wend
; Endet nach 60 Sekunden


MP_Graphics3DWindow()

Syntax

MP_Graphics3DWindow(x, y, Width, Height , Title.s , Flags)

Beschreibung

MP_Graphics3DWindows Purebasic created a compatible Windows. This command creates a 3D graphics window. Here opens a Purebasic Windows (0) and you can use the "normal" Purebasic commands for that window.

MP_Graphics3DWindows erstellt ein Purebasic kompatibels Windows. Dieser Befehl öffnet ein 3D Grafikfenster. Hier wird eine Windows(0) erzeugt, auf das man mit den "normalen" Purebasic Befehlen zugreifen kann.

Parameter
x	= x position of the window
       x-Position des Fensters
y	= y-Position des Fensters
       y-Position des Fensters
Width	= width of the resolution in pixels
       Breite der Auflösung in Pixel
Height	= height of the resolution in pixels
       Höhe der Auflösung in Pixel
Title.s	= window title as a string
       Fenstertitel als String
Flags	= #PB_Window_SystemMenu : Activate the system menu in the window title line.
       Schaltet das System-Menü in der Fenster-Titelzeile ein.
    = #PB_Window_MinimizeGadget: Adds the minimize gadget line to the window title. # PB_Window_SystemMenu is automatically added.
       Fügt das Minimieren-Gadget der Fenster-Titelzeile hinzu. #PB_Window_SystemMenu wird automatisch hinzugefügt.
    = #PB_Window_MaximizeGadget: Adds the maximize gadget line to the window title. # PB_Window_SystemMenu is automatically added.
       Fügt das Maximieren-Gadget der Fenster-Titelzeile hinzu. #PB_Window_SystemMenu wird automatisch hinzugefügt.
    = #PB_Window_SizeGadget : Adds the resizing of the window gadget
       Fügt das Größenänderungs-Gadget zum Fenster hinzu.
    = #PB_Window_Invisible : Creates a window, but displays nothing
       Erstellt ein Fenster, zeigt es aber nicht an.
    = #PB_Window_TitleBar : Creates a window with a title bar.
       Erstellt ein Fenster mit einer Titelzeile.
    = #PB_Window_BorderLess : Creates a window without any borders.
       Erstellt ein Fenster ohne jegliche Ränder.
    = #PB_Window_ScreenCentered: Centers the window in the middle of the screen. The parameters x, y are ignored.
       Zentriert das Fenster in der Mitte des Bildschirms. Die Parameter x,y werden ignoriert.
    = #PB_Window_WindowCentered: Centers the window in the middle of the parent window (parent window "- 'ParentWindowID' must be specified so). The parameters x, y are ignored.
       Zentriert das Fenster in der Mitte des übergeordneten Fensters ("parent window" - 'ParentWindowID' muss dazu angegeben werden). Die Parameter x,y werden ignoriert.
     = #PB_Window_Maximize : Opens the window maximized.
       Öffnet das Fenster maximiert.
    = #PB_Window_Minimize : Opens the window minimized
       Öffnet das Fenster minimiert.
    = #PB_Window_NoGadgets : Prevents the creation of a gadget list. UseGadgetList () can be used in order to do so later.
       Verhindert das Erstellen einer Gadgetliste. UseGadgetList()  kann verwendet werden, um dies später zu tun.

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3DWindow(20,30, 640,480 ,"", #PB_Window_BorderLess) ; Erstelle ein randloses Windows 3D Fenster mit 640x480 Punkten

While Zaehler < 120 ; = 2s x 60 FPS
      Zaehler + 1
      MP_RenderWorld () ; Hier gehts los
      MP_Flip () ;
Wend
; Endet nach 2 Sekunden


MP_SaveMode()

Syntax

MP_SaveMode(Mode)

Beschreibung

activate the fast speed mode without error check

Aktiviert den Speedmode ohne Fehlerabfrage

Parameter
Mode	= 0, deactive
       0, nicht aktiviert
    = 1, active
       1, aktiviert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_Flip()

Syntax

MP_Flip()

Beschreibung

Switch between front and back buffer to present the drawing the DX9 screen.

Schaltet zwischen BackBuffer und FrontBuffer um, damit die Zeichnungen dargestellt werden können

Parameter
-

return value
-

Beispiel

MP_Graphics3D (800,600,32,0) ; Erstelle ein 3D Fenster mit 800x600 Punkten udn 32 Farben

While Zaehler < 60
      Zaehler + 1
      MP_RenderWorld () ; Hier gehts los
      MP_Flip () ;
Wend
; Endet nach 60 Sekunden


MP_FPS()

Syntax

MP_FPS()

Beschreibung

return the calculated FPS (frames per second) rate

Gibt die berechnete FPS (Bilder pro Sekunde) Rate wieder

Parameter
-

return value
FPS as integer
FPS als Ganzzahlwert

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "VSync Demo, was bringt mein Rechner")

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,5) ; Position des Würfels

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")

      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

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

      count +1

      If count = 500
          mp_vsync(0)
      EndIf

      If count = 30000
          mp_vsync(1)
          count = 0
      EndIf

      MP_DrawText (1,1,"FPS = "+Str(mp_fps())+" count = "+Str(count) + " VSync Time =" +StrF(MP_VSyncTime()),0,$FFFF0000)

      MP_TurnEntity (Mesh,0.1,0.2,0.3)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_RenderWorld()

Syntax

MP_RenderWorld()

Beschreibung

The command MP_RenderWorld renders the complete 3D scene

Die Anweisung MP_RenderWorld rendert die komplette 3D-Szene

Parameter
-

return value
-

Beispiel

MP_Graphics3D (800,600,32,0) ; Erstelle ein 3D Fenster mit 800x600 Punkten udn 32 Farben

While Zaehler < 60
      Zaehler + 1
      MP_RenderWorld () ; Hier gehts los
      MP_Flip () ;
Wend
; Endet nach 60 Sekunden


MP_Viewport()

Syntax

MP_Viewport(x, y, Width, Height)

Beschreibung

Creates on a MP_Graphics3D window a small 3D window. Use for 3D applications.

Erzeugt auf einem MP_Graphics3D Fenster ein kleineres 3D Fenster. Verwendung für 3D Applikationen.

Parameter
x      	= x-start position of the 3D window in pixels
       x-Startposition des 3D Fensters in Pixel
y      	= y-start position of the 3D window in pixels
       y-Startposition des 3D Fensters in Pixel
Width  	= width of the 3D window in pixels
       Breite der 3D Fensters in Pixel
Height	= height of the 3D window in pixels
       Höhe des 3D Fensters in Pixel

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein 3D WindowsFenster mit #Window = 0
SetWindowTitle(0, "Hier passiert nicht viel") ; So soll es heissen

x = 10 : y = 10 : xw = 10 : yw = 10

camera=MP_CreateCamera()
light=MP_CreateLight(1)
teapot = MP_CreateTeapot()

MP_EntitySetZ (teapot , 8)

While Not WindowEvent() = #PB_Event_CloseWindow; Oben rechts schliessen wählen

      If xw < 460 ; Mache langsam das 3D Fenster grösser
          xw + 1
          yw + 1
          MP_Viewport(x,y,xw,yw)
      EndIf

      MP_RenderWorld () ; Hier gehts los
      MP_Flip () ;

Wend


MP_GetRenderState()

Syntax

MP_GetRenderState(State)

Beschreibung

The command MP_GetRenderState read the state for al kinds of vertex and pixel processing.

Die Anweisung MP_SetRenderState ließt den Status für einen Vertex und Pixel Verabeitungsprozess

Parameter
State     	= State.D3DRENDERSTATETYPE
       State.D3DRENDERSTATETYPE

return value
Value of Stateprocess
Wert des State prozess

You find more information here :
Du findest hier mehr Informationen
http://msdn.microsoft.com/en-us/library/bb174403(v=vs.85).aspx


MP_SetRenderState()

Syntax

MP_SetRenderState(State, Value)

Beschreibung

The command MP_SetRenderState define the state states for all kinds of vertex and pixel processing.

Die Anweisung MP_SetRenderState setzt den Status für alle Vertex und Pixel Verabeitungsprozesse

Parameter
State     	= State.D3DRENDERSTATETYPE
       State.D3DRENDERSTATETYPE
Value     	= Value as integer
       Value als Integer

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

You find more information here :
Du findest hier mehr Informationen
http://msdn.microsoft.com/en-us/library/bb174454(v=vs.85).aspx


MP_GetSamplerState()

Syntax

MP_GetSamplerState(Type)

Beschreibung

The command MP_GetSamplerStatedefine read the state of the textur sampler

Die Anweisung MP_GetSamplerState ließt den Status der Texturfiltertechnik

Parameter
Type     	= State.D3DSAMPLERSTATETYPE
       State.D3DSAMPLERSTATETYPE

return value
Value of Stateprocess
Wert des State prozess

You find more information here :
Du findest hier mehr Informationen
http://msdn.microsoft.com/en-us/library/bb174456%28v=vs.85%29


MP_SetSamplerState()

Syntax

MP_SetSamplerState(Type, Value)

Beschreibung

The command MP_SetSamplerState define the state of the textur sampler

Die Anweisung MP_SetSamplerState setzt den Status der Texturfiltertechnik

Parameter
State     	= State.D3DSAMPLERSTATETYPE
       State.D3DSAMPLERSTATETYPE
Value     	= Value as integer
       Value als Integer

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

You find more information here :
Du findest hier mehr Informationen
http://msdn.microsoft.com/en-us/library/bb174456%28v=vs.85%29


MP_FrustumCulling()

Syntax

MP_FrustumCulling(Mode)

Beschreibung

The command MP_FrustumCulling activate the FrustumCulling process. Only meshs in front of teh camera will displayed

Die Anweisung MP_FrustumCulling aktiviert den FrustumCulling Prozess. Es werde dann nur noch Meshs vor der Kamera angezeigt.

Parameter
Mode	= 1, activate
       1, aktiviered
       0, deactive
       0 deaktiviert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CullingCount()

Syntax

MP_CullingCount()

Beschreibung

The command MP_CullingCount count the shown objects with activated FrustumCullum

Die Anweisung MP_CullingCount zählt die trotz FrustumCullum angezeigten Objekte.

Parameter
-

return value
count ogf objects
Anzahl der Objekte


MP_UsePB3D()

Syntax

MP_UsePB3D([D3DDevice])

Beschreibung

internal (hack) function. With the command MP_UsePB3D you can get a dx9 device form PB to use it with MP3D

Interne (Hack) Funktion. Mit dem Befehl MP_UsePB3D can man ein PB dx9 device für MP3D benutzen

Parameter
D3DDevice = DX9 device
                       DX9 device

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

InitSprite()
InitSprite3D()

OpenWindow(0, 0, 0, 800, 600, "Screen", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, WindowWidth(0), WindowHeight(0), 0, 0, 0)

Sprite3DQuality(1)

Font = FontID(LoadFont(#PB_Any, "Arial", 192))
CreateSprite(1, 256, 256, #PB_Sprite_Texture)
StartDrawing(SpriteOutput(1))
   DrawingFont(Font) : DrawingMode(1)
   Box(0,0,256,256,$FF0000)
   DrawText(0,0,"F", $0000FF, 0)
StopDrawing()
CreateSprite3D(1, 1)

Define pd3d.IDirect3DDevice9
EnableASM

CompilerIf   #PB_Compiler_Processor = #PB_Processor_x86

   !extrn _PB_Screen_Direct3DDevice ; Get the DX9 device of PB
   !MOV dword EAX, [_PB_Screen_Direct3DDevice]
   !MOV dword [v_pd3d],EAX

CompilerElse

   !extrn PB_Screen_Direct3DDevice ; Get the DX9 device of PB
   !MOV dword EAX, [PB_Screen_Direct3DDevice]
   !MOV dword [v_pd3d],EAX

CompilerEndIf

DisableASM

MP_UsePB3D(pd3d)

MP_SetRenderState(22,1) ; Make the Sprite3D looking from two sizes

Sprite = MP_LoadSprite("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

Repeat

   ClearScreen(0)

   #HalfSize = 150

   Start3D()

   a.f = ElapsedMilliseconds()/1000

   ZoomSprite3D(1,200*Sin(a),200)
   DisplaySprite3D(1, 400-100*Sin(a), 200)

   ;- MP3D Sprite Part
   MP_TurnSprite(Sprite, 1)
   MP_DrawSprite(Sprite, 40, 40,$FF)
   MP_RenderSprite()
   ;-

   FlipBuffers()

Until WindowEvent() = #PB_Event_CloseWindow


MP_FullScreenMode()

Syntax

MP_FullScreenMode(Var)

Beschreibung

The command MP_FullScreenMode can change the mode from windows to fullscreenmode

Die Anweisung MP_FullScreenMode can zwichen Windows und Vollbildschirm umschalten

Parameter
Var	= 1, Fullscreen
       1, Vollbilschirm
       0, Windows screen
       0 , Windows Screen

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SetAntialiasing()

Syntax

MP_SetAntialiasing(State)

Beschreibung

The command MP_SetAntialiasing can change the mode to Antialiasing mode

Die Anweisung MP_SetAntialiasing  can den Antialiasing Mode aktivieren

Parameter
State	= 0, Antialiasing off
       0, Antialiasing aus
       1, Antialiasing on
       1, Antialiasing on
       2 , 2x Antialiasing on
       2,  2x Antialiasing on
       3 , 3x Antialiasing on
       3, 3x Antialiasing on
       4 , 4x Antialiasing on
       4 , 4x Antialiasing on

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ExamineScreenModes()

Syntax

MP_ExamineScreenModes()

Beschreibung

The command MP_ExamineScreenModes examine the Screenmode of the pc

Die Anweisung MP_ExamineScreenModes untersucht die Grafikauflösungen des PCs

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_NextScreenMode()

Syntax

MP_NextScreenMode()

Beschreibung

The command MP_NextScreenMode steps trough all possible screenmodes for the commands: MP_ScreenModeWidth(), MP_ScreenModeHeight(), MP_ScreenModeDepth(), MP_ScreenModeRefreshRate()

Die Anweisung MP_NextScreenMode untersucht alle möglichne Scrrenmode für deu Befehle MP_ScreenModeWidth(), MP_ScreenModeHeight(), MP_ScreenModeDepth(), MP_ScreenModeRefreshRate()

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ScreenModeDepth()

Syntax

MP_ScreenModeDepth()

Beschreibung

The command MP_ScreenModeDepth shows the current screen depth

Die Anweisung MP_ScreenModeDepth zeigt die aktuelle Screen Farbauflösung an
Parameter
-

return value
color depth in Bit
Farbtiefe in Bit


MP_ScreenModeHeight()

Syntax

MP_ScreenModeHeight()

Beschreibung

The command MP_ScreenModeHeight shows the current screen height

Die Anweisung MP_ScreenModeHeight zeigt die aktuelle Screenhöhe an
Parameter
-

return value
screenheight
Screenhöhe


MP_ScreenModeWidth()

Syntax

MP_ScreenModeWidth()

Beschreibung

The command MP_ScreenModeWidth shows the current screen width

Die Anweisung MP_ScreenModeWidth zeigt die aktuelle Screenbreite an
Parameter
-

return value
screenwidth
Screenbreite


MP_ScreenModeRefreshRate()

Syntax

MP_ScreenModeRefreshRate()

Beschreibung

The command MP_ScreenModeRefreshRate shows the current screen refreshrate

Die Anweisung MP_ScreenModeRefreshRate  zeigt die aktuelle Screen Wiederholungsfrequenz
Parameter
-

return value
screen refreshrate
Screen Wiederholungsfrequenz


MP_ElapsedMicroseconds()

Syntax

MP_ElapsedMicroseconds()

Beschreibung

the command MP_ElapsedMicroseconds calculates the elapsed time in microseconds

der Befehl MP_ElapsedMicroseconds berechnet die vergangen Zeit in Mikrosekunden

Parameter
-

return value
time in milliseconds
Zeit in Millisekunden


MP_VSync()

Syntax

MP_VSync(Var)

Beschreibung

turns on or off the vertical sync. The program then runs with the same refresh rate as the current monitor. Is useful in a troubleshooting or to see how much computing power is left.

Schaltet Vertical Sync ein oder aus. Das Programm läuft dann mit der gleichen Bildwiederholfrewenz wie der aktuelle Monitor. Ist sinnvoll bei einer Fehlersuche oder um zu sehen wieviel Rechenleistung noch übrig ist.

Parameter
Var	= 1 (VSync On)
                = 0 (VSync Off)

return value
-

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0
MP_VSync(0)

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,5) ; Position des Würfels

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

      MP_DrawText (1,1,"FPS = "+Str(mp_fps()))
      MP_TurnEntity (Mesh,0.1,0.2,0.3)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VSyncTime()

Syntax

MP_VSyncTime()

Beschreibung

Returns the value of a RenderWorld loop. Is approximately 0.016 at a 60 Hz LCD screen

Gibt den Zeitwert an den eine RenderWorld Schleife benötigt. Beträgt  circa 0,016 bei einem 60 Hz LCD Bildschirm

Parameter
-

return value
float value as a unit of time
Floatwert als Zeiteinheit

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0

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,5) ; Position des Würfels

While Not MP_KeyDown(#PB_Key_Escape) And Not WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen
      Debug MP_VSyncTime()
      MP_TurnEntity (Mesh,0.1,0.2,0.3)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar
Wend


MP_ScreenToHandle()

Syntax

MP_ScreenToHandle(hwnd)

Beschreibung

the command MP_ScreenToHandle assigns the 3D screen to an object handle

Der Befehl MP_ScreenToHandle ordnet den 3D Screen einem Objekt Handle zu

Parameter
hwnd	= handle of an object
                = handle eines objectes

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_Wireframe()

Syntax

MP_Wireframe(a)

Beschreibung

The command MP_Wireframe switches the display between normal 3D surface view and grid view. This command is useful for debugging.

Die Anweisung MP_Wireframe schaltet die 3D-Darstellung zwischen normaler Flächenansicht und Gitteransicht um. Das ist z.B. sinnvoll bei der Fehlersuche.

Parameter
a 	= 0 for grid off or 1 for grid on
       0 für Gitter ausschalten oder 1 für Gitter einschalten

return value
-

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0
MP_Wireframe(1)

camera=MP_CreateCamera() ; Kamera erstellen
light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Sphere
MP_PositionEntity (Mesh,0,0,5) ; Position der Sphere

While Not MP_KeyDown(#PB_Key_Escape) And Not WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen
      MP_TurnEntity (Mesh,0.1,0.2,0.3)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar
Wend


MP_Close()

Syntax

MP_Close()

Beschreibung

The command MP_Close ends the MP3D functionality

Die Anweisung MP_Close beendet die MP3D Funktionen

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_RenderBegin()

Syntax

MP_RenderBegin([Cam [, Viewport]])

Beschreibung

This command starts the rendering of the 3D window

Dieser Befehl startet das Rendern des 3D Fensters

Parameter
Cam	= identity of a camera
       Identität einer Kamera
Viewport	= identity of a viewport
       Identität eines Viewports

return value
-


MP_RenderEnd()

Syntax

MP_RenderEnd()

Beschreibung

This command stops the rendering of the 3D window

Dieser Befehl beendet das Rendern des 3D Fensters

Parameter
-

return value
-


MP_RenderCamera()

Syntax

MP_RenderCamera()

Beschreibung

This command renders all cameras into the 3D window

Dieser Befehl startet das Rendern aller Kameras

Parameter
-

return value
-


MP_RenderMesh()

Syntax

MP_RenderMesh([Mesh])

Beschreibung

The command MP_RenderMesh renders all mesh, or optional only one mesh, into the 3D window

Dieser Befehl MP_RenderMesh rendert alle mesh, oder optional nur ein Mesh, ins 3D Fenster

Parameter
Mesh	  = identity of the mesh
         Identität des Meshs

return value
-


MP_RenderShadow()

Syntax

MP_RenderShadow()

Beschreibung

This command renders the shadow of the mesh

Dieser Befehl startet das Rendern aller Mehs

Parameter
-

return value
-


MP_RenderPrimitives()

Syntax

MP_RenderPrimitives()

Beschreibung

This command renders all primitives into the 3D window

Dieser Befehl startet das Rendern aller Primitives

Parameter
-

return value
-


MP_RenderText()

Syntax

MP_RenderText()

Beschreibung

This command renders all texts into the 3D window

Dieser Befehl zeichnet alle Texte ins 3D Fenster

Parameter
-

return value
-


MP_RenderSprite()

Syntax

MP_RenderSprite()

Beschreibung

This command renders all sprites into the 3D window

Dieser Befehl zeichnet alle Sprites ins 3D Fenster

Parameter
-

return value
-


MP_RenderAnimMesh()

Syntax

MP_RenderAnimMesh()

Beschreibung

This command renders all animmesh into the 3D window

Dieser Befehl zeichnet alle AnimMesh ins 3D Fenster

Parameter
-

return value
-


MP_RenderSky()

Syntax

MP_RenderSky()

Beschreibung

This command draws a  SkyBox or SkySphere into the 3D window

Dieser Befehl zeichent eine SkyBox oder SkySphere  ins 3D Fenster

Parameter
-

return value
-


MP_UpdateParticle()

Syntax

MP_UpdateParticle()

Beschreibung

This command will calculate the particle motion

Dieser Befehl berechnet die Partikelbewegung

Parameter
-

return value
-


MP_Render2D()

Syntax

MP_Render2D()

Beschreibung

The command MP_Render2D renders all 2D draws

Dieser Befehl MP_Render2D zeichnet alle 2D Draws

Parameter
-

return value
-


MP_RenderParticle()

Syntax

MP_RenderParticle()

Beschreibung

This command renders all particle into the 3D window

Dieser Befehl zeichnet alle Partikel ins 3D Fenster

Parameter
-

return value
-


MP_RenderSurface()

Syntax

MP_RenderSurface()

Beschreibung

This command renders all surfaces into the 3D window

Dieser Befehl zeichnet alle Surface ins 3D Fenster

Parameter
-

return value
-


MP_SetRenderWorldCallback()

Syntax

MP_SetRenderWorldCallback(*proc.integer)

Beschreibung

This command MP_SetRenderWorldCallback set a callback for the background

Dieser Befehl MP_SetRenderWorldCallback setzt eine Routine für den Background

Parameter
*proc.i 	= Adress of callback
      Adresse des callbacks

return value
-


MP_LoadFont()

Syntax

MP_LoadFont(fontname.s, height, bold.b, italic.b)

Beschreibung

The command MP_LoadFont loads a font and initialize the font size and style of writing

Der Befehl MP_LoadFont lädt einen vorhanden Font und initialisiere die Größe und den Schreibstil

Parameter
fontname.s = Windows Fontname
         Windows Fontname
height	  = height in pixels
         Höhe in Pixel
bold.b 	  = #True for bold, # False for normal
         #True für Fett, #False für normal
italic.b	  = #True for italic, #False for normal
                     #True für Kursiv, #False für normal

return value
font identity as an integer. In case of error returned by #False
Identität der Schritart als Integer. Im Fehlerfall Rückgabe von #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0

font1 = MP_loadFont ("Times",70,1,1); "Fontname",Groesse,bold,italic

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

       MP_UseFont (font1)
       MP_DrawText (180,200,"Times riesig",0,$ffff0000)

       MP_RenderWorld() ; Erstelle die Welt
       MP_Flip () ; Stelle Sie dar

Wend


MP_UseFont()

Syntax

MP_UseFont(Font)

Beschreibung

The command MP_LoadFont activates a loaded font

Der Befehl MP_LoadFont aktiviert eine geladen Schriftart

Parameter
Font	  = identity of a loaded font as an integer.
         Identität einer geladenen Schritart als Integer.

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_FreeFont()

Syntax

MP_FreeFont(Font)

Beschreibung

Delete the identity of a previously loaded font

Lösche die Identität eines vorher geladenen Font

Parameter
Font	= identity of a loaded font as an integer
       Identität einer geladenen Schritart als Integer.

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0

font1 = MP_loadFont ("Times",70,1,1); "Fontname",Groesse,bold,italic

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

       count + 1

       If count = 300
            MP_FreeFont (font1)
       EndIf

       MP_UseFont (font1)
       MP_DrawText (180,200,"Times riesig",0,$ffff0000)

       MP_RenderWorld() ; Erstelle die Welt
       MP_Flip () ; Stelle Sie dar

Wend


MP_DrawText()

Syntax

MP_DrawText(x, y, Text.s [, Font [, Fontcolor [, Format [, Rotation.f]]]])

Beschreibung

Add your text at position x, y, with Optional font, color ARGB (bit 8,8,8,8), position and rotation

Schreibe einen Text an Position x,y, Optional mit mit Font, Farbe ARGB (8,8,8,8 bit), Bündigkeit und Rotation

Parameter
x	  = Screen x position in pixels
         Bildschirm X-Position in Pixel
y	  = Screen y position in pixels
         Bildschirm Y-Position in Pixel
Text.s 	  = Text to be written as a string
         Zu schreibender Text als String
Font	  = Identity of a loaded Schritart as integer
         IF Font = 0 -> default font, Times of height 16
         Identität einer geladenen Schritart als Integer
                     IF Font = 0 -> Standardfont, Times mit Höhe 16
Fontcolor   = color ARGB value as: MP_ARGB (a, r, g, b) a / r / g / b = 0-255
         Farbe als ARGB Wert z.B: MP_ARGB(a,r,g,b) a/r/g/b = 0-255
Format	  = 0 -> text is left-aligned position of x, y
         1 -> text is right justified position of x, y
         2 -> text is centered position of x, y
         0 -> Text ist linksbündig von Position x,y
         1-> Text ist rechtbündig von Position x,y
         2-> Text ist mittig von Position x,y
Rotation.f   = angle in degrees
         Winkel in Grad

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0

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

       MP_DrawText (1,1,"Normal in Weiß")

       MP_RenderWorld() ; Erstelle die Welt
       MP_Flip () ; Stelle Sie dar

Wend


MP_TextSetFormat()

Syntax

MP_TextSetFormat(Format)

Beschreibung

The command MP_TextSetFormat sets the default position

Der Befehl MP_TextSetFormat setzt die Standard Bündigkeit

Parameter
Format	= 0 -> text is left-aligned
        1 -> text is right justified
       2 -> text is centered
       0 -> Text ist  linksbündig
       1 -> Text ist rechtbündig
       2 -> Text ist mittig

return value
-


MP_TextSetZ()

Syntax

MP_TextSetZ(z.f)

Beschreibung

The command MP_TextSetZ sets the z-3D value, 0 is in front

Der Befehl MP_TextSetZ setzt den z-3D Wert, 0 is auf den Vordergrund

Parameter
z.f	=  0 , display front
        0,  Darstellung Front
        3D z-value as float
        3D z-Wert als float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_RotateText()

Syntax

MP_RotateText(Rotation.f)

Beschreibung

The function MP_RotateText turns a text to the left / middle / right position on an absolute level of value.

Die Funktion MP_RotateText dreht einen Text um die Linke/Mittlere/Rechte Position auf einen absolute Grad Wert.

b>Parameter
Rotation.f = angle (in degrees) around the central axis
       Winkel (in Grad) um die Mittelachse

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ScaleText()

Syntax

MP_ScaleText(Sx.f, Sy.f)

Beschreibung

The function MP_ScaleText changed the display size of a text.

Die Funktion MP_ScaleText verändert die Darstellungsgröße eines Textes.

Parameter
Sx.f	= size on the x-axis as float value, 100 is normal size
       Grösse auf X-Achse als Float, 100 ist normale Grösse
Sy.f	= size on the y-axis as float value, 100 is normal size
       Grösse auf Y-Achse als Float, 100 ist normale Grösse

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextSetColor()

Syntax

MP_TextSetColor(Fontcolor)

Beschreibung

The command MP_TextSetFormat sets the default color ARGB (8,8,8,8 bit)

Der Befehl MP_TextSetFormat setzt die Standard Farbe ARGB (8,8,8,8 bit)

Parameter
Fontcolor = color ARGB value as: MP_ARGB (a, r, g, b) a / r / g / b = 0-255
       Farbe als ARGB Wert z.B: MP_ARGB(a,r,g,b) a/r/g/b = 0-255

return value
-


MP_TextGetHeight()

Syntax

MP_TextGetHeight(Text.s)

Beschreibung

Shows the Height of the "Test.s" text in pixel

Gibt die Höhe des Textes "Text.s" in Pixel an

Parameter
Text.s 	= text
       Text

return value
Hight of the text in pixels or in case of error #False
Höhe des Textes in Pixel oder im Fehlerfall #False


MP_TextGetWidth()

Syntax

MP_TextGetWidth(Text.s)

Beschreibung

Shows the width of the "Test.s" text in pixel

Gibt die Breite des Textes "Text.s" in Pixel an

Parameter
Text.s 	= text
       Text

return value
width of the text in pixels or in case of error #False
Breite des Textes in Pixel oder im Fehlerfall #False


MP_DrawBitMapText()

Syntax

MP_DrawBitMapText(Sprite, x, y, String.s [, Transparent [, StartChr, ChrWidth]])

Beschreibung

Add your BitMap text at position x, y, with Optional transparence, start character and Characterwidth

Schreibe einen BitMapText an Position x,y, Optional Transparent, Startcharakter und Buchstabeweite

Parameter
Sprite	     = identity of a sprite
            Identität eines Sprites
x	     = Screen x position in pixels
            Bildschirm X-Position in Pixel
y	     = Screen y position in pixels
            Bildschirm Y-Position in Pixel
Text.s 	     = Text to be written as a string
           Zu schreibender Text als String
Tranzparent = 0-255, from transparent to fully visible
           0-255, von durchsichtig bis voll sichtbar
StartChr	    = The Sprite start with this FontCharacter, stanadard = 32 (Space)
            Der Sprite startet mit diesem Buchstaben, Standard = 32 (Leerzeichen)
ChrWidth	    = With of the characters
        = Buchstabenbreite

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreateCamera()

Syntax

MP_CreateCamera([Flag.f])

Beschreibung

The command MP_CreateCamera created a virtual camera and returns the identity of the camera. option with

Der Befehl MP_CreateCamera erstellt eine virtuelle Kamera und liefert die Identität der Kamera zurück.

Parameter
Flag.f	= activate orthographic view mode, flag.f is the parameter of the the size of the view identity of a camera
       aktiviert den Orthographic view Mode, flag.f is der Sichtgrössenparameter der Kamera

return value
It will return the identity of the camera.
Es wird die Identität der Kamera zurückgeliefert.

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0

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,5) ; 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)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_CameraSetPerspective()

Syntax

MP_CameraSetPerspective(Cam, Grad.f [, Aspect.f])

Beschreibung

The command MP_CameraSetPerspective change the viewing angle of a virtual camera

Der Befehl MP_CameraSetPerspective verändert den Sichtwinkel einer virtuelle Kamera

Parameter
Cam	= identity of a camera
       Identität einer Kamera
Grad.f	= angle in degrees, 45 degrees is standard
       Winkel in Grad, 45 Grad ist Standard
Aspect.f   = ratio of width / height as an option
       Verhältnis von Breite / Höhe als Option

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CameraSetRange()

Syntax

MP_CameraSetRange(Cam, RStart.f, REnd.f)

Beschreibung

The command MP_CameraSetRange sets the sight range of a virtual camera

Der Befehl MP_CameraSetRange setzt die Sichtreichweite einer virtuelle Kamera

Parameter
Cam	= identity of a camera
       Identität einer Kamera
RStart.f	= Start of the camera visibility, 1 is standard
       Start der Kamerasichtbarkeit, 1 ist Standard
REnd.f	= end visibility of the camera, 1000 is standard
       Ende der Kamerasichtbarkeit, 1000 ist Standard

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CameraViewPort()

Syntax

MP_CameraViewPort(Cam, x, y, width, height [, BackColor])

Beschreibung

The function MP_CameraViewPort creates a cameraviewport for a camera

Die Funktion MP_CameraViewPort setzt einen CameraViewport für eine Camera

Parameter
Cam	= identity of a camera
       Identität einer Kamera
x	 = x position of the window
        x-Position des Fensters
y 	 = y position of the window
        y-Position des Fensters
Width	 = width of the resolution in pixels
        Breite der Auflösung in Pixel
Height	 =  height of the resolution in pixels
        Höhe der Auflösung in Pixel
BackColor = background color of the screen as RGB
        Hintergrundfarbe des Bildschirms als RGB

return value
cameraviewport or on failure #False
Cameraviewport oder im Fehlerfall #False


MP_SetCameraViewPortBackColor()

Syntax

MP_SetCameraViewPortBackColor(CameraViewport,BackColor)

Beschreibung

The statement MP_SetCameraViewPortBackColor changes the background color of the CameraViewport.

Die Anweisung MP_SetCameraViewPortBackColor ändert die Farbe des Hintergrundes des CameraViewports.

Parameter
CameraViewport      = identity of a cameraviewport
           Identität eines Cameraviewport
BackColor	= RGB (r, g, b), 8Bit Red, Green, Blue value
             8bit Rot,Grün,Blau, z.B unterteilt RGB(r,g,b) die einzelnen Farben

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreateLight()

Syntax

MP_CreateLight(a)

Beschreibung

The command MP_CreateLight creates a light and give back the identity of the light

Der Befehl MP_CreateLight erstellt eine Lichtquelle und liefert danach die Identität des Lichts zurück.Alle Werte ausser 2 und 3 erzeugen immer ein Richtungslicht.

Parameter
a 	= 1 -> direction of light (standard)
       1 -> Richtungslicht (Standard)
       2 -> Point Light
       2 -> Punktlicht
       3 -> Spot Light
       3 -> Spotlicht

return value
It will return the identity of the new light
Es wird die Identität des neuen Lichts zurückgeliefert

Beispiel

MP_Graphics3D (640,480,0,2)

camera=MP_CreateCamera()
light=MP_CreateLight(0)

Mesh = MP_CreateTeapot()
MP_PositionEntity (Mesh,0,0,5)

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

      MP_RenderWorld ()
      MP_Flip ()

Wend


MP_LightSetColor()

Syntax

MP_LightSetColor(Light,RGB)

Beschreibung

The statement MP_LightSetColor changes the color of a light.

Die Anweisung MP_LightSetColor ändert die Farbe einer Lichtquelle.

Parameter
Light	= identity of a light
       Identität einer Lichtquelle
RGB	= RGB (r, g, b), 8Bit Red, Green, Blue value
       8bit Rot,Grün,Blau, z.B unterteilt RGB(r,g,b) die einzelnen Farben

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2)

camera=MP_CreateCamera()
light=MP_CreateLight(0)

Mesh = MP_CreateTeapot()
MP_PositionEntity (Mesh,0,0,5)

red = 127
green = 127
blue = 127

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

      If MP_KeyDown(#PB_Key_1) And red > 0 : red -1 : EndIf
      If MP_KeyDown(#PB_Key_2) And red < 255 : red +1 : EndIf
      If MP_KeyDown(#PB_Key_3) And green > 0 : green -1 : EndIf
      If MP_KeyDown(#PB_Key_4) And green < 255 : green +1 : EndIf
      If MP_KeyDown(#PB_Key_5) And blue > 0 : blue -1 : EndIf
      If MP_KeyDown(#PB_Key_6) And blue < 255 : blue +1 : EndIf
      MP_LightSetColor (light, RGB(red, green, blue))
      MP_RenderWorld ()
      MP_Flip ()

Wend


MP_LightSetRange()

Syntax

MP_LightSetRange(Light, range.f)

Beschreibung

The statement MP_LightSetRange sets the maximum range of a light. Everything outside of this range is not affected by the Light. This command only changes the light source 2 and 3 Light, Light direction is not changed by it.

Die Anweisung MP_LightSetRange setzt die maximale Reichweite des Lichts einer Lichtquelle. Alles außerhalb dieses Bereichs wird von der Lichtquelle nicht beeinflusst. Dieser Befehl ändert nur die Lichtart 2 und 3. Richtungslicht wird dadurch nicht geändert.

Parameter
Light	= identity of a light
       Identität einer Lichtquelle
range.f	= Maximum range of light
       Maximale Reichweite des Lichts

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2)

camera=MP_CreateCamera()
light=MP_CreateLight(2)

Mesh = MP_CreateTeapot()
MP_PositionEntity (Mesh,0,0,5)

Range.f = 4.5

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

      MP_DrawText (1,1,$FFFF0000,"Range = "+StrF(range),0)

      If MP_KeyDown(#PB_Key_1) And Range > 3.9 : Range -0.01 : EndIf
      If MP_KeyDown(#PB_Key_2) And Range < 5.4 : Range +0.01 : EndIf

      MP_LightSetRange (light, Range)
      MP_RenderWorld ()
      MP_Flip ()

Wend


MP_HideLight()

Syntax

MP_HideLight(Light, Status)

Beschreibung

The statement MP_HideLight disabled or enabled a light.

Die Anweisung MP_HideLight deaktiviert oder aktiviert eine gesetzte Lichtquelle.

Parameter
Light	= identity of a light
       Identität einer Lichtquelle
Status.b	= 0 light is turned off
       1 light is activated
       0 Licht wird deaktiviert
       1 Licht wird aktiviert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2)

camera=MP_CreateCamera()
light=MP_CreateLight(0)

Mesh = MP_CreateTeapot()
MP_PositionEntity (Mesh,0,0,5)

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

      a + 1
      If a > 30
          MP_HideLight(light,0)
          a = -30
      EndIf
      If a = 0
          MP_HideLight(light,1)
      EndIf

      MP_LightSetRange (light, Range)
      MP_RenderWorld ()
      MP_Flip ()

Wend


MP_AmbientSetLight()

Syntax

MP_AmbientSetLight(RGB)

Beschreibung

The statement MP_AmbientSetLight changes the color of the ambient light. With RGB = 0 no ambient light is displayed.

Die Anweisung MP_AmbientSetLight ändert die Farbe des Umgebungslichtes. Mit der RGB 0 wird kein Umgebungslicht angezeigt.

Parameter
RGB	= RGB (r, g, b), 8Bit Red, Green, Blue value
       8bit Rot,Grün,Blau, z.B unterteilt RGB(r,g,b) die einzelnen Farben

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2)

camera=MP_CreateCamera()
light=MP_CreateLight(0)

Mesh = MP_CreateTeapot()
MP_PositionEntity (Mesh,0,0,5)

red = 127
green = 127
blue = 127

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

      If MP_KeyDown(#PB_Key_1) And red > 0 : red -1 : EndIf
      If MP_KeyDown(#PB_Key_2) And red < 255 : red +1 : EndIf
      If MP_KeyDown(#PB_Key_3) And green > 0 : green -1 : EndIf
      If MP_KeyDown(#PB_Key_4) And green < 255 : green +1 : EndIf
      If MP_KeyDown(#PB_Key_5) And blue > 0 : blue -1 : EndIf
      If MP_KeyDown(#PB_Key_6) And blue < 255 : blue +1 : EndIf
      MP_AmbientSetLight (RGB( red, green, blue))
      MP_RenderWorld ()
      MP_Flip ()

Wend


MP_InitShadow()

Syntax

MP_InitShadow([Var])

Beschreibung

The command MP_InitShadow acticate the shadow function

Der Befehl MP_InitShadow aktiviert die Darstellung des Schattens

Parameter
Var	= 0, shadow off
       0, Schatten aus
       1, shadow on
                   1, Schatten ein

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SetShadowEpsilon()

Syntax

MP_SetShadowEpsilon(Var.f)

Beschreibung

The command MP_SetShadowEpsilon changes the Epsilon value to minimize the moire effect of the shadow funtion

Die Befehl MP_SetShadowEpsilon ändert den Epsilon Wert um den Moire Effekt bei Schatten zu minimieren

Parameter
Var	= float value, standard is the value 0.0005
                   Fließkommazahl, Standart is  der Wert 0.0005

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetX()

Syntax

MP_EntitySetX(Entity, x.f)

Beschreibung

The function MP_EntitySetX sets the x coordinate of a object. For this purpose we must first specify the identity of the entities. An entity is a mesh for this command, Primitives, AnimMesh, Partikelemmitter or light.

Die Funktion MP_EntitySetX setzt die x-Koordinate eines Objekts. Dazu muss man zuerst die Identität eines Entitys angeben. Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entitys
x.f	= x-coordinate as float
       x-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityGetX()

Syntax

MP_EntityGetX(Entity [, Var])

Beschreibung

The function MP_EntityGetX get the x coordinate of a entity. For this purpose we must first specify the identity of the entities. An entity is a mesh for this command, Primitives, AnimMesh, Partikelemmitter, camera or light.

Die Funktion MP_EntityGetX ermittelt die X-Koordinate eines Objekts. Dazu muss man zuerst die Identität eines Entitys angeben. Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter, Kamera oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Var	= 0 get the absolute position as Kid Mesh - default
       1, relative position to the own axis - important for Kid Mehs
       0, ermittelt die absolute Position auch als Kid Meshs - Standardwert
       1, Relative Position zu eigenen Achse - Wichtig für Kid Mehs

return value
It will return the x coordinate of an object or in case of error #False
Es wird die X-Koordinate eines Objekts zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
camera=MP_CreateCamera()
MP_CreateLight(1)

Mesh = MP_CreateTeapot()
MP_PositionEntity (Mesh, Random(100)/50-1,Random(100)/50-1,Random(100)/50-1+5)

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

       If MP_KeyDown(#PB_Key_Space)
               MP_PositionEntity (Mesh, Random(100)/50-1,Random(100)/50-1,Random(100)/50-1+5)
       EndIf

       MP_DrawText (1,1,$FFFF0000,"Der Teepot hat folgende Position: X = "+StrF(MP_EntityGetX(Mesh))+" Y = "+StrF(MP_EntityGetY(Mesh))+ " Z = "+StrF(MP_EntityGetZ(Mesh)),0)

       MP_RenderWorld() ; Erstelle die Welt
       MP_Flip () ; Stelle Sie dar

Wend


MP_EntitySetY()

Syntax

MP_EntitySetY(Entity, y.f)

Beschreibung

The function MP_EntitySetY sets the y coordinate of a object. For this purpose we must first specify the identity of the entities. An entity is a mesh for this command, Primitives, AnimMesh, Partikelemmitter or light.

Die Funktion MP_EntitySetY setzt die y-Koordinate eines Objekts. Dazu muss man zuerst die Identität eines Entitys angeben. Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entitys
y.f	= y-coordinate as float
       y-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityGetY()

Syntax

MP_EntityGetY(Entity [, Var])

Beschreibung

The function MP_EntityGetY get the y coordinate of a entity. For this purpose we must first specify the identity of the entities. An entity is a mesh for this command, Primitives, AnimMesh, Partikelemmitter, camera or light.

Die Funktion MP_EntityGetY ermittelt die y-Koordinate eines Objekts. Dazu muss man zuerst die Identität eines Entitys angeben. Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter. Kamera oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Var	= 0 get the absolute position as Kid Mesh - default
       1, relative position to the own axis - important for Kid Mehs
       0, ermittelt die absolute Position auch als Kid Meshs - Standardwert
       1, Relative Position zu eigenen Achse - Wichtig für Kid Mehs

return value
It will return the y coordinate of an object or in case of error #False
Es wird die y-Koordinate eines Objekts zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
camera=MP_CreateCamera()
MP_CreateLight(1)

Mesh = MP_CreateTeapot()
MP_PositionEntity (Mesh, Random(100)/50-1,Random(100)/50-1,Random(100)/50-1+5)

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

       If MP_KeyDown(#PB_Key_Space)
               MP_PositionEntity (Mesh, Random(100)/50-1,Random(100)/50-1,Random(100)/50-1+5)
       EndIf

       MP_DrawText (1,1,$FFFF0000,"Der Teepot hat folgende Position: X = "+StrF(MP_EntityGetX(Mesh))+" Y = "+StrF(MP_EntityGetY(Mesh))+ " Z = "+StrF(MP_EntityGetZ(Mesh)),0)

       MP_RenderWorld() ; Erstelle die Welt
       MP_Flip () ; Stelle Sie dar

Wend


MP_EntitySetZ()

Syntax

MP_EntitySetZ(Entity, z.f)

Beschreibung

The function MP_EntitySetZ sets the z coordinate of a object. For this purpose we must first specify the identity of the entities. An entity is a mesh for this command, Primitives, AnimMesh, Partikelemmitter or light.

Die Funktion MP_EntitySetZ setzt die z-Koordinate eines Objekts. Dazu muss man zuerst die Identität eines Entitys angeben. Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entitys
z.f	= z-coordinate as float
       z-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityGetZ()

Syntax

MP_EntityGetZ(Entity [, Var])

Beschreibung

The function MP_EntityGetZ get the z coordinate of a entity. For this purpose we must first specify the identity of the entities. An entity is a mesh for this command, Primitives, AnimMesh, Partikelemmitter, camera or light.

Die Funktion MP_EntityGetZ ermittelt die Z-Koordinate eines Objekts. Dazu muss man zuerst die Identität eines Entitys angeben. Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter, Kamera oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Var	= 0 get the absolute position as Kid Mesh - default
       1, relative position to the own axis - important for Kid Mehs
       0, ermittelt die absolute Position auch als Kid Meshs - Standardwert
       1, Relative Position zu eigenen Achse - Wichtig für Kid Mehs

return value
It will return the z coordinate of an object or in case of error #False
Es wird die z-Koordinate eines Objekts zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
camera=MP_CreateCamera()
MP_CreateLight(1)

Mesh = MP_CreateTeapot()
MP_PositionEntity (Mesh, Random(100)/50-1,Random(100)/50-1,Random(100)/50-1+5)

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

       If MP_KeyDown(#PB_Key_Space)
               MP_PositionEntity (Mesh, Random(100)/50-1,Random(100)/50-1,Random(100)/50-1+5)
       EndIf

       MP_DrawText (1,1,$FFFF0000,"Der Teepot hat folgende Position: X = "+StrF(MP_EntityGetX(Mesh))+" Y = "+StrF(MP_EntityGetY(Mesh))+ " Z = "+StrF(MP_EntityGetZ(Mesh)),0)

       MP_RenderWorld() ; Erstelle die Welt
       MP_Flip () ; Stelle Sie dar

Wend


MP_EntityGetPitch()

Syntax

MP_EntityGetPitch(Entity [, Var])

Beschreibung

The function MP_EntityGetPitch the absolute or relative rotation angle of an object of the x-axis. An entity is a mesh for this command, Primitives, AnimMesh, Partikelemmitter, light or camera.

Die Funktion MP_EntityGetPitch ermittelt den absoluten oder relativen Drehwinkel eines Objekts der x-Achse. Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter, Licht oder Kamera.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Var   	= 0, determines the absolute angle of rotation as a Kid Mesh
       1, the relative angle of rotation determines the x-axis of the object
       0, ermittelt den absoluten Drehwinkel auch als Kid Mesh
       1, ermittelt den relativen Drehwinkel zur x-Achse des Objektes

return value
It is an angle (in degrees) returned to the x-axis or in case of error #False
Es wird ein Winkel (in Grad) zur X-Achse zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0

MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

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

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")

      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

x.f = 0.1
y.f = 0.2
z.f = 0.3

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

      If MP_KeyDown(#PB_Key_1) : x -1 : EndIf
      If MP_KeyDown(#PB_Key_2) : x +1 : EndIf
      If MP_KeyDown(#PB_Key_3) : y -1 : EndIf
      If MP_KeyDown(#PB_Key_4) : y +1 : EndIf
      If MP_KeyDown(#PB_Key_5) : z -1 : EndIf
      If MP_KeyDown(#PB_Key_6) : z +1 : EndIf

      MP_DrawText (1,1,$FFFF0000,"Körper hat folgende Winkel auf der X Achse :"+Str(MP_EntityGetPitch(Mesh)),0)

      MP_RotateEntity (Mesh,x,y,z)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_EntityGetYaw()

Syntax

MP_EntityGetYaw(Entity [, Var])

Beschreibung

The function MP_EntityGetYaw the absolute or relative rotation angle of an object of the y-axis. An entity is a mesh for this command, Primitives, AnimMesh, Partikelemmitter, light or camera.

Die Funktion MP_EntityGetYaw ermittelt den absoluten Drehwinkel eines Objekts (y-Achse). Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter, Licht oder Kamera.

Parameter
Entity	= Entity identity
       Identität eines Entityss
Var   	= 0, determines the absolute angle of rotation as a Kid Mesh
       1, the relative angle of rotation determines the y-axis of the object
       0, ermittelt den absoluten Drehwinkel auch als Kid Mesh
       1, ermittelt den relativen Drehwinkel zur y-Achse des Objektes

return value
It is an angle (in degrees) returned to the y-axis or in case of error #False
Es wird ein Winkel (in Grad) der Y-Achse zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0

MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

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

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")

      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

x.f = 0.1
y.f = 0.2
z.f = 0.3

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

      If MP_KeyDown(#PB_Key_1) : x -1 : EndIf
      If MP_KeyDown(#PB_Key_2) : x +1 : EndIf
      If MP_KeyDown(#PB_Key_3) : y -1 : EndIf
      If MP_KeyDown(#PB_Key_4) : y +1 : EndIf
      If MP_KeyDown(#PB_Key_5) : z -1 : EndIf
      If MP_KeyDown(#PB_Key_6) : z +1 : EndIf

      MP_DrawText (1,1,$FFFF0000,"Körper hat folgende Winkel auf der Y Achse: "+Str(MP_EntityGetYaw(Mesh)),0)

      MP_RotateEntity (Mesh,x,y,z)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_EntityGetRoll()

Syntax

MP_EntityGetRoll(Entity [, Var])

Beschreibung

The function MP_EntityGetYaw the absolute or relative rotation angle of an object of the y-axis. An entity is a mesh for this command, Primitives, AnimMesh, Partikelemmitter, light or camera.

Die Funktion MP_EntityGetRoll ermittelt den absoluten Drehwinkel eines Objekts (Z-Achse). Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter, Licht oder Kamera.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Var   	= 0, determines the absolute angle of rotation as a Kid Mesh
       1, the relative angle of rotation determines the z-axis of the object
       0, ermittelt den absoluten Drehwinkel auch als Kid Mesh
       1, ermittelt den relativen Drehwinkel zur z-Achse des Objektes

return value
It is an angle (in degrees) returned to the z-axis or in case of error #False
Es wird ein Winkel (in Grad) zur Z-Achse zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0

MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

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

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")

      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

x.f = 0.1
y.f = 0.2
z.f = 0.3

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

      If MP_KeyDown(#PB_Key_1) : x -1 : EndIf
      If MP_KeyDown(#PB_Key_2) : x +1 : EndIf
      If MP_KeyDown(#PB_Key_3) : y -1 : EndIf
      If MP_KeyDown(#PB_Key_4) : y +1 : EndIf
      If MP_KeyDown(#PB_Key_5) : z -1 : EndIf
      If MP_KeyDown(#PB_Key_6) : z +1 : EndIf

      MP_DrawText (1,1,$FFFF0000,"Körper hat folgende Winkel auf der Z Achse: "+Str(MP_EntityGetRoll(Mesh)),0)

      MP_RotateEntity (Mesh,x,y,z)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_EntityGetName()

Syntax

MP_EntityGetName(Entity)

Beschreibung

The function MP_EntityGetName determines the name of an Entitys. An entity is for this command a mesh, or AnimMesh and Partikelemmitter.

Die Funktion MP_EntityGetName ermittelt den Namen eines Entitys. Ein Entity ist für diesen Befehl ein Mesh, AnimMesh oder Partikelemmitter.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
name as string
Der Names als String

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "Names setzen")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine Würfel
MP_EntitySetName(Mesh, "Mein Cube")

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

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

    If MP_MouseButtonDown(0) ; Linke Maustaste gedrückt?

         If GetFocus_()=WindowID(0) ; Fenster aktiv?

             Meshfound = MP_PickCamera (camera,WindowMouseX(0),WindowMouseY(0))

             If Meshfound

                   MP_DrawText (10,20,$ffff0000,MP_EntityGetName(Mesh),0)

             EndIf

       EndIf
      EndIf

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_EntitySetName()

Syntax

MP_EntitySetName(Entity, Name.s)

Beschreibung

The function MP_EntityGetName sets the name of an object. An entity is for this command a mesh, a AnimMesh or Partikelemmitter.

Die Funktion MP_EntityGetName setzt den Namen eines Objekts. Ein Entity ist für diesen Befehl ein Mesh, AnimMesh oder Partikelemmitter.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Name.s	= name of the entity
       Names des Objektes

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "Names setzen")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine Würfel
MP_EntitySetName(Mesh, "Mein Cube")

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

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

    If MP_MouseButtonDown(0) ; Linke Maustaste gedrückt?

         If GetFocus_()=WindowID(0) ; Fenster aktiv?

             Meshfound = MP_PickCamera (camera,WindowMouseX(0),WindowMouseY(0))

             If Meshfound

                   MP_DrawText (10,20,$ffff0000,MP_EntityGetName(Mesh),0)

             EndIf

       EndIf
      EndIf

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_RotateEntity()

Syntax

MP_RotateEntity(Entity, pitch.f, yaw.f, roll.f [, flag])

Beschreibung

The function MP_RotateEntity rotates the object around all three axes on an absolute level of value. An entity is a  for this command a mesh, primitives, animmesh, partikelemmitter, camera or light.

Die Funktion MP_RotateEntity dreht ein Objekt um alle drei Achsen auf ein absolute Grad Wert. Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter. Kamera oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entitys
pitch.f	= Angle (in degrees) for the x-axis
       Winkel (in Grad) für die X-Achse
yaw.f	=  Angle (in degrees) for the y-axis
       Winkel (in Grad) für die Y-Achse
roll.f	=  Angle (in degrees) for the z-axis
       Winkel (in Grad) für die Z-Achse
flag	= 1, rotate the Mesh local
       1, dreht den Mesh Lokal
       0, rotate the mesh in the world
       0, dreht den Mesh in der Welt

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Bei Licht hat roll.f keine Funktion, da es sich ja um eine Richtung des Lichtes handelt. D.h. man kann dem Licht nur eine Richtung in der horizontalen und vertkalen Achse geben, aber nicht rollen.

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0

MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

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

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")

      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

x.f = 0.1
y.f = 0.2
z.f = 0.3

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

      If MP_KeyDown(#PB_Key_1) : x -1 : EndIf
      If MP_KeyDown(#PB_Key_2) : x +1 : EndIf
      If MP_KeyDown(#PB_Key_3) : y -1 : EndIf
      If MP_KeyDown(#PB_Key_4) : y +1 : EndIf
      If MP_KeyDown(#PB_Key_5) : z -1 : EndIf
      If MP_KeyDown(#PB_Key_6) : z +1 : EndIf

      MP_DrawText (1,1,$FFFF0000,"Körper dreht sich in folgende mit folgenden Werten x = "+Str(x)+" / y = "+Str(y)+" / z = "+Str(z),0)

      MP_RotateEntity (Mesh,x,y,z)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_PositionEntity()

Syntax

MP_PositionEntity(Entity, x.f, y.f, z.f)

Beschreibung

The function MP_PositionEntity positioned an object at a specific point in 3D space. An entity for this command is a mesh, primitives, animmesh, partikelemmitter, camera or light.

Die Funktion MP_PositionEntity positioniert ein Objekt an einer bestimmten Stelle im 3D Raum Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter. Kamera oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entitys
x.f	= x-coordinate as float
       x-Koordinate als Float
y.f	= y-coordinate as float
       y-Koordinate als Float
z.f	= z-coordinate as float
       z-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0

MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Kugel

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

If CreateImage(0, 255, 255) ; Erzeuge Karomuster

      StartDrawing(ImageOutput(0))
      For n = 0 To 255 Step 64
          For m = 0 To 255 Step 64
               Box (n,m,32,32,RGB(255,255,255))
               Box (n+32,m,32,32,RGB(0,0,0))
               Box (n+32,m+32,32,32,RGB(255,255,255))
               Box (n,m+32,32,32,RGB(0,0,0))
          Next

      Next
      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

b=1

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

      x.f+0.2
      If x > 10
          x = -10
          b = b * -1
      EndIf

      MP_PositionEntity (Mesh,x*b,0,20) ; Position des Würfels

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_MoveEntity()

Syntax

MP_MoveEntity(Entity, x.f, y.f, z.f)

Beschreibung

The function MP_MoveEntity move an object to a specific point in 3D space. Aan entity for this command is a mesh, primitives, animmesh, partikelemmitter, camera or light.

Die Funktion MP_MoveEntity verschiebt ein Objekt an eine bestimmten Stelle im 3D Raum Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter. Kamera oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entityss
x.f	= x-coordinate as float
       x-Koordinate als Float
y.f	= y-coordinate as float
       y-Koordinate als Float
z.f	= z-coordinate as float
       z-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0

MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Kugel

MP_PositionEntity (Mesh,-16,-16,44) ; Position des Würfels

If CreateImage(0, 255, 255) ; Erzeuge Karomuster

      StartDrawing(ImageOutput(0))
      For n = 0 To 255 Step 64
          For m = 0 To 255 Step 64
               Box (n,m,32,32,RGB(255,255,255))
               Box (n+32,m,32,32,RGB(0,0,0))
               Box (n+32,m+32,32,32,RGB(255,255,255))
               Box (n,m+32,32,32,RGB(0,0,0))
          Next

      Next
      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

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

      x.f +0.07

      MP_MoveEntity (Mesh,Cos(x),Sin(x),0) ; Position des Würfels

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_ScaleEntity()

Syntax

MP_ScaleEntity(Entity, Sx.f, Sy.f, Sz.f)

Beschreibung

The function MP_ScaleEntity only changes the display size of an object. This property is no real difference in size. An entity is for this command, a mesh, or AnimMesh Primitives.

Die Funktion MP_ScaleEntity verändert nur die Darstellungsgröße eines Objektes. Dieses Objekt wird nicht wirklich größenmässig verändert. Ein Entity ist für diesen Befehl ein Mesh, Primitives oder AnimMesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Sx.f	= Size on x-axis as the float
       Grösse auf X-Achse als Float
Sy.f	=  Size on y-axis as the float
         Grösse auf Y-Achse als Float
Sz.f	=  Size on z-axis as the float
        Grösse auf Z-Achse als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung dreier Würfel")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine Würfel
Mesh2=MP_CreateCube() ; Und jetzt eine Würfel
Mesh3=MP_CreateCube() ; Und jetzt eine Würfel

MP_PositionEntity (Mesh,-2,0,6) ; Position des Würfels
MP_PositionEntity (Mesh2,0,0,6) ; Position des Würfels
MP_PositionEntity (Mesh3,2,0,6) ; Position des Würfels

MP_ScaleEntity(Mesh2,2,1,1)
MP_ScaleEntity(Mesh3,1,2,3)

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.2)
      MP_TurnEntity (Mesh2,0.1,0.1,0.2)
      MP_TurnEntity (Mesh3,0.1,0.1,0.2)

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_TurnEntity()

Syntax

MP_TurnEntity(Entity, pitch.f, yaw.f, roll.f [, Flag])

Beschreibung

The function MP_TurnEntity rotates the object around all three axes at a relative degree of value. The current rotational position is changed to a degree value. An entity for this command  is a mesh, primitives, animmesh, partikelemmitter, camera or light.

Die Funktion MP_TurnEntity dreht ein Objekt um alle drei Achsen um eine relativen Grad Wert. D.h. die aktuelle Drehposition wird um einen GradWert verändert. Ein Entity ist für diesen Befehl ein Mesh, Primitives, AnimMesh, Partikelemmitter. Kamera oder Licht.

Parameter
Entity	= Entity identity
       Identität eines Entitys
pitch.f	=  relative angle (in degrees) for the x-axis
        relativer Winkel (in Grad) für die X-Achse
yaw.f	=  relative angle (in degrees) for the y-axis
        relativer Winkel (in Grad) für die Y-Achse
roll.f	=  relative angle (in degrees) for the z-axis
        relativer Winkel (in Grad) für die Z-Achse
flag	= 1, rotate the Mesh local
       1, dreht den Mesh Lokal
       0, rotate the mesh in the world
       0, dreht den Mesh in der Welt

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2) ; Erstelle ein WindowsFenster #Window = 0

MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

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

If CreateImage(0, 255, 255) ; Male schöne Textur

      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")

      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

x.f = 0.1
y.f = 0.2
z.f = 0.3

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

      If MP_KeyDown(#PB_Key_1) : x -0.01 : EndIf
      If MP_KeyDown(#PB_Key_2) : x +0.01 : EndIf
      If MP_KeyDown(#PB_Key_3) : y -0.01 : EndIf
      If MP_KeyDown(#PB_Key_4) : y +0.01 : EndIf
      If MP_KeyDown(#PB_Key_5) : z -0.01 : EndIf
      If MP_KeyDown(#PB_Key_6) : z +0.01 : EndIf

      MP_DrawText (1,1,$FFFF0000,"Köper dreht mit folgenden Werten x = "+StrF(x)+" / y = "+StrF(y)+" / z = "+StrF(z),0)

      MP_TurnEntity (Mesh,x,y,z)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_EntitySetColor()

Syntax

MP_EntitySetColor(Entity, Color)

Beschreibung

The function MP_EntitySetColor turns the color values of all vertex of an object. An entity is a mesh for this command.

Die Funktion MP_EntitySetColor färbt die Colorwerte aller Vertex eines Objektes ein. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Color	= RGB (r, g, b)
       RGB(r,g,b)

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2)

camera=MP_CreateCamera()
light=MP_CreateLight(0)

Mesh = MP_CreateTeapot()
MP_PositionEntity (Mesh,0,0,5)

red = 127
green = 127
blue = 127

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

      SetWindowTitle(0,"Der RGB Wert R = "+Str(red)+ " / G = "+Str(green)+" / B = "+Str(blue))

      If MP_KeyDown(#PB_Key_1) And red > 0 : red -1 : EndIf
      If MP_KeyDown(#PB_Key_2) And red < 255 : red +1 : EndIf
      If MP_KeyDown(#PB_Key_3) And green > 0 : green -1 : EndIf
      If MP_KeyDown(#PB_Key_4) And green < 255 : green +1 : EndIf
      If MP_KeyDown(#PB_Key_5) And blue > 0 : blue -1 : EndIf
      If MP_KeyDown(#PB_Key_6) And blue < 255 : blue +1 : EndIf
      MP_LightSetColor (light, RGB(red, green, blue))
      MP_RenderWorld ()
      MP_Flip ()

Wend


MP_EntitySetNormals()

Syntax

MP_EntitySetNormals(Entity)

Beschreibung

The statement MP_EntitySetNormals produces the Normals of an entity. An entity is in this command, a mesh

Die Anweisung MP_EntitySetNormals erzeugt die Normals eines Entity. Ein Entity ist bei diesem Befehl ein Mesh

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CopyEntity()

Syntax

MP_CopyEntity(Entity)

Beschreibung

The command MP_CopyEntity copied a entity and create a new one. An entity is in this command, a mesh

Die Anweisung MP_CopyEntity kopiert ein Entity und erzeugt ein neues Entity. Ein Entity ist bei diesem Befehl ein Mesh

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
Identity of the newly created Entity or on failure #False
Identität des neu erzeugten Entitys oder bei einem Fehler #False


MP_VertexGetX()

Syntax

MP_VertexGetX(Entity, index)

Beschreibung

The command MP_VertexGetX gets the x coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexGetX ermittelt die X-Koordinate eines Vertexpunktes eines Objekts. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)

return value
It will return the x coordinate of a vertex point or in case of error #False
Es wird die x-Koordinate eines Vertexpunktes zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

For n = 1 To MP_CountVertices(Mesh) Step 12

      MP_VertexSetX (Mesh, n, MP_VertexGetX(Mesh, n) * 1.5)
      MP_VertexSetY (Mesh, n, MP_VertexGetY(Mesh, n) * 1.5)
      MP_VertexSetZ (Mesh, n, MP_VertexGetZ(Mesh, n) * 1.5)

Next

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)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexSetX()

Syntax

MP_VertexSetX(Entity, index, x.f)

Beschreibung

The command MP_VertexSetX sets the x coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexSetX setzt die X-Koordinate eines Vertexpunktes eines Objekts. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)
x.f	= x-coordinate as float
       X-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

For n = 1 To MP_CountVertices(Mesh) Step 12

      MP_VertexSetX (Mesh, n, MP_VertexGetX(Mesh, n) * 1.5)
      MP_VertexSetY (Mesh, n, MP_VertexGetY(Mesh, n) * 1.5)
      MP_VertexSetZ (Mesh, n, MP_VertexGetZ(Mesh, n) * 1.5)

Next

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)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexGetY()

Syntax

MP_VertexGetY(Entity, index)

Beschreibung

The command MP_VertexGetY gets the y coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexGetY ermittelt die Y-Koordinate eines Vertexpunktes eines Objekts. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)

return value
It will return the y coordinate of a vertex point or in case of error #False
Es wird die y-Koordinate eines Vertexpunktes zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

For n = 1 To MP_CountVertices(Mesh) Step 12

      MP_VertexSetX (Mesh, n, MP_VertexGetX(Mesh, n) * 1.5)
      MP_VertexSetY (Mesh, n, MP_VertexGetY(Mesh, n) * 1.5)
      MP_VertexSetZ (Mesh, n, MP_VertexGetZ(Mesh, n) * 1.5)

Next

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)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexSetY()

Syntax

MP_VertexSetY(Entity, index, y.f)

Beschreibung

The command MP_VertexSetY sets the x coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexSetY setzt die Y-Koordinate eines Vertexpunktes eines Objekts. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)
y.f	= Y-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

For n = 1 To MP_CountVertices(Mesh) Step 12

      MP_VertexSetX (Mesh, n, MP_VertexGetX(Mesh, n) * 1.5)
      MP_VertexSetY (Mesh, n, MP_VertexGetY(Mesh, n) * 1.5)
      MP_VertexSetZ (Mesh, n, MP_VertexGetZ(Mesh, n) * 1.5)

Next

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)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexGetZ()

Syntax

MP_VertexGetZ(Entity, index)

Beschreibung

The command MP_VertexGetZ gets the z coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexGetZ ermittelt die Z-Koordinate eines Vertexpunktes eines Objekts. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)

return value
It will return the z coordinate of a vertex point or in case of error #False
Es wird die Z-Koordinate eines Vertexpunktes zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

For n = 1 To MP_CountVertices(Mesh) Step 12

      MP_VertexSetX (Mesh, n, MP_VertexGetX(Mesh, n) * 1.5)
      MP_VertexSetY (Mesh, n, MP_VertexGetY(Mesh, n) * 1.5)
      MP_VertexSetZ (Mesh, n, MP_VertexGetZ(Mesh, n) * 1.5)

Next

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)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexSetZ()

Syntax

MP_VertexSetZ(Entity, index, z.f)

Beschreibung

The command MP_VertexSetZ sets the z coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexSetZ setzt die Z-Koordinate eines Vertexpunktes eines Objekts. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)
z.f	= Z-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

For n = 1 To MP_CountVertices(Mesh) Step 12

      MP_VertexSetX (Mesh, n, MP_VertexGetX(Mesh, n) * 1.5)
      MP_VertexSetY (Mesh, n, MP_VertexGetY(Mesh, n) * 1.5)
      MP_VertexSetZ (Mesh, n, MP_VertexGetZ(Mesh, n) * 1.5)

Next

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)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexGetNX()

Syntax

MP_VertexGetNX(Entity, index)

Beschreibung

The function MP_VertexGetNX gets the x coordinate of a normals vertex point of an object. Normals are mainly required for light shades. An entity is a mesh for this command.

Die Funktion MP_VertexGetNX ermittelt die X-Koordinate eines Normals eines Objekts. Normals werden hauptsächlich für Lichtschattierungen benötigt. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)

return value
It will return the x coordinate of a normals point or in case of error #False
Es wird die X-Koordinate eines Normals Vertex Punkts zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

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

      If MP_KeyDown(#PB_Key_Space)=1
            For n = 1 To MP_CountVertices(Mesh)

                   MP_VertexSetNX (Mesh, n, - MP_VertexGetNX(Mesh, n))
                   MP_VertexSetNY (Mesh, n, - MP_VertexGetNY(Mesh, n))
                   MP_VertexSetNZ (Mesh, n, - MP_VertexGetNZ(Mesh, n))
            Next
      EndIf

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexSetNX()

Syntax

MP_VertexSetNX(Entity, index, nx.f)

Beschreibung

The function MP_VertexSetNX sets the x coordinate of a normals vertex point of an object. Normals are mainly required for light shades. An entity is a mesh for this command.

Die Funktion MP_VertexSetNX setzt die X-Koordinate eines Normals eines Objekts. Normals werden hauptsächlich für Lichtschattierungen benötigt. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)
nx.f	= nx-coordinate as float
       nx-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

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

      If MP_KeyDown(#PB_Key_Space)=1
            For n = 1 To MP_CountVertices(Mesh)

                   MP_VertexSetNX (Mesh, n, - MP_VertexGetNX(Mesh, n))
                   MP_VertexSetNY (Mesh, n, - MP_VertexGetNY(Mesh, n))
                   MP_VertexSetNZ (Mesh, n, - MP_VertexGetNZ(Mesh, n))
            Next
      EndIf

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexGetNY()

Syntax

MP_VertexGetNY(Entity, index)

Beschreibung

The function MP_VertexGetNY gets the y coordinate of a normals vertex point of an object. Normals are mainly required for light shades. An entity is a mesh for this command.

Die Funktion MP_VertexGetNY ermittelt die Y-Koordinate eines Normals eines Objekts. Normals werden hauptsächlich für Lichtschattierungen benötigt. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)

return value
It will return the y coordinate of a normals point or in case of error #False
Es wird die Y-Koordinate eines Normals Vertex Punkts zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

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

      If MP_KeyDown(#PB_Key_Space)=1
            For n = 1 To MP_CountVertices(Mesh)

                   MP_VertexSetNX (Mesh, n, - MP_VertexGetNX(Mesh, n))
                   MP_VertexSetNY (Mesh, n, - MP_VertexGetNY(Mesh, n))
                   MP_VertexSetNZ (Mesh, n, - MP_VertexGetNZ(Mesh, n))
            Next
      EndIf

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexSetNY()

Syntax

MP_VertexSetNY(Entity, index, ny.f)

Beschreibung

The function MP_VertexSetNY sets the y coordinate of a normals vertex point of an object. Normals are mainly required for light shades. An entity is a mesh for this command.

Die Funktion MP_VertexSetNY setzt die Y-Koordinate eines Normals eines Objekts. Normals werden hauptsächlich für Lichtschattierungen benötigt. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)
ny.f	= ny-coordinate as float
       ny-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

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

      If MP_KeyDown(#PB_Key_Space)=1
            For n = 1 To MP_CountVertices(Mesh)

                   MP_VertexSetNX (Mesh, n, - MP_VertexGetNX(Mesh, n))
                   MP_VertexSetNY (Mesh, n, - MP_VertexGetNY(Mesh, n))
                   MP_VertexSetNZ (Mesh, n, - MP_VertexGetNZ(Mesh, n))
            Next
      EndIf

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexGetNZ()

Syntax

MP_VertexGetNZ(Entity, index)

Beschreibung

The function MP_VertexGetNZ gets the z coordinate of a normals vertex point of an object. Normals are mainly required for light shades. An entity is a mesh for this command.

Die Funktion MP_VertexGetNZ ermittelt die Z-Koordinate eines Normals eines Objekts. Normals werden hauptsächlich für Lichtschattierungen benötigt. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)

return value
It will return the z coordinate of a normals point or in case of error #False
Es wird die Z-Koordinate eines Normals Vertex Punkts zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

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

      If MP_KeyDown(#PB_Key_Space)=1
            For n = 1 To MP_CountVertices(Mesh)

                   MP_VertexSetNX (Mesh, n, - MP_VertexGetNX(Mesh, n))
                   MP_VertexSetNY (Mesh, n, - MP_VertexGetNY(Mesh, n))
                   MP_VertexSetNZ (Mesh, n, - MP_VertexGetNZ(Mesh, n))
            Next
      EndIf

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexSetNZ()

Syntax

MP_VertexSetNZ(Entity, index, nz.f)

Beschreibung

The function MP_VertexSetNZ sets the z coordinate of a normals vertex point of an object. Normals are mainly required for light shades. An entity is a mesh for this command.

Die Funktion MP_VertexSetNZ setzt die Z-Koordinate eines Normals eines Objekts. Normals werden hauptsächlich für Lichtschattierungen benötigt. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)
nz.f	= nz-coordinate as float
       nz-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

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

      If MP_KeyDown(#PB_Key_Space)=1
            For n = 1 To MP_CountVertices(Mesh)

                   MP_VertexSetNX (Mesh, n, - MP_VertexGetNX(Mesh, n))
                   MP_VertexSetNY (Mesh, n, - MP_VertexGetNY(Mesh, n))
                   MP_VertexSetNZ (Mesh, n, - MP_VertexGetNZ(Mesh, n))
            Next
      EndIf

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexGetColor()

Syntax

MP_VertexGetColor(Entity, index)

Beschreibung

The function MP_VertexGetColor gets the color of a vertex point as ARGB value. An entity is a mesh for this command.

Die Funktion MP_VertexGetColor ermittelt die Farbe eines Vertexpunktes als ARGB Wert. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)

return value
It will return the color of a vertex point as ARGB or in case of error #False
Es wird die Farbe eines  Vertexpunktes als ARGB Wert zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

      For n = 1 To MP_CountVertices(Mesh)

            MP_VertexSetColor(Mesh, n, MP_ARGB(127,127,127,127))
            ;MP_VertexSetColor(Mesh, n, MP_ARGB(Random(255),Random(255),Random(255),Random(255)))

      Next

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

      For n = 1 To MP_CountVertices(Mesh)
            color = MP_VertexGetColor(Mesh, n)
            MP_VertexSetColor(Mesh, n, color + MP_ARGB(Random(8)-4,Random(8)-4,Random(8)-4,Random(8)-4))

      Next

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexSetColor()

Syntax

MP_VertexSetColor(Entity, index ,color)

Beschreibung

The function MP_VertexSetColor sets the color of a vertex point as ARGB value. An entity is a mesh for this command.

Die Funktion MP_VertexSetColor setzt die Farbe eines Vertexpunktes als ARGB Wert. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)
color	= 8bit Alpha,Rot,Grün,Blau, create with MP_ARGB(a,r,g,b)
       8bit Alpha,Rot,Grün,Blau, z.B unterteilt MP_ARGB(a,r,g,b) die einzelnen Farben

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(20) ; Und jetzt eine Würfel

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

      For n = 1 To MP_CountVertices(Mesh)

            MP_VertexSetColor(Mesh, n, MP_ARGB(127,127,127,127))
            ;MP_VertexSetColor(Mesh, n, MP_ARGB(Random(255),Random(255),Random(255),Random(255)))

      Next

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

      For n = 1 To MP_CountVertices(Mesh)
            color = MP_VertexGetColor(Mesh, n)
            MP_VertexSetColor(Mesh, n, color + MP_ARGB(Random(8)-4,Random(8)-4,Random(8)-4,Random(8)-4))

      Next

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexGetU()

Syntax

MP_VertexGetU(Entity, index [, Flag])

Beschreibung

The command MP_VertexGetU gets the u coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexGetU ermittelt die U-Koordinate eines Vertexpunktes. Das entspricht der X-Koordinate einer Textur. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)

return value
It will return the u-coordinate of a vertex point or in case of error #False
Es wird die U-Koordinate eines Vertexpunktes zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine Würfel

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")
      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !
EndIf

Textur = MP_ImageToTexture(0) ; Create Texture from image
MP_EntitySetTexture (mesh,Textur)

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

      For n = 1 To MP_CountVertices(Mesh)

            u.f = MP_VertexGetU(Mesh, n)
            MP_VertexSetU(Mesh, n, u + 0.01)
            v.f = MP_VertexGetV(Mesh, n)
            MP_VertexSetV(Mesh, n, v + 0.01)

      Next

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexSetU()

Syntax

MP_VertexSetU(Entity, index, u.f [, Flag])

Beschreibung

The command MP_VertexSetU sets the u coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexSetU setzt die U-Koordinate eines Vertexpunktes. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)
u.f	= u-coordinate as float
       U-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine Würfel

Mesh2=MP_CreateCube() ; Und jetzt eine Würfel

;- Tausch die Textkoordinaten

MP_VertexSetU (Mesh2, 16, 0)
MP_VertexSetV (Mesh2, 16, 0)
MP_VertexSetU (Mesh2, 17, 1)
MP_VertexSetV (Mesh2, 17, 0)
MP_VertexSetU (Mesh2, 18, 1)
MP_VertexSetV (Mesh2, 18, 1)
MP_VertexSetU (Mesh2, 19, 0)
MP_VertexSetV (Mesh2, 19, 1)

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")

      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

MP_EntitySetTexture (Mesh2, Texture ) ; textur to mesh

MP_PositionEntity (Mesh,-1.5,0,5) ; Position des Würfels

MP_PositionEntity (Mesh2,1.5,0,5) ; 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,1,0,0)
      MP_TurnEntity (Mesh2,0,1,0)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexGetV()

Syntax

MP_VertexGetV(Entity, index [, Flag])

Beschreibung

The command MP_VertexGetV gets the v coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexGetV ermittelt die V-Koordinate eines Vertexpunktes. Das entspricht der Y-Koordinate einer Textur.. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)

return value
It will return the v-coordinate of a vertex point or in case of error #False
Es wird die V-Koordinate eines Vertexpunktes zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine Würfel

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")
      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !
EndIf

Textur = MP_ImageToTexture(0) ; Create Texture from image
MP_EntitySetTexture (mesh,Textur)

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

      For n = 1 To MP_CountVertices(Mesh)

            u.f = MP_VertexGetU(Mesh, n)
            MP_VertexSetU(Mesh, n, u + 0.01)
            v.f = MP_VertexGetV(Mesh, n)
            MP_VertexSetV(Mesh, n, v + 0.01)

      Next

      MP_TurnEntity (Mesh,0.1,0.1,0.1)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_VertexSetV()

Syntax

MP_VertexSetV(Entity, index, v.f [, Flag])

Beschreibung

The command MP_VertexSetV sets the v coordinate of a vertex point of an object. An entity is a mesh for this command

Die Funktion MP_VertexSetV setzt die V-Koordinate eines Vertexpunktes. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
index	= index of a vertex point, the index starts at 1 and maximum index is MP_CountVertices (Entity)
       index eines Vertexpunktes, der Index beginnt bei 1 und maximaler Index ist  MP_CountVertices(Entity)
v.f	= v-coordinate as float
       V-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine Würfel

Mesh2=MP_CreateCube() ; Und jetzt eine Würfel

;- Tausch die Textkoordinaten

MP_VertexSetU (Mesh2, 16, 0)
MP_VertexSetV (Mesh2, 16, 0)
MP_VertexSetU (Mesh2, 17, 1)
MP_VertexSetV (Mesh2, 17, 0)
MP_VertexSetU (Mesh2, 18, 1)
MP_VertexSetV (Mesh2, 18, 1)
MP_VertexSetU (Mesh2, 19, 0)
MP_VertexSetV (Mesh2, 19, 1)

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")

      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

MP_EntitySetTexture (Mesh2, Texture ) ; textur to mesh

MP_PositionEntity (Mesh,-1.5,0,5) ; Position des Würfels

MP_PositionEntity (Mesh2,1.5,0,5) ; 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,1,0,0)
      MP_TurnEntity (Mesh2,0,1,0)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_AddUVtoEntity()

Syntax

MP_AddUVtoEntity(Entity [, flag])

Beschreibung

The command MP_AddUVtoEntity sets an new UV choord system for mutlitexturing for a entity. An entity is a mesh for this command

Die Funktion MP_AddUVtoEntity sets ein neues UV System für multitexturing eines Entitys. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
flag	= 2-8 for a new UV set
       2-8 für ein weiteres UV System

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetZEnable()

Syntax

MP_EntitySetZEnable(Entity, bool.b)

Beschreibung

The command MP_EntitySetZEnable enable or disable the z-order of a entity. An entity is in this command is a mesh, animmesh, primitives or a partikelemmitter.

Die Funktion MP_EntitySetZEnable activiert oder deactiviert die z-Order eines Entity. Ein Entity ist für diesen Befehl ein Mesh, Animmesh, Primitives oder Partikelemmiter

Parameter
Entity	= Entity identity
       Identität eines Entitys
bool	= 0, off
       0 aus
       1, on
       1, an

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityGetTriangle()

Syntax

MP_EntityGetTriangle(Entity, triangle_index, corner.b)

Beschreibung

The function MP_EntityGetTriangle determines the index number of a vertex point. This requires the following information: the identity of the entity, number of the triangle and number of the triangular point (0-2). An entity is a mesh for this command.

Die Funktion MP_EntityGetTriangle ermittelt die Indexnummer eines Vertexpunktes. Dazu sind folgende Angaben notwendig: Identität des Entity, Nummer des Dreiecks und Nummer des Dreieckpunktes (0-2). Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	       = Entity identity
              Identität eines Entitys
triangle_index   = Index eines Dreiecks, der Index beginnt bei 1 und maximaler Index ist MP_CountTriangles(Entity)
corner.b	       = Nummer eines Dreieckpunktes (0-2)

return value
Index number of the vertex point is returned or in case of an error #False
Indexnummer des Vertexpunktes wird zurückgeliefert oder im Fehlerfall #False


MP_EntitySetTexture()

Syntax

MP_EntitySetTexture(Entity, Texture [, Level [, SubSet]])

Beschreibung

The statement MP_EntitySetTexture assigns an object a texture, or delete a texture. An entity is in this command, a mesh or a Partikelemmitter.

Die Anweisung MP_EntitySetTexture weist einem Objekt eine Textur zu, oder löscht eine Textur. Ein Entity ist bei diesem Befehl ein Mesh oder ein Partikelemmitter.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Texture	= Identity of a texture, or 0 to delete
       Identität einer Textur, oder 0 zum löschen
Level	= Level to add a texture layer. Must be followed added.
              Level um eine Texturebene hinzuzufügen. Muss immer nachfolgen addiert werden.
Subset	= 1, added a texture as second texture. to use for lightmaps
       1, ordnet eine zweite Textur zu einem entity dazu, z.B. für eine lightmap

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(10) ; Und jetzt eine Würfel

If CreateImage(0, 255, 255) ; Erzeuge Karomuster

      StartDrawing(ImageOutput(0))
      For n = 0 To 255 Step 64
          For m = 0 To 255 Step 64
               Box (n,m,32,32,RGB(255,255,255))
               Box (n+32,m,32,32,RGB(0,0,0))
               Box (n+32,m+32,32,32,RGB(255,255,255))
               Box (n,m+32,32,32,RGB(0,0,0))
          Next

      Next
      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

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

MP_PositionEntity (Mesh,0,0,5) ; 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)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_EntitySetBumpmap()

Syntax

MP_EntitySetBumpmap(Entity, BumpMapTexture)

Beschreibung

The command MP_EntitySetBumpmap sets a bump map texture to a entity. An entity is in this command a mesh or a Partikelemmitter.Die Bumpmap is a "Normals" texture so that the light and shadow calculation can be generated.

Die Anweisung MP_EntitySetBumpmap weist einem Objekt eine Bumpmap Textur zu. Ein Entity ist bei diesem Befehl ein Mesh oder ein Partikelemmitter.Die Bumpmap Textur ist eine "Normals" Textur damit die Licht und Schattenberechnung erzeugt werden kann.

Parameter
Entity		= Entity identity
              Identität eines Entitys
BumpMapTexture	= Identität einer Bumpmap-Texture
           Bumpmap-Texture identity

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateSphere(10) ; Und jetzt eine Würfel

If CreateImage(0, 1024, 1024) ; Erzeuge Karomuster

      StartDrawing(ImageOutput(0))
      For n = 0 To 1023 Step 32
          For m = 0 To 1023 Step 32
               Box (n,m,16,16,RGB(255,255,255))
               Box (n+16,m,16,16,RGB(0,0,0))
               Box (n+16,m+16,16,16,RGB(255,255,255))
               Box (n,m+16,16,16,RGB(0,0,0))
          Next

      Next
      StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !

EndIf

Texture = MP_ImageToTexture(0) ; Create Texture from image

MP_EntitysetTexture (Mesh, Texture ) ; textur to mesh

Texture2 = MP_CreateNormalMap(Texture, 1, 15)

MP_EntitySetBumpmap(Mesh, Texture2)

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)
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_BumpmapSetDest()

Syntax

MP_BumpmapSetDest(pitch.f, yaw.f)

Beschreibung

The statement MP_BumpmapSetDest generated a general direction of light to a bump map texture, the light and shadow relief

Die Anweisung MP_BumpmapSetDest erzeugt einen allgemeingültige Lichtrichtung um bei einer Bumpmap Texture die Licht und Schatten Reliefs zu erzeugen

Parameter
pitch.f	=  relative angle (in degrees) for the x-axis
        relativer Winkel (in Grad) für die x-Achse
yaw.f	=  relative angle (in degrees) for the y-axis
        relativer Winkel (in Grad) für die y-Achse

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityGetTexture()

Syntax

MP_EntityGetTexture(Entity [, n])

Beschreibung

The command MP_EntityGetTexture gets the identity of the texture of a entity. An entity is in this command is a mesh or a Partikelemmitter.

Die Anweisung MP_EntityGetTexture ermittelt die Indentität einer Texture die einem Entity zugewiesen wurde. Ein Entity ist bei diesem Befehl ein Mesh oder ein Partikelemmitter.

Parameter
Entity	= Entity identity
       Identität eines Entitys
n	= n-level of a texture layer..
              n-Level der weiteren Textur.

return value
Identity of a texture or if an error occurs #False
Identität einer Texture oder im Fehlerfall #False


MP_EntityGetMatrix()

Syntax

MP_EntityGetMatrix(Entity)

Beschreibung

The command MP_EntityGetMatrix gets the identity of the Mesh matrix

Die Anweisung MP_EntityGetMatrix ermittelt die Indentität der Mesh Matrix

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
Identity of a matrix or if an error occurs #False
Identität einer matrixoder im Fehlerfall #False


MP_EntitySetMatrix()

Syntax

MP_EntitySetMatrix(Entity, Matrix)

Beschreibung

The command MP_EntitySetMatrix sets a matrix for a Mesh

Die Anweisung MP_EntitySetMatrix setzt eine Matrix für ein Mesh

Parameter
Entity	= Entity identity
       Identität eines Entitys

Matrix	= Matrix identity
      Identität einer Matrix

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetParent()

Syntax

MP_EntitySetParent(Entity, Parent [, Free])

Beschreibung

The function MP_EntitySetParent set a parent entity for a entity. An entity is in this command mesh or primitives.

Die Funktion MP_EntitySetParent setzt für ein Entity ein Parent Entity . Ein Entity ist bei diesem Befehl ein Mesh oder Primitives.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Parent	= identity of the Parent Entity, or 0 to clear a Parent
       Identität des Parent Entitys, oder 0 um ein Parent zu löschen
Free	= 1, move entity only, not turning teh entity
       1, bewegt, aber dreht nicht das Entity
       0, moving and tuning from parent
       0, bewegt dun derht das Mesh vom Parent aus

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D(800, 600, 32, 2)
SetWindowTitle(0, "MP_EntityGetName()/MP_EntitySetName()/MP_EntitySetParent() example")

cam   = MP_CreateCamera()
light = MP_CreateLight(2)

cube = MP_CreateCube()
con = MP_CreateCone(3,1)

MP_PositionEntity(cam, 0, 0, -5)
MP_PositionEntity(light, 0, 3, -3)
MP_PositionEntity(cube, 0, 0, 0)
MP_PositionEntity(con, 1, 0, 0)

MP_EntitySetParent(con, cube,1) ; Make Cube parent to con

Repeat
   ev = EventWindow()

   MP_TurnEntity(cube, 0.3, 0.3, 0.3)
   MP_DrawText(10,10, "Cube ID = " + Str(cube))
   MP_DrawText(10,30, "Con ID = " + Str(con))
   MP_DrawText(10,60, "Parent ID to con = " + MP_EntityGetParent(con))
   MP_RenderWorld()
   MP_Flip()
Until MP_KeyDown(#PB_Key_Escape)


MP_EntityGetParent()

Syntax

MP_EntityGetParent(Entity)

Beschreibung

The function MP_EntityGetParent reads whether an entity has a parent. An entity is in this command mesh or primitives.

Die Funktion MP_EntityGetParent ließt ob ein Entity ein Parent hat. Ein Entity ist bei diesem Befehl ein Mesh oder Primitives.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
Identity of a parent entity or # False if not present
Identität eines Parent Entity oder #False wenn nicht vorhanden


MP_FreeEntity()

Syntax

MP_FreeEntity(Entity)

Beschreibung

The command MP_FreeEntity deletes an entity. An entity is in this command a mesh, a primitives, a AnimMesh or Partikelemmitter.

Die Anweisung MP_FreeEntity löscht ein Entity. Ein Entity ist bei diesem Befehl ein Mesh, Primitives, AnimMesh oder ein Partikelemmitter.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetEffect()

Syntax

MP_EntitySetEffect(Entity, Set.b)

Beschreibung

The command MP_EntitySetEffect activated at an entity of a previously loaded shader effect. An entity is in this command mesh.

Die Anweisung MP_EntitySetEffect aktiviert bei einem Entity ein vorher geladenen Shadereffekt. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Set.b	= 1 -> aktiviert
       0 -> deaktiviert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetOrder()

Syntax

MP_EntitySetOrder(Entity, order)

Beschreibung

The command MP_EntityOder ordered entitys in the list as a first or last element. So you can change the processing order to use glas effects. An entity is in this command mesh.

Die Anweisung MP_EntityOder sortiert ein Entity in der Verwaltungs-Liste als Erstes oder Letztes Element. Damit wird es zuerst oder zuletzt bearbeitet. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
order	= 1 -> first list element
       0 -> last list element
       1 -> Erstes Listenelement
       0 -> Letztes Listenelement

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityLookAt()

Syntax

MP_EntityLookAt(Entity, x.f, y.f, z.f [, XGrad.f, YGrad.f])

Beschreibung

The command MP_EntityLookAt rotates in the direction of an entity to  x, y, z in the 3D space. An entity is in this command is a mesh, a Animmesh, Partikelemmitter or camera.

Der Befehl MP_EntityLookAt dreht ein Entity in Richtung x,y,z im 3D Raum.  Ein Entity ist bei diesem Befehl ein Mesh, ein Animmesh, eine Kamera oder ein Partikelemmitter.

Parameter
Entity	= Entity identity
       Identität eines Entitys
x.f	= x-coordinate as float
       x-Koordinate als Float
y.f	= y-coordinate as float
       y-Koordinate als Float
z.f	= z-coordinate as float
       z-Koordinate als Float
XGrad.f	= x-grad turning after using the lookat function
      dreht das Entity um x-grad nach dem lookat
YGrad.f	=yx-grad turning after using the lookat function
      dreht das Entity um y-grad nach dem lookat

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PointEntity()

Syntax

MP_PointEntity(Entity, TargetEntity [, Roll])

Beschreibung

The command MP_PointEntity rotates in the direction of a TargetEntity in the 3D space. An entity is in this command is a mesh, a Animmesh, Partikelemmitter or camera.

Der Befehl MP_PointEntitydreht ein Entity in Richtung der TargetEntity im 3D Raum. Ein Entity ist bei diesem Befehl ein Mesh, ein Animmesh, eine Kamera oder ein Partikelemmitter.

Parameter
Entity	    = Entity identity
           Identität eines Entitys
TargetEntity = TargetEntity identity
           Identität eines TargetEntity
Roll.f	    = Roll turning after using the lookat function
           dreht das Entity um die Roll Achse nach dem lookat

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_HideEntity()

Syntax

MP_HideEntity(Entity, Bool)

Beschreibung

The command MP_HideEntity makes an invisible entity. But it is for other processes still present. An entity is in this command mesh.

Die Anweisung MP_HideEntity macht ein Entity unsichtbar. Es ist für ander Prozesse aber noch vorhanden. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Bool	= 1 -> invisible
       0 -> shown
       1 -> unsichtbar
       0 -> sichtbar

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CalcPitchYawRoll()

Syntax

MP_CalcPitchYawRoll(*Matrix.D3DMATRIX,*pointer.D3DXVECTOR3)

Beschreibung

The function MP_CalcPitchYawRoll get the Pitch, yaw and Roll of a matrix as a D3DXVECTOR3

Die Funktion MP_CalcPitchYawRoll ermittelt den pitch, Yaw und Roll einer matrix als D3DXVECTOR3

Parameter
*Matrix	= pointer of a matrix
       pointer der Matrix
*pointer	= adress of the D3DXVECTOR3
       Adresse des D3DXVECTOR3

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Structure of 3D Vertexpoint

  Structure D3DXVector3
    Pitch.f
    Yaw.f
    Roll.f
  EndStructure


MP_EntityGetRenderMatrix()

Syntax

MP_EntityGetRenderMatrix(Entity, *MatrixPointer.D3DMATRIX)

Beschreibung

The command MP_EntityGetRenderMatrix create a rendermatrix with the position and angel of the entity

Der Befehl MP_EntityGetRenderMatrix erzeugt eine Rendermatrix mit der Position und Winkel eines Entity

Parameter
Entity	       = Entity identity
              Identität eines Entitys
*MatrixPointer = Pointer of Matrix identity
                         Pointer der Matrix

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_GetMatrixInfo()

Syntax

MP_GetMatrixInfo(*Matrix.D3DMATRIX,*Vector6.D3DXVECTOR6)

Beschreibung

The function MP_GetMatrixInfo get the x,y,z position and the pitch, yaw and roll of a matrix as a D3DXVECTOR6

Die Funktion MP_GetMatrixInfo ermittelt die x,y,z position und den Pitch, Yaw und Roll einer Matrix als D3DXVECTOR6

Parameter
*Matrix	= pointer of a matrix
       pointer der Matrix
*Vector6	= adress of the D3DXVECTOR6
       Adresse des D3DXVECTOR6

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Structure of 3D Vertexpoint

  Structure D3DXVector6
    x.f
    y.f
    z.f
    Pitch.f
    Yaw.f
    Roll.f
  EndStructure


MP_MatrixTransformCoord()

Syntax

MP_MatrixTransformCoord(*Matrix.D3DMATRIX, *VectorIn.D3DXVECTOR3,*VectorOut.D3DXVECTOR3)

Beschreibung

The function MP_MatrixTransformCoord change a D3DXVECTOR3 with a matrix

Die Funktion MP_MatrixTransformCoord verändert einen D3DXVECTOR3 mithilfe einer matrix

Parameter
*Matrix	  = pointer of a matrix
         pointer der Matrix
*VectorIn	  = adress of the D3DXVECTOR3
        Adresse des D3DXVECTOR3
*VectorOut = adress of the D3DXVECTOR3
         Adresse des D3DXVECTOR3

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Structure of 3D Vertexpoint

  Structure D3DXVector3
    x.f
    y.f
    z.f
  EndStructure


MP_TransformCoord()

Syntax

MP_TransformCoord(Entity, *Vertex.D3DXVECTOR3)

Beschreibung

The command MP_TransformCoord changes the coordinates of a 3D point using a mesh matrix

Der Befehl MP_TransformCoord ändert die Koordinaten eines 3D Punktes mithilfe einer Mesh Matrix

Parameter
Mesh		           = Mesh identity
                         Identität eines Mesh
 *Vertex.D3DXVECTOR3 = Adress of a 3d Vertexpoint
                   Adresse eines 3D Vertexpunktes

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Structure of 3D Vertexpoint

  Structure D3DXVector3
    x.f
    y.f
    z.f
  EndStructure


MP_ListGetSize()

Syntax

MP_ListGetSize(Entity)

Beschreibung

The statement MP_ListGetSize gets the maximum number of items from an Entity (Entity's are Mesh, AnimMesh, Partikelemmiter, Light, Texture, camera, surface, sound, sprite, Font and Partikelemmiter)

Die Anweisung MP_ListGetSize gibt die maximale Anzahl der Elemente eines Entitys aus (Entity ist Mesh, AnimMesh, Partikelemmiter, Light, Texture, Kamera, Surface, Sound, Sprite, Font und Partikelemmiter)

Parameter
Entity	= 1 -> Mesh
       2 -> AnimMesh
       3 -> Partikelemmiter
       4 -> Light
       5 -> Texture
       6 -> Kamera
       7 -> Surface
       8 -> Sound
       9 -> Sprite
       10 -> Font
       11 -> Partikelemmiter

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ListGetElement()

Syntax

MP_ListGetElement(Entity, Element)

Beschreibung

The statement MP_EntityGetListElement gets the identitie of an Entity element in the management list (entity is Mesh, AnimMesh, Partikelemmiter, Light, Texture, camera, surface, sound, sprite, Font and Partikelemmiter)

Die Anweisung MP_EntityGetListElement gibt die Indentität eines Entity Elementes in der Verwaltungs-Liste aus (Entity ist Mesh, AnimMesh, Partikelemmiter, Light, Texture, Kamera, Surface, Sound, Sprite, Font und Partikelemmiter)

Parameter
Entity	= 1 -> Mesh
       2 -> AnimMesh
       3 -> Partikelemmiter
       4 -> Light
       5 -> Texture
       6 -> camera/Kamera
       7 -> Surface
       8 -> Sound
       9 -> Sprite
       10 -> Font
       11 -> Partikelemmiter

Element  	= Nummer in der Verwaltungs-Liste

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ListSwapElements()

Syntax

MP_ListSwapElements(Entity, Element1 , Element2)

Beschreibung

The statement MP_ListSwapElements exchange two items in the management Entity list (An Entity is a Mesh, AnimMesh, Partikelemmiter, Light, Texture, camera, surface, sound, sprite, Font and Partikelemmiter)

Die Anweisung MP_ListSwapElements tauscht zwei Entity Elemente in der Verwaltungs-Liste aus (Entity ist Mesh, AnimMesh, Partikelemmiter, Light, Texture, Kamera, Surface, Sound, Sprite, Font und Partikelemmiter)

Parameter
Entity	= 1 -> Mesh
       2 -> AnimMesh
       3 -> Partikelemmiter
       4 -> Light
       5 -> Texture
       6 -> camera/Kamera
       7 -> Surface
       8 -> Sound
       9 -> Sprite
       10 -> Font
       11 -> Partikelemmiter

Element1 	= Identity of the Element1 in the management list
       Identität des Element1 in der Verwaltungs-Liste
Element2 	= Identity of the Element2 in the management list
       Identität des Element2 in der Verwaltungs-Liste

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PhysicInit()

Syntax

MP_PhysicInit()

Beschreibung

The command MP_PhysicInit acticate the physic function

Der Befehl MP_PhysicInit aktiviert die Physik Funktion

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PhysicEnd()

Syntax

MP_PhysicEnd()

Beschreibung

The command MP_PhysicEnd deacticate the physic function and and releases the Resouces

Der Befehl MP_PhysicEnd deaktiviert die Physik Funktion und gibt die Resoucen frei

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityPhysicBody()

Syntax

MP_EntityPhysicBody(Entity, Typ, Mass.f)

Beschreibung

The comand MP_EntityPhysicBody  create a PhysicBody fo a Entity, (Entity is Mesh)

Der Befehl MP_EntityPhysicBody erzeugt ein PhysicBody für eine Entity,  (Entity ist Mesh)

Parameter
Entity	= Entity identity
       Identität eines Entitys
Typ 	=  1, static object
        2, rectangular object
        3, sphere object
        4, free object, interpreted all vertexe
        1, statisches Objekt
        2, Rechteck-Objekt
        3, Kugel Objekt
        4, freies Objekt, hier werden ale Vertex interpretiert
Mass.f	= mass of the object
       Masse des Objekte

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ChangePhysicHull()

Syntax

MP_ChangePhysicHull(Entity, Typ)

Beschreibung

The comand MP_ChangePhysicHull actualized the PhysicBody fo a Entity, (Entity is Mesh)

Der Befehl MP_ChangePhysicHull aktualisiert ein PhysicBody nach veränderung für eine Entity,  (Entity ist Mesh)

Parameter
Entity	= Entity identity
       Identität eines Entitys
Typ 	=  1, static object
        2, rectangular object
        3, sphere object
        4, free object, interpreted all vertexe
        1, statisches Objekt
        2, Rechteck-Objekt
        3, Kugel Objekt
        4, freies Objekt, hier werden alle Vertex interpretiert um eine Hülle zu bauen

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PhysicHullGenTollerance()

Syntax

MP_PhysicHullGenTollerance(Tollerance.f)

Beschreibung

The comand MP_PhysicHullGenTollerance change the tollrance for the function 4 =  free object, interpreted all vertexe funtion. (Entity is Mesh)

Der Befehl MP_PhysicHullGenTollerance verändert die Toleranz wenn man die Funktion 4, freies Objekt, hier werden alle Vertex interpretiert um eine Hülle zu bauen aktualisiert. (Entity ist Mesh)

Parameter
Tollerance.f = Tollerance.f as float
           Tollerance.f als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetPhysicMass()

Syntax

MP_EntitySetPhysicMass(Entity, mass.f)

Beschreibung

The command MP_EntitySetPhysicMass can change the mass of an object.

Der Befehl MP_EntitySetPhysicMass cann für ein Entity die Masse ändern, (Entity ist Mesh)

Parameter
Entity	= Entity identity
       Identität eines Entitys
Mass.f	= mass of the object
       Masse des Objekte

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreatePhysicMaterial()

Syntax

MP_CreatePhysicMaterial()

Beschreibung

Der Befehl MP_CreatePhysicMaterial erzeugt ein neues Physikmaterial

The command MP_CreatePhysicMaterial creates a new physics material

Parameter
-

return value
identity of the physics material
Identität des Physikmaterials


MP_SetPhysicMaterialProperties()

Syntax

MP_SetPhysicMaterialProperties(MaterialID1, Elasticity.f, staticFriction.f, kineticFriction.f [, MaterialID2])

Beschreibung

The command MP_SetPhysicMaterialProperties sets the material properties of a physics material

Der Befehl MP_SetPhysicMaterialProperties setzt die Materialeigenschaften für ein Physikmaterial

Parameter
MaterialID1	= identity of the physics material
           Identität des Physikmaterials
Elasticity.f		=  Elasticity as float
            Elastizität als Fließkommazahl
staticFriction.f	=  static friction as float
            Statischer Wiederstand als Fließkommazahl
kineticFriction.f	= kinetic friction as float
           Bewegungswiederstand als Fließkommazahl
MaterialID2	= identity of the optional second physics material
           Identität des optionalen zweiten Physikmaterials

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SetPhysicMaterialtoMesh()

Syntax

MP_SetPhysicMaterialtoMesh(Entity, MaterialID)

Beschreibung

The command MP_SetPhysicMaterialtoMesh sets a physics material to a entity, An entity is in this command mesh.

Der Befehl MP_SetPhysicMaterialtoMesh setzt die Eigenschaft eines Physikmaterial für ein Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	    = Entity identity
           Identität eines Entitys
MaterialID    = identity of the physics material
           Identität des Physikmaterials

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ConstraintCreateBall()

Syntax

MP_ConstraintCreateBall(Entity, PinX.f, PinY.f, PinZ.f, maxConeAngle.f, maxTwistAngle.f [, Pivotx.f, Pivoty.f, Pivotz.f [, MasterEntity]])

Beschreibung

The function MP_ConstraintCreateBall creates a connection between two entities. You can 'link' entities continously together to form a long chain.

Die Funktion MP_ConstraintCreateBall erzeugt ein Kugelgelenk. Du kannst Entitys wie mit einer Kette zusammenfügen

Parameter
Entity	          = Entity identity
                 Identität eines Entitys
PinX.f	          = an unit x vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des x vectors im Globalen raum (-1, 0, 1)
PinY.f                 = an unit y vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des y vectors im Globalen raum (-1, 0, 1)
PinZ.f                 = an unit z vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des z vectors im Globalen raum (-1, 0, 1)
maxConeAngle.f =The maximum angle in radians the attached body is allowed to swing relative to the pin axis, a value of zero will disable these limits.
                              Der maximal Winkel in Radians den das Entity schwingen kann, Null hebt die Beschrängung auf
maxTwistAngle.f =The maximum angle in radians the attached body is allowed to twist relative to the pin axis, a value of zero will disable these limits.
                              Der maximal Winkel in Radians den das Entity drehen kann, Null hebt die Beschrängung auf
Pivotx.f               =The turning center point on the X-axis
                             x Position des Mittelpunktes, um den sich alles dreht
Pivoty.f               =The turning center point on the Y-axis
                             y Position des Mittelpunktes, um den sich alles dreht
Pivotz.f               =The turning center point on the Z-axis
                             z Position des Mittelpunktes, um den sich alles dreht
MasterEntity       = Masterentity identity
                 Identität des Vaterentitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ConstraintCreateHinge()

Syntax

MP_ConstraintCreateHinge(Entity, PinX.f, PinY.f, PinZ.f [, Pivotx.f, Pivoty.f, Pivotz.f [, MasterEntity]])

Beschreibung

The function MP_ConstraintCreateHinge creates a hinge between two entities.

Die Funktion MP_ConstraintCreateHinge erzeugt ein Scharnier.

Parameter
Entity	          = Entity identity
                 Identität eines Entitys
PinX.f	          = an unit x vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des x vectors im Globalen raum (-1, 0, 1)
PinY.f                 = an unit y vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des y vectors im Globalen raum (-1, 0, 1)
PinZ.f                 = an unit z vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des z vectors im Globalen raum (-1, 0, 1)
Pivotx.f               =The turning center point on the X-axis
                             x Position des Mittelpunktes, um den sich alles dreht
Pivoty.f               =The turning center point on the Y-axis
                             y Position des Mittelpunktes, um den sich alles dreht
Pivotz.f               =The turning center point on the Z-axis
                             z Position des Mittelpunktes, um den sich alles dreht
MasterEntity       = Masterentity identity
                 Identität des Vaterentitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_LimitHinge()

Syntax

MP_LimitHinge(Entity, Angle.f [, Friction.f])

Beschreibung

The function MP_LimitHinge set a Angle Limit and friction fro a hinge. An entity is for this command, a mesh or Partikelemmitter.

Die Funktion MP_LimitHinge limitiert den Winkel eines Hinge Elementes. Ein Entity ist für diesen Befehl ein Mesh oder Partikelemmitter.

Parameter
Entity	  = Entity identity
         Identität eines Entitys
Angle.f 	  = Angle as a float
                     Angle als Float
Friction.f  	  = friction as a float
         Wiederstand als als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ConstraintCreateSlider()

Syntax

MP_ConstraintCreateSlider(Entity, PinX.f, PinY.f, PinZ.f [, Pivotx.f, Pivoty.f, Pivotz.f [, MasterEntity]])

Beschreibung

The function MP_ConstraintCreateSlider creates a slider between two entities.

Die Funktion MP_ConstraintCreateSlider erzeugt ein Scharnier.

Parameter
Entity	          = Entity identity
                 Identität eines Entitys
PinX.f	          = an unit x vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des x vectors im Globalen raum (-1, 0, 1)
PinY.f                 = an unit y vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des y vectors im Globalen raum (-1, 0, 1)
PinZ.f                 = an unit z vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des z vectors im Globalen raum (-1, 0, 1)
Pivotx.f               =The turning center point on the X-axis
                             x Position des Mittelpunktes, um den sich alles dreht
Pivoty.f               =The turning center point on the Y-axis
                             y Position des Mittelpunktes, um den sich alles dreht
Pivotz.f               =The turning center point on the Z-axis
                             z Position des Mittelpunktes, um den sich alles dreht
MasterEntity       = Masterentity identity
                 Identität des Vaterentitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_LimitSliderDistance()

Syntax

MP_LimitSliderDistance(Entity,mfMinDistance.f,mfMaxDistance.f)

Beschreibung

The function MP_LimitSliderDistance set a Slider Limit and friction for a slider. An entity is for this command, a mesh or Partikelemmitter.

Die Funktion MP_LimitSliderDistance limitiert die Bewegung eines Sliders Elementes. Ein Entity ist für diesen Befehl ein Mesh oder Partikelemmitter.

Parameter
Entity	          = Entity identity
                 Identität eines Entitys
mfMinDistance.f = mfMinDistanceas a float
                 mfMinDistance als Float
mfMinDistance.f = mfMinDistance as a float
                 mfMinDistance als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreatePhysicMeshfromPoints()

Syntax

MP_CreatePhysicMeshfromPoints(Numvertices, *Address, FVFSize [, Flag])

Beschreibung

The comand MP_CreatePhysicMeshfromPoints create a mesh with a PhysicBody from a points clouds

Der Befehl MP_CreatePhysicMeshfromPoints erzeugt einMesh aus einer Punktwolke

Parameter
Numvertices = count of points as #vertices
           Anzahl der Punkte der Vertices
*Address 	     = Memory adress of point clouds
            Speicheradresse der Punktwolke
 FVFSize 	      = FVFSize of the vertices
             FVFSize der Vertices Punkte
Flag 	      = 0 - create mesh with physic body
             0 - erzeugt eine mesh mit Physic Körper
              1 - create mesh only,  without physic body
             1 - erzeugt ein Mesh ohne Physic Körper

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_ConstraintCreateUpVector()

Syntax

MP_ConstraintCreateUpVector(Entity,PinX.f,PinY.f,PinZ.f)

Beschreibung

The function MP_ConstraintCreateUpVector creates an up vector joint. An up vector joint is a constraint that allows a body to translate freely in 3d space, but it only allows the body to rotate around the pin direction vector.

Die Funktion MP_ConstraintCreateUpVector erzeugt eine feste Achse um der sich ein Entity bewegen kann.

Parameter
Entity	          = Entity identity
                 Identität eines Entitys
PinX.f	          = an unit x vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des x vectors im Globalen raum (-1, 0, 1)
PinY.f                 = an unit y vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des y vectors im Globalen raum (-1, 0, 1)
PinZ.f                 = an unit z vector defining the cone axis in global space. (-1, 0, 1)

return value
identity of the physics material
Identität des Physikmaterials


MP_UpVectorSetPin()

Syntax

MP_UpVectorSetPin(Entity,PinX.f,PinY.f,PinZ.f)

Beschreibung

The function MP_UpVectorSetPin creates an up vector. An up vector joint only allows the body to rotate around the pin direction vector.

Die Funktion MP_UpVectorSetPin erzeugt eine feste Achse um der sich ein Entity bewegen kann.

Parameter
Entity	          = Entity identity
                 Identität eines Entitys
PinX.f	          = an unit x vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des x vectors im Globalen raum (-1, 0, 1)
PinY.f                 = an unit y vector defining the cone axis in global space. (-1, 0, 1)
                Ausrichtung des y vectors im Globalen raum (-1, 0, 1)
PinZ.f                 = an unit z vector defining the cone axis in global space. (-1, 0, 1)

return value
identity of the physics material
Identität des Physikmaterials


MP_EntityAddImpulse()

Syntax

MP_EntityAddImpulse(Entity, pointDeltaVelocX.f, pointDeltaVelocY.f, pointDeltaVelocZ.f [, pointPositX.f, pointPositY.f, pointPositZ.f])

Beschreibung

The function MP_EntitySetVelocity set a velocita to a entity. An entity is for this command, a mesh or Partikelemmitter.

Die Funktion MP_EntitySetVelocity setzt eine Geschwindigkeit in Richtung x,y,z. Ein Entity ist für diesen Befehl ein Mesh oder Partikelemmitter.

Parameter
Entity	              = Entity identity
                     Identität eines Entitys
pointDeltaVelocX.f = x-direction as a float
                     x-Richtung als Float
pointDeltaVelocy.f  = y-direction as a float
                      y-Richtung als Float
pointDeltaVelocX.f = z-direction as a float
                     z-Richtung als Float
pointPositX.f           = x-Position as float
                      x-Position als Float
pointPositX.f           = y-Position as float
                     y-Position als Float
pointPositX.f           = z-Position as float
                     z-Position als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PhysicUpdate()

Syntax

MP_PhysicUpdate()

Beschreibung

The command MP_PhysicUpdate updates the physics calculations

Der Befehl MP_PhysicUpdate aktualisiert die Physikberechnungen

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityGetPhysicMatrix()

Syntax

MP_EntityGetPhysicMatrix(Entity)

Beschreibung

The command MP_EntityGetPhysicMatrix reads an Entity matrix,  (Entity is Mesh)

Der Befehl MP_EntityGetPhysicMatrix ließt eine Entiy Matrix, (Entity ist Mesh)

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
adress of matrix or on failure #False
Adresse der Matrix oder im Fehlerfall #False

Structure of 3D matrix

Structure D3DMATRIX

        _11.f : _12.f : _13.f : _14.f
        _21.f : _22.f : _23.f : _24.f
        _31.f : _32.f : _33.f : _34.f
        _41.f : _42.f : _43.f : _44.f

        ;   m.f[16] ;becuase pb doesn't surpport muilt-dimentinal arrays
EndStructure


MP_EntityResetPhysic()

Syntax

MP_EntityResetPhysic(Entity)

Beschreibung

The command MP_EntityResetPhysic resets all physics influences of a Entity, (entity is mesh)

Der Befehl MP_EntityResetPhysic setzt alle Physikeinflüsse eines Entitys zurück. (Entity ist Mesh)

Parameter
Entity	    = Entity identity
           Identität eines Entitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetPhysic()

Syntax

MP_EntitySetPhysic(Entity, Mode)

Beschreibung

This command MP_EntitySetPhysic enables or disables the physics functions to an entity, (entity is mesh)

Dieser Befehl MP_EntitySetPhysic aktiviert oder deaktiviert die Physikfunktionen auf ein Entity, (Entity ist Mesh)

Parameter
Entity	= Entity identity
       Identität eines Entitys
Typ 	=  0, physic functions deactivated
        0, Physikfunktionen deaktiviert
        1, physic function activated
        1, Physikfunktionen aktiviert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetPhysicMatrix()

Syntax

MP_EntitySetPhysicMatrix(Entity [, Matrix])

Beschreibung

The command MP_EntitySetPhysicMatrix sets an Entity physic matrix,  (Entity is Mesh)

Der Befehl MP_EntitySetPhysicMatrix setzt für ein Entity eine Physikmatrix,  (Entity ist Mesh)

Parameter
Entity	= Entity identity
       Identität eines Entitys
Matrix	= adress of the matrix
       Adresse der Matrix

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Structure of 3D matrix

Structure D3DMATRIX

        _11.f : _12.f : _13.f : _14.f
        _21.f : _22.f : _23.f : _24.f
        _31.f : _32.f : _33.f : _34.f
        _41.f : _42.f : _43.f : _44.f

        ;   m.f[16] ;becuase pb doesn't surpport muilt-dimentinal arrays
EndStructure


MP_2DCollisionTri2Tri()

Syntax

MP_2DCollisionTri2Tri(a1x.f,a1y.f,a2x.f,a2y.f,a3x.f,a3y.f,b1x.f,b1y.f,b2x.f,b2y.f,b3x.f,b3y.f)

Beschreibung

The function MP_2DCollisionTri2Tri reviewed a collision of two triangles in 2D space

Die Funktion MP_2DCollisionTri2Tri überprüft eine Kollision von zwei Dreiecken im 2D Raum

Parameter
a1x.f	= First triangle point a1 x value
       Ersteres Dreieck Punkt a1 x Wert
a1y.f	= First triangle point a1 y value
       Ersteres Dreieck Punkt a1 y Wert
a2x.f	= First triangle point a2 x value
       Ersteres Dreieck Punkt a2 x Wert
a2y.f	= First triangle point a2 y value
       Ersteres Dreieck Punkt a2 y Wert
a3x.f	= First triangle point a3 x value
       Ersteres Dreieck Punkt a3 x Wert
a3y.f	= First triangle point a3 y value
       Ersteres Dreieck Punkt a3 y Wert
b1x.f	= Second triangle point b1 x value
       Zweites Dreieck Punkt b1 x Wert
b1y.f	= Second triangle point b1 y value
       Zweites Dreieck Punkt b1 y Wert
b2x.f	= Second triangle point b2 x value
       Zweites Dreieck Punkt b2 x Wert
b2y.f	= Second triangle point b2 y value
       Zweites Dreieck Punkt b2 y Wert
b3x.f	= Second triangle point b3 x value
       Zweites Dreieck Punkt b3 x Wert
b3y.f	= Second triangle point b3 y value
       Zweites Dreieck Punkt b3 y Wert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_2DCollisionLine2Line()

Syntax

MP_2DCollisionLine2Line(x1.f,y1.f,x2.f,y2.f,x3.f,y3.f,x4.f,y4.f)

Beschreibung

The function MP_2DCollisionLine2Line reviewed a collision of two lines in 2D space

Die Funktion MP_2DCollisionLine2Line überprüft eine Kollision von zwei Linien im 2D Raum

Parameter
x1.f	= The first line point1 x1 value
       Erster Linie Punkt1 x1 Wert
y1.f	= The first line point1 y1 value
       Erster Linie Punkt1 y1 Wert
x2.f	= The first line point2 x2 value
       Erster Linie Punkt2 x2 Wert
y2.f	= The first line point2 x2 value
       Erster Linie Punkt2 y2 Wert
x3.f	= The second line point1 x3 value
       Zweite Linie Punkt 1 x3 Wert
y3.f	= The second line point1 y3 value
       Zweite Linie Punkt1 y3 Wert
x4.f	= The second line point1 x4 value
       Zweite Linie Punkt4 x4 Wert
y4.f	= The second line point4 y4 value
       Zweite Linie Punkt4 y4 Wert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_2DCollisionPoint2Tri()

Syntax

MP_2DCollisionPoint2Tri(t1x.f,t1y.f,t2x.f,t2y.f,t3x.f,t3y.f,Px.f,Py.f)

Beschreibung

The function MP_2DCollisionPoint2Tri reviewed a collision between a point and a triangle in 2D space

Die Funktion MP_2DCollisionPoint2Tri überprüft eine Kollision von einem Punkt und einem Dreieck im 2D Raum

Parameter
t1x.f	= Triangle point1 t1x value
       Dreieck Punkt1 t1x Wert
t1y.f	= Triangle point1 t1y value
       Dreieck Punkt1 t1y Wert
t2x.f	= Triangle point2 t2x value
       Dreieck Punkt2 t2x Wert
t2y.f	= Triangle point2 t2y value
       Dreieck Punkt2 t2y Wert
t3x.f	= Triangle point3 t3x value
       Dreieck Punkt3 t3x Wert
t3y.f	= Triangle point2 t3y value
       Dreieck Punkt3 t3y Wert
Px.f	= point Px value
       Punkt Px Wert
Py.f	= point Py value
       Punkt Py Wert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetVelocity()

Syntax

MP_EntitySetVelocity(Entity, xVelocity.f, yVelocity.f, zVelocity.f [, VelocityVar.f])

Beschreibung

The function MP_EntitySetVelocity set a force and a is a distribution strength in direction x, y, z. An entity is for this command, a mesh or Partikelemmitter.

Die Funktion MP_EntitySetVelocity setzt eine Kraftwirkung in Richtung x,y,z und Verteilungsstärke. Ein Entity ist für diesen Befehl ein Mesh oder Partikelemmitter.

Parameter
Entity	     = Entity identity
            Identität eines Entitys
xVelocity.f     = x-direction as a float
           x-Richtung als Float
yVelocity.f     = y-direction as a float
           y-Richtung als Float
zVelocity.f     = z-direction as a float
           z-Richtung als Float
VelocityVar.f = Velocity as float
           Verteilungstärke als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityGetVelocity()

Syntax

MP_EntityGetVelocity(Entity , *vVector.D3DXVECTOR3)

Beschreibung

The function MP_EntityGetVelocity get a force as a D3DXVECTOR3. An entity is for this command, a mesh or Partikelemmitter.

Die Funktion MP_EntityGetVelocity lißet die Kraftwirkung als D3DXVECTOR3. Ein Entity ist für diesen Befehl ein Mesh oder Partikelemmitter.

Parameter
Entity	                           = Entity identity
                                 Identität eines Entitys
xVelocity.D3DXVECTOR3 = as D3DXVECTOR3
                                             als D3DXVECTOR3

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetGravity()

Syntax

MP_EntitySetGravity(Entity, xGravity.f , yGravity.f ,zGravity.f)

Beschreibung

The function MP_EntitySetGravity is a gravitational force in the direction x, y, z. An entity is for this command, a mesh or Partikelemmitter.

Die Funktion MP_EntitySetGravity setzt eine Gravitationskraft in Richtung x,y,z. Ein Entity ist für diesen Befehl ein Mesh oder Partikelemmitter.

Parameter
Entity	= Entity identity
       Identität eines Entitys
xGravity.f = x-direction as a float
     x-Richtung als Float
yGravity.f = y-direction as a float
     y-Richtung als Float
zGravity.f = z-direction as a float
     z-Richtung als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityGetOmega()

Syntax

MP_EntityGetOmega(Entity , *vVector.D3DXVECTOR3)

Beschreibung

The function MP_EntityGetOmega gets the 'velocity' angle values of an entity as a D3DXVECTOR3. An entity is for this command, a mesh or Partikelemmitter.

Die Funktion MP_EntityGetOmega ließt die Winkelgeschwindigkeitauf als D3DXVECTOR3. Ein Entity ist für diesen Befehl ein Mesh oder Partikelemmitter.

Parameter
Entity	                         = Entity identity
                                Identität eines Entitys
vVector.D3DXVECTOR3 = as D3DXVECTOR3
                                            als D3DXVECTOR3

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetOmega()

Syntax

MP_EntitySetOmega(Entity, xOmega.f , yOmega.f ,zOmega.f)

Beschreibung

The function MP_EntitySetOmega set the 'velocity' angle values of an entity. An entity is for this command, a mesh or Partikelemmitter.

Die Funktion MP_EntitySetOmega setz die Winkelgeschwindigkeit. Ein Entity ist für diesen Befehl ein Mesh oder Partikelemmitter.

Parameter
Entity       = Entity identity
       Identität eines Entitys
xOmega.f =  x-direction as a float
        x-Richtung als Float
yOmega.f =  y-direction as a float
        y-Richtung als Float
zOmega.f = z-direction as a float
       z-Richtung als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntitySetWind()

Syntax

MP_EntitySetWind(Entity, xWind.f , yWind.f ,zWind.f)

Beschreibung

The function sets a MP_EntitySetWind wind influence in the direction of x, y, z. An entity is for this command, a mesh or Partikelemmitter.

Die Funktion MP_EntitySetWind setzt einen Windeinfluss in Richtung x,y,z. Ein Entity ist für diesen Befehl ein Mesh oder Partikelemmitter.

Parameter
Entity	= Entity identity
       Identität eines Entitys
xWind.f	= x-direction as a float
       x-Richtung als Float
yWind.f	= y-direction as a float
       y-Richtung als Float
zWind.f	= z-direction as a float
       Z-Richtung als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_3DCollisionSphere2Sphere()

Syntax

MP_3DCollisionSphere2Sphere(Entity,Entity2)

Beschreibung

The function MP_3DCollisionSphere2Sphere reviewed a collision of two Spheres. An entity is a mesh for this command.

Die Funktion MP_3DCollisionSphere2Sphere ermittelt ob sich zwei Kugeln berühren. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity1 identity
       Identität des Entitys1
Entity2	= Entity2 identity
       Identität des Entitys2

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_3DCollisionCube2Cube()

Syntax

MP_3DCollisionCube2Cube(Entity,Entity2)

Beschreibung

The function MP_3DCollisionCube2Cube reviewed a collision of two Cubes. An entity is a mesh for this command.

Die Funktion MP_3DCollisionCube2Cube ermittelt ob sich zwei Würfel berühren. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity1 identity
       Identität des Entitys1
Entity2	= Entity2 identity
       Identität des Entitys2

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_3DCollision()

Syntax

MP_3DCollision(Mesh1,Mesh2)

Beschreibung

The function MP_3DCollision reviewed a collision of two meshs.

Die Funktion MP_3DCollision ermittelt ob sich zwei Meshs berühren.

Parameter
Mesh1	= Mesh1 identity
       Identität des Mesh1
Mesh2	= Mesh2 identity
       Identität des Mesh2

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_EntityCollTri()

Syntax

MP_EntityCollTri(Entity, count [, Mode])

Beschreibung

The function MP_EntityCollTri  changed the number of collision triangles of an entity. An entity is a mesh for this command

Die Funktion MP_EntityCollTri verändert von einem Entity die Anzahl an Kollisionsdreiecke. Ein Entity ist für diesen Befehl ein Mesh

Parameter
Entity	= Entity identity
       Identität eines Entitys
count 	= Number of collision triangles, default = 100
       Anzahl der Kollisionsdreiecke, Standard = 100

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PointInMeshBox()

Syntax

MP_PointInMeshBox(Mesh,p)

Beschreibung

The function MP_PointInMeshBox checks if a point is in a cube. An entity is a mesh for this command.

Die Funktion MP_PointInMeshBox prüft ob sich eine Punkt in einem Würfel befindet. Ein Entity ist für diesen Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
p	= address (pointer) of a structure p.D3DXVECTOR3
       Adresse (Pointer) einer p.D3DXVECTOR3 Struktur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PointInSphere()

Syntax

MP_PointInSphere(p, m, r.f)

Beschreibung

The function MP_PointInSphere reviewed a collision of two spheres.

Die Funktion MP_PointInSphere prüft ob sich eine Punkt in einer Kugel befindet.

Parameter
p	= address (pointer) of a structure p.D3DXVECTOR3
       Adresse (Pointer) einer p.D3DXVECTOR3 Struktur.
m	= address (pointer) of a m.D3DXVECTOR3 structure. m describes the center of the sphere
       Adresse (Pointer) einer m.D3DXVECTOR3 Struktur. m beschreibt die Mitte der Kugel
r.f	= radius of the Sphere as float
       Radius der Kugel als FLOAT

return value
#True on success or #False on failure
#True oder im Fehlerfall


MP_LoadTexture()

Syntax

MP_LoadTexture(File.s [, Alpha [, MipLevels]])

Beschreibung

The function MP_LoadTexture loads a texture, with optional alpha channel. As graphic files BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_LoadTexture lädt eine Textur, optional mit AlphaKanal. Als Grafikdateien können BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
File.s	 = graphics file as a string
        Grafikdatei als String
Alpha	 = 1 -> texture with alpha channel
        0 -> texture without alpha channel
        1 -> Textur mit Alphakanal
        0 -> Textur ohne Alphakanal
Alpha	 = 1 -> texture with alpha channel
        0 -> texture without alpha channel = standard
        1 -> Textur mit Alphakanal
        0 -> Textur ohne Alphakanal  = Standard
MipLevels = 0 -> Standard mipmaps are created
        1 to x, otherwise the number of mipmaps
        0 -> Standard MipMaps werden erstellt
        1 to x, sonst Anzahl der MipMaps

return value
Identity of the texture or in case of error #False
Identität der Textur oder im Fehlerfall #False


MP_LoadCubeTexture()

Syntax

MP_LoadCubeTexture(File.s)

Beschreibung

The function MP_LoadCubeTexture loads a cube texture with alpha channel. As graphic files BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_LoadTexture lädt eine Würfel Textur mit AlphaKanal. Als Grafikdateien können BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
File.s	 = graphics file as a string
        Grafikdatei als String

return value
Identity of the texture or in case of error #False
Identität der Textur oder im Fehlerfall #False


MP_LoadSphereTexture()

Syntax

MP_LoadSphereTexture(File.s)

Beschreibung

The function MP_LoadSphereTexture loads a sphere texture with alpha channel. As graphic files BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_LoadSphereTexture lädt eine Kugel Textur mit AlphaKanal. Als Grafikdateien können BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
File.s	 = graphics file as a string
        Grafikdatei als String

return value
Identity of the texture or in case of error #False
Identität der Textur oder im Fehlerfall #False


MP_CatchCubeTexture()

Syntax

MP_CatchCubeTexture(Adresse, Laenge)

Beschreibung

The function MP_CatchCubeTexture generated from a graphic file located in memory a cube texture with alpha channel. As graphic files BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_CatchTexture erzeugt aus einer im Arbeitsspeicher liegenden Grafik Datei eine Würfel  Textur mit Alphakanal. Als Grafikdateien können BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
Adresse	 = start address of the graphics file
        Startadresse der Grafikdatei
Laenge	 = size of the graphic file
        Groesse der Grafikdatei

return value
Identity of the texture or in case of an error #False
Identität der Textur oder im Fehlerfall #False


MP_CatchSphereTexture()

Syntax

MP_CatchSphereTexture(Adresse, Laenge)

Beschreibung

The function MP_CatchSphereTexture generated from a graphic file located in memory a sphere texture with alpha channel. As graphic files BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_CatchSphereTexture erzeugt aus einer im Arbeitsspeicher liegenden Grafik Datei eine Kugel Textur mit Alphakanal. Als Grafikdateien können BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
Adresse	 = start address of the graphics file
        Startadresse der Grafikdatei
Laenge	 = size of the graphic file
        Groesse der Grafikdatei

return value
Identity of the texture or in case of an error #False
Identität der Textur oder im Fehlerfall #False


MP_GrabTexture()

Syntax

MP_GrabTexture(Texture,x,y,width,height)

Beschreibung

The function MP_GrabTexture creates a new texture an get an area of the old texture

Die Funktion MP_GrabTexture erzeugt eine neue Textur aus einem Teilbereich der alten Textur

Parameter
Texture	= identity of the source texture
       Identität der Quelltextur
x	= left x position of the area of the source file)
       Linke X-Position des Rechteckauschnittes (der Quelldatei)
y	= upper  y position of the area of the source file
       Obere Y-Position des Rechteckauschnittes
width	= width of the area of the source file
       Weite des Texturauschnittes
height	= height of the area
       Höhe des Texturauschnittes

return value
Identity of the texture or in case of error #False
Identität der Textur oder im Fehlerfall #False


MP_SaveTexture()

Syntax

MP_SaveTexture(File.s, Texture, Format)

Beschreibung

The function MP_SaveTexture save a texture as an image file. As a graphic format can be BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_SaveTexture speichert eine Textur als Grafikdatei. Als Grafikformat kann BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
File.s	= grafic file as string
       Grafikdatei als String
Texture	= Identity of the texture
       Identität der Textur
Format	= 0 -> BMP format
       1 -> JPG format
       2 -> TGA format
       3 -> PNG format
       4 -> DDS format
       5 -> PPM format
       6 -> DIB format
       7 -> HDR format
       8 -> HDR format

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_RotateTexture()

Syntax

MP_RotateTexture(Textur, Angle.f [, CenterX, CenterY])

Beschreibung

The function MP_RotateTexture rotates a texture to a fixed angle, with the focus can be moved

Die Funktion MP_RotateTexture dreht eine Textur um einen festen Winkel, wobei der Mittelpunkt verschoben werden kann

Parameter
Texture	= identity of the texture
       Identität der Textur
Angle.f	= rotation angle
       Rotationswinkel
CenterX	= x-center of the texture
       x-Mittelpunkt der Textur
CenterY	= y-center of the texture
       y-Mittelpunkt der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ResizeTexture()

Syntax

MP_ResizeTexture(Texture,width,height)

Beschreibung

The function MP_ResizeTexture change the width and height of a texture

Die Funktion MP_ResizeTexture verändert die Grösse einer Textur

Parameter
Texture	= identity of the  texture
       Identität der Textur
width	= new width of the texture
       Neue Weite der Textur
height	= new heightof the texture
       Neue Höhe der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CopyTexture()

Syntax

MP_CopyTexture(Texture, Texture2 [, x1, y1, width1, height1 [, x2, y2, width2, height2]])

Beschreibung

The function MP_CopyTexture copies a texture in a different texture and it is also possible to copy only one area of teh texture

Die Funktion MP_CopyTexture kopiert eine Textur in eine andere Textur wobei es auch möglich ist nur einen Auschnitt zu kopieren

Parameter
Texture	= identity of the source texture
       Identität der Quelltextur
Texture2	= identity of the target texture
       Identität der Zieltextur
x1	= left x position of the area of the source file)
       Linke X-Position des Rechteckauschnittes (der Quelldatei)
y1	= upper  y position of the area of the source file
       Obere Y-Position des Rechteckauschnittes
width1	= width of texture
         Weite der Textur
height1 	= hight of texture
       Höhe der Textur
x2	= right x position of the area of the source file
       Rechte X-Position des Rechteckauschnittes
y2	= down y position of the area of the source file
       Untere Y-Position des Rechteckauschnittes
width2	= width of texture
         Weite der Textur
height3 	= hight of texture
       Höhe der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ScrollTexture()

Syntax

MP_ScrollTexture(Texture, X, Y [, Level])

Beschreibung

The command MP_ScrollTexture scrolled a Texur in driection x y and the mip level of the texture can be chosen

Der Befehl MP_ScrollTexture scrollte eine Texur um einen XY Wert wobei der Mip Level der Textur gewählt werden kann

Parameter
Texture	= identity of the source texture
       Identität der Quelltextur
X	= left x position of the Rectangular area (the source file)
       x Linke x-Position des Rechteckauschnittes (der Quelldatei)
Y	= upper y-Position of the Rectangular area
       Obere y-Position des Rechteckauschnittes
Level	= mip level (default 0)
       Mip Level (Standard 0)

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextureGetPixel()

Syntax

MP_TextureGetPixel(Texture, x, y [, level])

Beschreibung

The function MP_TextureGetPixelreads a color point of a texture

Die Funktion MP_TextureGetPixel ließt einen Farb-Punkt von einer Textur

Parameter
Texture	= identity of the source texture
       Identität der Quelltextur
x	= point at x position of the screen
       Punkt an Position x des Screens
y	= point at y position of the screen
       Punkt an Position y des Screens
Level	= Miplevel of the texture
       Miplevel der Textur

return value
RGB color value as a value or in case of error #False
Farbwert als RGB Wert oder im Fehlerfall #False


MP_TextureSetPixel()

Syntax

MP_TextureSetPixel(Texture, x, y, Color [, level])

Beschreibung

The function MP_TextureSetPixelset a color point on a texture

Die Funktion MP_TextureSetPixel setzt einen Farb-Punkt auf eine Texture

Parameter
Texture	= identity of the source texture
       Identität der Quelltextur
x	= point at x position of the screen
       Punkt an Position x des Screens
y	= point at y position of the screen
       Punkt an Position y des Screens
Color	= point color as an RGB value
       Farbe des Punktes als RGB Wert
Level	= Miplevel of the texture
       Miplevel der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextureChangeColor()

Syntax

MP_TextureChangeColor(Texture, OldColor.l, NewColor.l [, Level])

Beschreibung

The function MP_TextureChangeColor change one color to another with miplevel

Die Funktion MP_TextureChangeColor ersetzt eine Farbe durch eine andere Farbe mit Miplevel

Parameter
Texture	= identity of the source texture
       Identität der Quelltextur
OldColor	= color as an ARGB value
       Farbe als ARGB Wert
NewColor	= color as an ARGB value
       Farbe als ARGB Wert
Level	= Miplevel of the texture
       Miplevel der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ImageToTexture()

Syntax

MP_ImageToTexture(Image [, direction [, Alpha [, MipLevel]]])

Beschreibung

The function MP_ImageToTexture generated from a PureBasic image file a Textur. Optional the graphic can be mirrored and the textures are created with Alpha Channel

Die Funktion MP_ImageToTexture erzeugt aus einer PureBasic Image Datei eine Textur.Optional kann die Grafik gespiegelt werden und die Textur mit Alphachannel erzeugt werden

Parameter
Image	= Purebasic #Image number
       Purebasic #Image nummer
direction	= 0 -> nomal direction of image = standard
       1 -> mirror image direction
       0 -> nomale Bildrichtung = Standatd
       1-> gespiegelte Bildrichtung
Alpha	= 0 -> no Alpha Channel = standard
       1 -> With Alpha Channel
       0 ->Ohne Alphakanal = Standard
       1 ->Mit Alphakanal
MipLevels = 0 -> Standard mipmaps are created
        1 to x, otherwise the number of mipmaps
        0 -> Standard MipMaps werden erstellt
        1 to x, sonst Anzahl der MipMaps

return value
Identity of the texture or in case of an error #False
Identität der Textur oder im Fehlerfall #False


MP_BackBufferToTexture()

Syntax

MP_BackBufferToTexture(Texture)

Beschreibung

The function MP_BackBufferToTexture writes a BackBuffer to a Texture. The Texture must have the same size.

Die Funktion MP_BackBufferToTexture schreibt den BackBuffer in eine Texture. Deiu texture muss genau so groß sein wie der BackBuffer.

Parameter
Texure 	= Identity of the texture
       Identität der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TexturetoImage()

Syntax

MP_TexturetoImage(Image, Texture)

Beschreibung

The function MP_ImageToTexture generated from a Texture a PureBasic image file.

Die Funktion MP_TexturetoImage erzeugt aus einer Textur eine PureBasic Image Datei

Parameter
Image	= Purebasic #Image number
       Purebasic #Image nummer
Texure 	= Identity of the texture
       Identität der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextureToBackBuffer()

Syntax

MP_TextureToBackBuffer(Texture)

Beschreibung

The function MP_TextureToBackBuffer writes a Texture to a BackBuffer. The Texture must have the same size.

Die Funktion MP_TextureToBackBuffer schreibt den Texture in eine BackBuffer. Die Texture muss genau so groß sein wie der BackBuffer.

Parameter
Texure 	= Identity of the texture
       Identität der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CatchTexture()

Syntax

MP_CatchTexture(Adresse, Laenge [, Alpha [, MipLevels]])

Beschreibung

The function MP_CatchTexture generated from a graphic file located in memory a texture, with optional alpha channel. As graphic files BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_CatchTexture erzeugt aus einer im Arbeitsspeicher liegenden Grafik Datei eine Textur, optional mit mit Alphakanal. Als Grafikdateien können BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
Adresse	 = start address of the graphics file
        Startadresse der Grafikdatei
Laenge	 = size of the graphic file
        Groesse der Grafikdatei
Alpha	 = 1 -> texture with alpha channel
        0 -> texture without alpha channel = standard
        1 -> Textur mit Alphakanal
        0 -> Textur ohne Alphakanal  = Standard
MipLevels = 0 -> Standard mipmaps are created
        1 to x, otherwise the number of mipmaps
        0 -> Standard MipMaps werden erstellt
        1 to x, sonst Anzahl der MipMaps

return value
Identity of the texture or in case of an error #False
Identität der Textur oder im Fehlerfall #False


MP_CreateTexture()

Syntax

MP_CreateTexture(Width, Height [, MipLevels])

Beschreibung

The function MP_CreateTexture  creates an empty texture with a certain size

Die Funktion MP_CreateTexture erzeugt eine leere Textur mit einer bestimmten Größe

Parameter
Width	= width of the texture
       Breite der Textur
Height	= height of the texture
       Höhe der Textur
MipLevels = 0 -> Standard mipmaps are created
        1 to x, otherwise the number of mipmaps
        0 -> Standard MipMaps werden erstellt
        1 to x, sonst Anzahl der MipMaps

return value
Identity of the texture or in case of an error #False
Identität der Textur oder im Fehlerfall #False


MP_CreateBackBufferTexture()

Syntax

MP_CreateBackBufferTexture([width, height [, format]])

Beschreibung

The function MP_CreateBackBufferTexture creates an empty texture with the sam size as the BackBuffer. It is a high speed texture, but empty after a reset.

Die Funktion MP_CreateBackBufferTexture erzeugt eine leere Textur mit der Größe des Backbuffers. Es ist eine HighSpeed texture, die nach einem Reset leer ist..

Parameter
Width	= width of the texture
       Breite der Textur
Height	= height of the texture
       Höhe der Textur
format	= directx D3DFORMAT, Infos here http://msdn.microsoft.com/en-us/library/bb172558(v=vs.85).aspx
       directx D3DFORMAT

return value
Identity of the texture or in case of an error #False
Identität der Textur oder im Fehlerfall #False


MP_ScreenshotToTexture()

Syntax

MP_ScreenshotToTexture()

Beschreibung

The function MP_ScreenshotToTexture generated from the 3DBackbuffer a texture with the size of the screen. Important : This function is a slow function

Die Funktion MP_ScreenshotToTexture erzeugt aus dem 3DBackbuffer des ein Textur mit der Größe des Screens. Wichtig: Diese Funktion ist sehr langsam

Parameter
-

return value
Identity of the texture or in case of an error #False
Identität der Textur oder im Fehlerfall #False


MP_TexturOutput()

Syntax

MP_TexturOutput(Texture)

Beschreibung

The function MP_TexturOutput get the "OutputID" to use the Purebasic 2D function on the texture

Die Funktion MP_TexturOutput ermittelt die "OutputID" der Textur um darauf Purebasic 2D Operationen durchzuführen.

Parameter
Texure 	= Identity of the texture
       Identität der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

StartDrawing(MP_TexturOutput(Texture))

      ; here comes the 2d comands
      ; hier folgen die Zeichenoperationen...

    DrawingMode(#PB_2DDrawing_Transparent)
    FrontColor(RGB(255,255,255)) ; print the text to white !
    DrawText(40, 50, "An text easily created !")

StopDrawing()


MP_CreateNormalMap()

Syntax

MP_CreateNormalMap(Texture, Type, Factor.f)

Beschreibung

The function MP_CreateNormalMap generated a normal map texture with the same size like the texture.The normal map will used for the bump mapping function.

Die Funktion MP_CreateNormalMap erzeugt aus einer Textur eine gleich grosse Textur als NormalMap. Diese Normalmap benötigt man für BumpMap Darstellungen.

Parameter
Texture	= identity of the texture to be transformed into a normal map
       Identität der Textur die zu einer NormalMap umgewandelt werden soll
Type	= use the following color to normal map creating
       0 = Alphamap
                   1 = red
             Rot
                   2 = yellow
             Gelb
                   3 = blue
             Blau
                   4 = Gesamthelligkeit aller Farben
             total brightness of all colors
Factor.f	= Strength of expression as a floating-point number, in value, eg recommended 25
       Stärke der Ausprägung als Fließkommazahl, als Wert z.B. 25 empfohlen

return value
Identity of the normalmap texture or in case of an error #False
Identität der Nomalmap Textur oder im Fehlerfall #False


MP_CreateCubeTexture()

Syntax

MP_CreateCubeTexture(Size [, MipLevels])

Beschreibung

The function MP_CreateCubeTexture generated a empty cube texture with optional mipLevels.

Die Funktion MP_CreateCubeTexture  erzeigt eine leere Würfeltextur mit optionalen MipLevel

Parameter
Size	= width and height of the texture
       Breite und Höhe der Textur
MipLevels = 0 -> Standard mipmaps are created
        1 to x, otherwise the number of mipmaps
        0 -> Standard MipMaps werden erstellt
        1 to x, sonst Anzahl der MipMaps

return value
Identity of the texture or in case of an error #False
Identität der Textur oder im Fehlerfall #False


MP_CopyTexturetoCubeTexture()

Syntax

MP_CopyTexturetoCubeTexture(Texture, Texture2 [, Side])

Beschreibung

The function MP_CopyTexturetoCubeTexture writes a Texture to a cube texture. The texture must have the same size.

Die Funktion MP_CopyTexturetoCubeTexture erzeugt aus einer Textur ein Würfeltextur. Die Texturen müssen dieselbe Größe haben.

Parameter
Texure 	= Identity of the texture
       Identität der Textur
Texure2 	= Identity of the cube texture
       Identität der Würfel-Textur
Side	= 1-6 -> Page on which the texture is replaced
       1-6 -> Seite auf der die Textur ersetzt wird

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreateTextureAlpha()

Syntax

MP_CreateTextureAlpha(ColorTexture, MaskTexture)

Beschreibung

The function MP_CreateTextureAlpha added to a RGB texture an alpha channel layer

Die Funktion MP_CreateTextureAlpha addiert zu einer RGB Textur eine Grafik als Alphakanal-Layer

Parameter
ColorTexture  = texture identity with empty alpha channel
             Identität einer Textur zu der der Alphakanal dazuaddiert wird
MaskTexture = Identität einer Textur die als Maske des Alphakanal dient
             identity of a texture that serves as a mask of the alpha channel

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SetRenderToTexture()

Syntax

MP_SetRenderToTexture(Texture,Var)

Beschreibung

The function MP_SetRenderToTexture activate for a render texure the MP_RenderMesh() function.

Die Funktion MP_SetRenderToTexture aktiviert für eine Rendertexture die MP_RenderMesh() Funktion

Parameter
Texure 	= Identity of the texture
       Identität der Textur
Var	= 0, MP_RenderMesh() function not activated
       0, MP_RenderMesh() Funktion nicht aktiv
       1, MP_RenderMesh() funktion activated
       1, MP_RenderMesh() Funktion aktiv

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreateTextureColor()

Syntax

MP_CreateTextureColor(Width, Height, Color)

Beschreibung

The function MP_CreateTextureColor creates a texture in a certain size and color

Die Funktion MP_CreateTextureColor erzeugt eine Textur in bestimmter Größe und Farbe

Parameter
Width	= width of the texture
       Breite der Textur
Height	= height of the texture
       Höhe der Textur
Color	= ARGB value, you can use the MP_ARGB (A, R, G, B) function
       ARGB Wert, dieser läßt sich z.B. mit MP_ARGB(A,R,G,B) setzen

return value
Identity of the texture or in case of error #False
Identität der Textur oder im Fehlerfall #False


MP_TextureSetColor()

Syntax

MP_TextureSetColor(Texture, Color, ColorVal [, CheckVal [, Level]])

Beschreibung

The function MP_TextureSetColor changed destructive the ARGB color to a fixed value, and raising check. This makes it possible to change the color of a Texture continuously.

Die Funktion MP_TextureSetColor verändert destruktiv eine ARGB Farbe um einen FestenWert, mit Ausnamecheck und Miplevel. Dadurch ist es möglich die Farbe einer Textur fortlaufend zu verändern.

Parameter
Texture	= texture  identity
       Identität einer Textur
Color	= 0, Color Red
       1, Color Green
       2, Color Blue
       3, Color Alpha
       0, Farbe Rot
       1, Farbe Grün
       2, Farbe Blau
        3, Farbe Alpha
ColorVal	= 0-255 is written for the color Color
       Farbwert 0-255 der für die Farbe Color geschrieben wird
CheckVal	= The color value 0-255 is not modified (example the value 0 will not changes with ColoVal, it is an  exception)
Level	= Miplevel of the texture
       Miplevel der Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TexturSetAlphaColor()

Syntax

MP_TexturSetAlphaColor(Texture, RGB)

Beschreibung

The function MP_TexturSetAlphaColor sets the transparent color of a texture

Die Funktion MP_TexturSetAlphaColor setzt die Transparent Farbe einer Textur

Parameter
Texture	= texture  identity
       Identität einer Textur
RGB	= RGB value of the transparent color
       RGB Wert der Transparent Farbe

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreateImageColored()

Syntax

MP_CreateImageColored(Image, Type, Color1, Color2, Color3, Color4)

Beschreibung

The function MP_CreateImageColored creates an image with four corners to produce a color gradient

Die Funktion MP_CreateImageColored erzeugt ein Image mit 4 Farbecken um einen Farbverlauf zu erzeugen

Parameter
Image	= identity of an Purebasic Image
       Identität eines Purebasic Image
Type	= Currently no function
       Derzeit keine Funktion
Color1	= RGB value
       RGB Wert
Color2	= RGB value
       RGB Wert
Color3	= RGB value
       RGB Wert
Color4	= RGB value
       RGB Wert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SurfaceToTexture()

Syntax

MP_SurfaceToTexture(Surface)

Beschreibung

The function MP_SurfaceToTexture generated from a Surface a Texture

Die Funktion MP_SurfaceToTexture erzeugt aus einem Surface eine Texture

Parameter
Surface	= identity of a Surface
       Identität eines Surface

return value
Identity of the texture or in case of error #False
Identität der Textur oder im Fehlerfall #False


MP_RenderToTexture()

Syntax

MP_RenderToTexture(Texture [, Color])

Beschreibung

The function MP_RenderToTexture rendered all Sprite and 2D Draw comands directly to the texture

Die Funktion MP_RenderToTexture rendert alle Sprite 2D Draw Befehle direct in eien Textur

Parameter
Texture	= identity of a TextureSurface
       Identität eine Textur
Color	= clear the Texture with Color, Color is a MP_ARGB() value
       löscht eien Textur und befüllt diese mit Color, wobei Color eine MP_ARGB Wert isz

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextureOnTexture()

Syntax

MP_TextureOnTexture(Texture, Texture2, x, y [, transparency [, Rotation.f]])

Beschreibung

The function MP_TextureOnTexture added a Textur on another Textur

Die Funktion MP_TextureOnTexture addiert eien Textur auf eine andere Textur

Parameter
Texture	     = identity of the destination TextureSurface
           Identität der Ergebnis Textur
Texture2	      = identity of a TextureSurface for adding
           Identität eine Textur dei dazu addiert wird
x	      = x-position of Texture2
             x-Position der Textur2
y	      = y-position of Texture2
              y-Position der Textur2
transparency  = transparency of of Texture2
                        Transparenz der Texture2
Rotation.f       = rotation of Texture2
                        Rotation der Texture2

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextureGetHeight()

Syntax

MP_TextureGetHeight(Texture [, level])

Beschreibung

The function MP_TextureGetHeight gets the height of a texture.

Die Funktion MP_TextureGetHeight ermittelt die Höhe einer Textur.

Parameter
Texture	= texture identity
       Identität einer Textur
level	= Identifies a level of the texture resource
       Identifiziert den level der Textureresource

return value
Height of a texture or in case of error #False
Höhe der Textur oder im Fehlerfall #False


MP_TextureGetWidth()

Syntax

MP_TextureGetWidth(Texture [, level])

Beschreibung

The function MP_TextureGetWidth gets the width of a texture.

Die Funktion MP_TextureGetWidth ermittelt die Breite einer Textur.

Parameter
Texture	= texture identity
       Identität einer Textur
level	= Identifies a level of the texture resource
       Identifiziert den level der Textureresource

return value
Width of a texture or in case of error #False
Breite der Textur oder im Fehlerfall #False


MP_SetTextureStageState()

Syntax

MP_SetTextureStageState(State, Type, Value)

Beschreibung

The command MP_SetTextureStageState sets the state value for the currently assigned texture.

Der Befehl MP_SetTextureStageState setzt den Zustandswert für die aktuell zugewiesene Textur.

Parameter
State	= Stage identifier of the texture for which the state value is set
       Level der Textur für den der Status geändert wird
Type	= Texture state to set.
       Texture status der gesetzt wqerden soll.
Value	= value of change
       Wert der Änderung

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

You find more information here: http://msdn.microsoft.com/en-us/library/bb174462(v=vs.85).aspx


MP_GetTextureStageState()

Syntax

MP_GetTextureStageState(State, Type)

Beschreibung

The command MP_GetTextureStageState reads the state value for the currently assigned texture.

Der Befehl MP_GetTextureStageState ließt den Zustandswert für die aktuell zugewiesene Textur.

Parameter
State	= Stage identifier of the texture for which the state value is set
       Level der Textur für den der Status geändert wird
Type	= Texture state to set.
       Texture status der gesetzt wqerden soll.

return value
Value of state
Wert des State

You find more information here: http://msdn.microsoft.com/en-us/library/bb174413(v=vs.85).aspx


MP_InfoTexture()

Syntax

MP_InfoTexture(Texture)

Beschreibung

The function MP_InfoTexture read the format of a texture

Die Funktion MP_InfoTexture ließt das Format der Texture

Parameter
Texture	= texture identity
       Identität einer Textur

return value
directx D3DFORMAT, Infos here http://msdn.microsoft.com/en-us/library/bb172558(v=vs.85).aspx
directx D3DFORMAT


MP_TextureSetName()

Syntax

MP_TextureSetName(Texture, Name.s)

Beschreibung

The function MP_TexturGetName sets the graphics file name of a texture.

Die Funktion MP_TexturGetName setzt den Grafik-Dateinamen einer Textur.

Parameter
Texture	= texture identity
       Identität einer Textur
Name.s	= filename as string
       Dateiname als String

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextureGetName()

Syntax

MP_TextureGetName(Texture)

Beschreibung

The statement MP_EntityGetTexture gets the graphic file name of a texture.

Die Anweisung MP_EntityGetTexture ermittelt den Grafikdatei Namen einer Texture.

Parameter
Entity	= texture  identity
       Identität einer Texture

return value
graphic file name of a texture
Grafikdateinamen einer Texture


MP_FreeTexture()

Syntax

MP_FreeTexture(Texture)

Beschreibung

The function MP_FreeTexture deletes a texture.

Die Funktion MP_FreeTexture löscht eine Textur.

Parameter
Texture	= texture  identity
       Identität einer Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreateSurface()

Syntax

MP_CreateSurface(Width, Height)

Beschreibung

The function MP_CreateSurface creates an empty Surface with width and height

Die Funktion MP_CreateSurface erstellt ein leeres Surface mit Breite und Höhe

Parameter
Width 	= width of the Surfaces
       Breite des Surfaces
Height	= height of the Surfaces
       Höhe des Surfaces

return value
surface idenity or in case of error #False
Idendität Surface oder im Fehlerfall #False


MP_LoadSurface()

Syntax

MP_LoadSurface(File.s)

Beschreibung

The function MP_LoadSurface load a graphic file and creates a surface

Die Funktion MP_LoadSurface lädt Grafikdatei und erstellt ein Surface

Parameter
File.s	= graphics file download in the formats: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, .tga
       Grafikdatei laden in den Formaten : .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm und .tga

return value
surface idenity or in case of error #False
Idendität Surface oder im Fehlerfall #False


MP_ImageToSurface()

Syntax

MP_ImageToSurface(Image [, Direction])

Beschreibung

Create an image from a PureBasic Surface with optional direction

Erzeuge aus einem PureBasic Image ein Surface, direction = Bildrichtung 0 oder 1

Parameter
Image	= identity of an Image
       Identität eines Image
direction	=  1 -> image is rotated 180 degrees
        1 -> Bild wird um 180 Grad gedeht

return value
surface idenity or in case of error #False
Identität eines Surface oder im Fehlerfall #False


MP_SaveSurface()

Syntax

MP_SaveSurface(File.s, Surface, Format)

Beschreibung

The function MP_SaveSurface stores a Surface as a graphic file. As a graphic format can be BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_SaveSurface speichert ein Surface als Grafikdatei. Als Grafikformat kann BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
File.s	= graphics file as a string
       Grafikdatei als String
Surface	= surface Identity
      Identität des Surface
Format	= 0 -> BMP Format
       1 -> JPG Format
       2 -> TGA Format
       3 -> PNG Format
       4 -> DDS Format
       5 -> PPM Format
       6 -> DIB Format
       7 -> HDR Format
       8 -> HDR Format

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextureToSurface()

Syntax

MP_TextureToSurface(Texture)

Beschreibung

The function MP_TextureToSurface generated from a Surface a  texture

Die Funktion MP_TextureToSurface erzeugt aus einer Texture ein Surface

Parameter
Texture	= texture identity
       Identität einer Textur

return value
surface idenity or in case of error #False
Idendität Surface oder im Fehlerfall #False


MP_SurfaceSetPosition()

Syntax

MP_SurfaceSetPosition(Surface, x, y, Front.b)

Beschreibung

Surface is a background image and is set at position x, y. Front.b describes your appearance properties

Surface ist ein Hintergrundbild und wird an Position x,y gesetzt. Front.b beschreibt dir Darstellungseigenschaften

Parameter
Surface.l	= Created Surface
       Erstelltes Surface
x.l 	= x position to screen
       An Bildschirmposition x
y.l 	= y position to screen
       An Bildschirmposition y
Front.b 	= 0 -> graphic is not shown, 1 -> background image
       0 -> Grafik wird nicht dargestellt, 1 -> Hintergrundbild

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SurfaceGetHeight()

Syntax

MP_SurfaceGetHeight(Surface)

Beschreibung

The function MP_SurfaceGetHeight gets the amount of a surface

Die Funktion MP_SurfaceGetHeight ermitteln die Höhe des Surface

Parameter
Surface	= Identity of the surface
       Identität des Surface

return value
Image height of the surface or in case of error #False
Bildhöhe des Surface oder im Fehlerfall #False


MP_SurfaceGetWidth()

Syntax

MP_SurfaceGetWidth(Surface)

Beschreibung

The function MP_SurfaceGetWidht gets the width of the Surface

Die Funktion MP_SurfaceGetWidht ermitteln die Breite des Surface

Parameter
Surface	= Identity of the surface
       Identität des Surface

return value
Width of the surface or in case of error #False
BildBreite des Surface oder im Fehlerfall #False


MP_ScrollSurface()

Syntax

MP_ScrollSurface(Surface, X.f, Y.f)

Beschreibung

The function MP_ScrollSurface scrolls a surface in the direction x and / or y

Die Funktion MP_ScrollSurface scrollt ein Surface in Richtung X und/oder Y

Parameter
Surface	= Identity of the surface
       Identität des Surface
x	= Surface is shifted by x pixels
       Surface wird um x Pixel verschoben
y	= Surface is shifted by y pixels
       Surface wird um y Pixel verschoben

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SurfaceSrcRect()

Syntax

MP_SurfaceSrcRect(Surface, Left, Top, Width, Height)

Beschreibung

The function MP_SurfaceSrcRect represents sections of the Surface

Die Funktion MP_SurfaceSrcRect stellt Ausschnitte des Surface dar

Parameter
Surface	= Identity of the surface
       Identität des Surface
left	= The area begins at the left (at x) position of the image
       Der Ausschnitt fängt an der left (x) Position des Bildes an
top	= The area begins at the top (y) position of the image
       Der Ausschnitt fängt an der top (y) Position des Bildes an
width	= The area ends with the width (x) position of the image
       Der Ausschnitt endet an der width (x) Position des Bildes an
height	= The area ends at the height (y) position of the image
       Der Ausschnitt endet an der height (y) Position des Bildes an

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SurfaceDestRect()

Syntax

MP_SurfaceDestRect(Surface, Left, Top, Width, Height)

Beschreibung

The function MP_SurfaceDestRect defined area of the screen on which the surface is to be presented

Die Funktion MP_SurfaceDestRect definiert den Bildschirmbereich auf dem das Surface dargestellt werden soll

Parameter
Surface	= Identity of the surface
       Identität des Surface
left	= The section is shown at the left (x) position of Windows
       Der Ausschnitt wird an der left (x) Position des Windows dargestellt
top	= The section is shown at the top (y) position of the Windows
       Der Ausschnitt wird an der top (y) Position des Windows dargestellt
width	= The section is shown at the width (x) position of the Windows
       Der Ausschnitt endet an der width (x) Position des Windows
height	= The section is shown at the height (y) position of the Windows
       Der Ausschnitt endet an der height (y) Position des Windows

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SurfaceGetPixel()

Syntax

MP_SurfaceGetPixel(Surface, x, y)

Beschreibung

The function MP_SurfaceGetPixel reads a color point of a Surface

Die Funktion MP_SurfaceGetPixel ließt einen Farb-Punkt von einem Surface

Parameter
Surface	= Identity of the surface
       Identität des Surface
x	= point at x position of the Surfaces
       Punkt an Position x des Surfaces
y	= point at y position of the Surfaces
       Punkt an Position y des Surfaces

return value
RGB color value as a value or in case of error #False
Farbwert als RGB Wert oder im Fehlerfall #False


MP_SurfaceSetPixel()

Syntax

MP_SurfaceSetPixel(Surface, x, y , RGBColor)

Beschreibung

The function MP_SurfaceSetPixel set a color point on a surface

Die Funktion MP_SurfaceSetPixel setzt einen Farb-Punkt auf einem Surface

Parameter
Surface	= Identity of the surface
       Identität des Surface
x	= point at x position of the Surfaces
       Punkt an Position x des Surfaces
y	= point at y position of the Surfaces
       Punkt an Position y des Surfaces
RGBColor	= point color as an RGB value
       Farbe des Punktes als RGB Wert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_FreeSurface()

Syntax

MP_FreeSurface(Surface)

Beschreibung

The function MP_FreeSurface deletes a Surface

Die Funktion MP_FreeSurface löscht ein Surface

Parameter
Surface	= Identity of the surface
       Identität des Surfac

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_LoadMesh()

Syntax

MP_LoadMesh(File.s)

Beschreibung

The function MP_LoadMesh invites Entity as DirectX, 3DS or B3D file. In B3D and 3DS currently only supports one UV coordinate system

Die Funktion MP_LoadMesh lädt ein Entity als DirectX, B3D oder 3DS Datei. Bei B3D und 3DS werden derzeit nur eine UV Koordinatensystem unterstützt

Parameter
pFilename.s = file name of the file to be loaded with extension .x, .b3d and .3ds
           Dateiname der zu ladenden Datei mit Endung .x, .b3d und .3ds

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_SaveMesh()

Syntax

MP_SaveMesh(pFilename.s,Entity)

Beschreibung

The function MP_SaveMesh saves an Entity as Directx file. An entity is in this command mesh.

Die Funktion MP_SaveMesh speichert ein Entity als Directx Datei. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
pFilename.s = file name of the file to be saved with extension. x
           Dateiname der zu speichernden Datei mit Endung .x
Entity	    = Entity identity
           Identität eines Entitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SaveB3DMesh()

Syntax

MP_SaveB3DMesh(Files.s ,Mesh)

Beschreibung

The function MP_SaveB3DMesh saves an Entity as b3d  file. An entity is in this command mesh.

Die Funktion MP_SaveB3DMesh speichert ein Entity als b3d Datei. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
pFilename.s = file name of the file to be saved with extension. x
           Dateiname der zu speichernden Datei mit Endung .x
Entity	    = Entity identity
           Identität eines Entitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CatchMesh()

Syntax

MP_CatchMesh(Memory , SizeOfMemory)

Beschreibung

The function MP_CatchMesh catch a  DirectX, 3DS or B3D from the memory. In B3D and 3DS currently only supports one UV coordinate system.

Die Funktion MP_CatchMesh lädt ein lädt ein Entity als DirectX, B3D oder 3DS Datei aus dem Arbeitsspeicher. Bei B3D und 3DS werden derzeit nur eine UV Koordinatensystem unterstützt

Parameter
Memory		= start address of the Entity
             Startadresse des Entity
SizeOfMemory	= memory endadress of the Entity
             Ende der Speicheradresse des Bildes

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_ResizeMesh()

Syntax

MP_ResizeMesh(Entity,x_Size.f,y_Size.f,z_Size.f)

Beschreibung

The function MP_ResizeMesh changes the real size of an entity to a value. An entity is in this command a mesh.

Die Funktion MP_ScaleMesh verändert die wirkliche Grösse eines Entity zu der angegebenen Grösse. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
x_Size.f	= size on x axis. Default is 1
       Grösse auf X Achse. Standardwert ist 1
y_Size.f	= size on y axis. Default is 1
       Grösse auf Y Achse. Standardwert ist 1
z_Size.f 	= size on z axis. Default is 1
       Grösse auf Z Achse. Standardwert ist 1

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_GetMeshInfo()

Syntax

MP_GetMeshInfo(Entity, Typ)

Beschreibung

The function MP_GetMeshInfo read the vertex format of an entity. An entity is in this command mesh.

Die Funktion MP_GetMeshInfo ermittelt das vertex Format eines Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
It will return the vertex format of the entity or in case of error #False
Es wird das vertex Format des Entity zurückgeliefert oder im Fehlerfall #False


MP_ChangeMeshCoord()

Syntax

MP_ChangeMeshCoord(Entity,*Matrix.D3DXMATRIX)

Beschreibung

The function MP_ChangeMeshCoord changes the real poition of all vertex. you change the poition and trun the mesh and all of them will included in the vertex coord. An entity is in this command a mesh.

Die Funktion MP_ChangeMeshCoord verändert die wirkliche poition der vertex Aufgrund der Positionsänderung und Drehung des Meshs. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_RotateMesh()

Syntax

MP_RotateMesh(Entity, pitch.f, yaw.f, roll.f)

Beschreibung

The function MP_RotateMesh  rotate the vertice of a mesh. An entity is in this command a mesh.

Die Funktion MP_RotateMesh dreht die Position der Vertice des Meshs. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	=  Entity identity
        Identität eines Entitys
pitch.f	=  relative angle (in degrees) for the x-axis
        relativer Winkel (in Grad) für die X-Achse
yaw.f	=  relative angle (in degrees) for the y-axis
        relativer Winkel (in Grad) für die Y-Achse
roll.f	=  relative angle (in degrees) for the z-axis
        relativer Winkel (in Grad) für die Z-Achse

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TranslateMesh()

Syntax

MP_TranslateMesh(Entity, x.f, y.f, z.f)

Beschreibung

The function MP_TranslateMesh translate the poition of the vertice of a mesh. An entity is in this command a mesh.

Die Funktion MP_TranslateMesh bewegt die Position der Vertice des Meshs. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	=  Entity identity
        Identität eines Entitys
x.f	= x-coordinate as float
       x-Koordinate als Float
y.f	= y-coordinate as float
       y-Koordinate als Float
z.f	= z-coordinate as float
       z-Koordinate als Float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_AddMesh()

Syntax

MP_AddMesh(source_mesh,dest_mesh)

Beschreibung

The function MP_AddMesh added to a Dest_Mesh a Souce_Mesh

Die Funktion MP_AddMesh addiert zu einem Dest_Mesh ein Souce_Mesh

Parameter
Souce_Mesh	= Entity identity
           Identität eines Entitys
Dest_Mesh	= Entity identity
           Identität eines Entitys

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MeshGetHeight()

Syntax

MP_MeshGetHeight(Entity)

Beschreibung

The function MP_MeshGetHeight calculates the total height of the entity. An entity is in this command mesh.

Die Funktion MP_MeshGetHeight ermittelt die Gesamthöhe eines Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
It will return the total amount of the entity or in case of error #False
Es wird die Gesamthöhe des Entity zurückgeliefert oder im Fehlerfall #False


MP_MeshGetWidth()

Syntax

MP_MeshGetWidth(Entity)

Beschreibung

The function MP_MeshGetWidth calculates the total width of the entity. An entity is in this command mesh.

Die Funktion MP_MeshGetWidth ermittelt die Gesamtbreite eines Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
It will return the total width of the entity or in case of error #False
Es wird die Gesamtbreite des Entity zurückgeliefert oder im Fehlerfall #False


MP_MeshGetDepth()

Syntax

MP_MeshGetDepth(Entity)

Beschreibung

The function MP_MeshGetDepth calculates the total depth of the entity. An entity is in this command mesh.

Die Funktion MP_MeshGetDepth ermittelt die Gesamttiefe eines Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
It will return the total depth of the entity or in case of error #False
Es wird die Gesamttiefe des Entity zurückgeliefert oder im Fehlerfall #False


MP_ScaleMesh()

Syntax

MP_ScaleMesh(Entity, x_scale.f,y_scale.f,z_scale.f)

Beschreibung

The function MP_ScaleMesh changes the real size of an entity. An entity is in this command mesh.

Die Funktion MP_ScaleMesh verändert die wirkliche Grösse eines Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
x_scale.f	= size on x axis. Default is 1
       Grösse auf X Achse. Standardwert ist 1
y_scale.f	= size on y axis. Default is 1
       Grösse auf Y Achse. Standardwert ist 1
z_scale.f 	= size on z axis. Default is 1
       Grösse auf Z Achse. Standardwert ist 1

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MeshSetAlpha()

Syntax

MP_MeshSetAlpha(Mesh, mode)

Beschreibung

The function MP_MeshSetAlpha sets or clears the Alpha mode of a mesh

Die Funktion MP_MeshSetAlpha setzt oder löscht den Alphamode eines Meshs

Parameter
Entity 	= identity of a Entity
       Identität eines Entity
mode	= 0, standard opaque
       1, creates the transparency color brightness
       2, alpha or alpha level creates the transparency
       3, Blend Color is invisible, value is set with MP_MeshSetBlendColor
       0, Standard undurchsichtig
       1, Farbhelligkeit erzeugt die Durchsichtigkeit
       2, Alphawert bzw. die Alphaebene erzeugt die  Durchsichtigkeit
       3, Blendcolor wird unsichtbar, Wert wird mit MP_MeshSetBlendColor gesetzt

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MeshAlphaSort()

Syntax

MP_MeshAlphaSort([mode])

Beschreibung

The function MP_MeshAlphaSort sorts all Meshe so that transparency is displayed properly in AlphaMesh

Die Funktion MP_MeshAlphaSort sortiert alle Meshs damit die Durchsichtigkeit bei AlphaMesh richtig dargestellt wird

Parameter
mode	= 0, normal mode, sort with parent - kid funktion
       0, normal mode, Parent-Kid beziehung wird auch berechnet
                   1, fast check without parent - kid funktion
       0, schnelle Berchnung ohne Parent-Kid Beziehung

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MeshSetBlendColor()

Syntax

MP_MeshSetBlendColor(Mesh, BlendColor)

Beschreibung

The function MP_MeshSetBlendColor works only for Meshes with Alpha Mode 3. Here is a color that should be hidden to specify. (Rather Experimental Development)

Die Funktion MP_MeshSetBlendColor funktioniert nur für Meshs mit Alphamode 3. Hier kann eine Farbe die ausgeblendet werden soll angeben werden. (eher Experimentelle Entwicklung)

Parameter
Entity 	   = identity of a Entity
          Identität eines Entity
Blendcolor  = MP_ARGB color
          MP_ARGB Farbe

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CountSurfaces()

Syntax

MP_CountSurfaces(Entity)

Beschreibung

The function MP_CountSurfaces count the number of surface of a entity. An entity is in this command mesh.

Die Funktion MP_CountSurfaces ermittelt die Anzahl der Surtface eines Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
It will return the number of surface of the entity or in case of error #False
Es wird die Anzahl der Surface des Entity zurückgeliefert oder im Fehlerfall #False


MP_CountTriangles()

Syntax

MP_CountTriangles(Entity)

Beschreibung

The function MP_CountTriangles count the number of triangles of a entity. An entity is in this command mesh.

Die Funktion MP_CountTriangles ermittelt die Anzahl der Triangel eines Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
It will return the number of triangles of the entity or in case of error #False
Es wird die Anzahl der Triangel des Entity zurückgeliefert oder im Fehlerfall #False


MP_CountVertices()

Syntax

MP_CountVertices(Entity)

Beschreibung

The function MP_CountVertices count the number of a vertex of an entity. An entity is in this command mesh.

Die Funktion MP_CountVertices ermittelt die Anzahl der Vertexe eines Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
It will return the number of vertex of the entity or in case of error #False
Es wird die Anzahl der Vertexe des Entity zurückgeliefert oder im Fehlerfall #False


MP_CreateMesh()

Syntax

MP_CreateMesh()

Beschreibung

The function MP_CreateMesh created an empty mesh

Die Funktion MP_CreateMesh erstellte eine leeres Mesh.

Parameter
-

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_AddVertex()

Syntax

MP_AddVertex(Entity, x.f, y.f, z.f [, Color [, u.f, v.f [, nx.f, ny.f, nz.f]]])

Beschreibung

The function MP_AddVertex added to a mesh a vertex with the infromation x,y,z coords, Color, Texture-coordinaten u, v and Normals nx,ny,nz. An entity is in this command mesh.

Die Funktion MP_AddVertex addiert zu einem Mesh ein Vertex und setzt den Ort x-z, Color, Texturkoordinaten u,v und Normals nx-nz. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
x.f	= x-coordinate as float
       X-Koordinate als Float
y.f	= y-coordinate as float
       Y-Koordinate als Float
z.f 	= z-coordinate as float
       Z-Koordinate als Float
Color.i	= RGB color value
       RGB Farbwert
u.f	= u-coordinate as float
       U-Koordinate als Float
v.f	= v-coordinate as float
       V-Koordinate als Float
nx.f	= nx-coordinate as float
       NX-Koordinate als Float
ny.f	= ny-coordinate as float
       NY-Koordinate als Float
nz.f 	= nz-coordinate as float
       NZ-Koordinate als Float

return value
Number of the new vertex, or in case of error #False
Nummer des neuen Vertex oder im Fehlerfall #False


MP_FreeVertex()

Syntax

MP_FreeVertex(Entity ,Index)

Beschreibung

The function MP_AddVertex delete a vertex  from a mesh. An entity is in this command mesh.

Die Funktion MP_AddVertex löscht eine Vertex eines Mesh. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Index	= Index of the vertex
       Indes des Vertex

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_AddTriangle()

Syntax

MP_AddTriangle(Entity,f1,f2,f3)

Beschreibung

The function MP_AddTriangle added to a mesh a triangle. An entity is in this command mesh.

Die Funktion MP_AddTriangle addiert zu einem Mesh ein Triangle dazu. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
f1	= number of vertex
       Nummer des Vertex
f2	= number of vertex
       Nummer des Vertex
f3	= number of vertex
       Nummer des Vertex

return value
Number of the new triangle, or in case of error # False
Nummer des neuen Triangels oder im Fehlerfall #False


MP_FreeTriangle()

Syntax

MP_FreeTriangle(Entity, Index)

Beschreibung

The function MP_FreeTriangle delete a triangle from a mesh. An entity is in this command mesh.

Die Funktion MP_FreeTriangle löscht ein triangle eines Mesh. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys
Index	= Index of the triangle
       Indes des Triangel

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_GetMeshData()

Syntax

MP_GetMeshData(Entity, Typ [, *Memory, memorylenght])

Beschreibung

The function MP_GetMeshData gets the vertex format of a entity. An entity is in this command mesh.

Die Funktion MP_GetMeshData ermittelt das Vertex Format eines entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	      = Entity identity
              Identität eines Entitys
Typ	      = Typ is #D3DFVF_XYZ (=2), #D3DFVF_NORMAL(= 16), #D3DFVF_DIFFUSE(= 64) oder #D3DFVF_TEX1(= 256) sein
*Memory	      = memoryadress of a memorybuffer for the vertex
             Speicheradresse für die Vertexe des Meshs
memorylengh = memorylenght of the vertex memory buffer
            Speicherlänge des Vertex Speicherbereiches

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

Structure MyVertex
      x.f : y.f : z.f      ; vertices coordinates
      nx.f : ny.f : nz.f ; normal coordinates
      Color.l                  ; color
      u.f : v.f               ; texture coordinates
      ;u1.f : v1.f               ; texture coordinates 2
      ;u2.f : v2.f               ; texture coordinates 2
EndStructure

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
;MP_PositionCamera (camera, 0, 0, -3)

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

vertexcount = MP_CountVertices(Mesh)
vertexlenght = MP_GetMeshInfo (Mesh, 64)

Dim Vert.MyVertex (vertexcount)

MP_GetMeshData(Mesh, #PB_Mesh_Vertex,@Vert(),vertexlenght * vertexcount)

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

MP_TurnEntity (Mesh, 0, 1, 1) ; dreh den Würfel

a +1
If a > 100
    color =   Random(156*256*256)
    a = 0
EndIf
For n = 0 To vertexcount-1

    Vert(n)\x * 1.001
    Vert(n)\y * 0.999
    vert(n)\color = color

Next

MP_SetMeshData (Mesh,   #PB_Mesh_Vertex |#PB_Mesh_Normal | #PB_Mesh_Color | #PB_Mesh_UVCoordinate , @Vert(), vertexcount)

MP_RenderWorld() ; Erstelle die Welt
MP_Flip () ; Stelle Sie dar

Wend


MP_SetMeshData()

Syntax

MP_SetMeshData(Entity, Typ, Daten, Datenlaenge)

Beschreibung

The function MP_SetMeshData sets the vertex format of a entity. An entity is in this command mesh.

Die Funktion MP_SetMeshData sets das Vertex Format eines entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	    = Entity identity
            Identität eines Entitys
Typ	     = Typ is #D3DFVF_XYZ (=2), #D3DFVF_NORMAL(= 16), #D3DFVF_DIFFUSE(= 64) oder #D3DFVF_TEX1(= 256) sein
                        Typ ist #D3DFVF_XYZ (=2), #D3DFVF_NORMAL(= 16), #D3DFVF_DIFFUSE(= 64) oder #D3DFVF_TEX1(= 256) se
Daten           = Adress of Memorybuffer
                        Adresse des Memorybuffer
Datenlaenge = size of Memorybuffer
                       Grösse des Memorybuffers

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MeshCountTexture()

Syntax

MP_MeshCountTexture(Entity)

Beschreibung

The comand MP_MeshCountTexture count the Texture Layer of a entity. An entity is in this command mesh.

Die Funktion MP_MeshCountTexture ermittelt die nazhl der Texturebenen eines Entity. Ein Entity ist bei diesem Befehl ein Mesh.

Parameter
Entity	= Entity identity
       Identität eines Entitys

return value
count of texture layer or on failure #False
Anzahl der TexturLayern oder im Fehlerfall #False


MP_MeshSetTextureStage()

Syntax

MP_MeshSetTextureStage(Mesh, mode)

Beschreibung

The command MP_MeshSetTextureStage sets the state value for the currently Mesh for his texture.

Der Befehl MP_MeshSetTextureStage setzt den Zustandswert für einen Mesh mit einer Textur.

Parameter
Entity 	      = Entity identity
             Identität eines Entitys
mode	= Stage identifier of the texture for which the state value is set
       Level der Textur für den der Status geändert wird

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

You find more information here: http://msdn.microsoft.com/en-us/library/bb174462(v=vs.85).aspx


MP_MeshCulling()

Syntax

MP_MeshCulling(Entity, Mode)

Beschreibung

The function sets for the culling MP_MeshCulling calculating a ball or box body, An entity is in this command, a mesh

Die Funktion MP_MeshCulling setzt für die Culling Berechnung einen Kugel oder Box Körper. Ein Entity ist hier Mesh.

Parameter
Entity	      = Entity identity
             Identität eines Entitys
Mode	     = 0, Sphere Body
            0, Kugelkörper
            1, Retangle Body
            1, Rechteckkörper

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreateCube()

Syntax

MP_CreateCube()

Beschreibung

The function MP_CreateCube creates a mesh dice.

Die Funktion MP_CreateCube erzeugt eine Mesh Würfel.

Parameter
-

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreateRectangle()

Syntax

MP_CreateRectangle(Width.f,Height.f,Depth.f)

Beschreibung

The function MP_CreateRectangle creates a mesh rectangle

Die Funktion MP_CreateRectangle erzeugt eine Mesh Rechteck

Parameter
Width.f	= Width as float
       Breite als Float
Height.f	= Height as float
       Höhe als Float
Depth.f	= Depth as float
       Tiefe als Float

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreateSkyBox()

Syntax

MP_CreateSkyBox(Pictures.s,Ending.s,factor)

Beschreibung

The function MP_CreateSkyBox creates a skybox from six graphic files

Die Funktion MP_CreateSkyBox erzeugt eine Skybox aus 6 Grafikdateien

Parameter
Pictures.s	= texture name
       Texturname
Ending.s	= extension of the texture names
       Endung der Texturnamen
factor	= size factor
       Grösse

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False

picture of skybox
0 = front - Vorn
1 = right - Rechts
2 = back - Hinten
3 = left - Links
4 = upper -Oben
5 = down - Unten


MP_CatchSkyBox()

Syntax

MP_CatchSkyBox(Adress0, Adress1, Adress2, Adress3, Adress4, Adress5, Adress6 ,factor)

Beschreibung

The function MP_CatchSkyBox creates a skybox from six graphic files from memory.

Die Funktion MP_CatchSkyBox erzeugt eine Skybox aus 6 Grafikdateien aus dem Arbeitsspeicher.

Parameter
Adress0	= memoradress of picture-0
        Memorryadresse des Bild-0
Adress1	= memoradress of picture-1
       Memorryadresse des Bild-1
Adress2	= memoradress of picture-2
       Memorryadresse des Bild-2
Adress3	= memoradress of picture-3
       Memorryadresse des Bild-3
Adress4	= memoradress of picture-4
       Memorryadresse des Bild-4
Adress5	= memoradress of picture-5
       Memorryadresse des Bild-5
Adress6	= end of memoradress of picture-5
       Ende des Memorryadresse des Bild-5
factor	= size factor
       Grösse

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False

picture of skybox
0 = front - Vorn
1 = right - Rechts
2 = back - Hinten
3 = left - Links
4 = upper -Oben
5 = down - Unten


MP_CreateSkySphere()

Syntax

MP_CreateSkySphere(Slices)

Beschreibung

The function MP_CreateSkySphere produces a hemisphere

Die Funktion MP_CreateSkySphere erzeugt eine Halbkugel.

Parameter
Slices	= subdivision
       Unterteilungen

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreateSphere()

Syntax

MP_CreateSphere(Slices)

Beschreibung

The function MP_CreateSphere creates a mesh sphere

Die Funktion MP_CreateSphere erzeugt eine Meshkugel.

Parameter
Slices	= subdivision
       Unterteilungen

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreatePyramid()

Syntax

MP_CreatePyramid(Width.f, Height.f, Depth.f)

Beschreibung

The function MP_CreatePyramid creates a mesh pyramid

Die Funktion MP_CreatePyramid erzeugt eine Mesh Pyramide

Parameter
Width.f	= Width as float
       Breite als Float
Height.f	= Height as float
       Höhe als Float
Depth.f	= Depth as float
       Tiefe als Float

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreateTeapot()

Syntax

MP_CreateTeapot()

Beschreibung

The function MP_CreateTeapot creates a mesh teapot

Die Funktion MP_CreateTeapot erzeugt eine Mesh Teekanne

Parameter
-

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreateCylinder()

Syntax

MP_CreateCylinder(Segmente,h.f)

Beschreibung

The function MP_CreateCylinder create a mesh cylinder

Die Funktion MP_CreateCylinder einen Mesh Zylinder

Parameter
Segmente = subdivision
        Unterteilungen
h.f	 = Height as float
        Höhe als Float

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreateCone()

Syntax

MP_CreateCone(Segmente,h.f)

Beschreibung

The function MP_CreateCone creates a mesh cone

Die Funktion MP_CreateCone erzeugt einen Mesh Kegel

Parameter
Segmente = subdivision
        Unterteilungen
h.f	 = Height as float
        Höhe als Float

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreateTorus()

Syntax

MP_CreateTorus(Innen.f, Aussen.f, Segmente)

Beschreibung

The function MP_CreateTorus creates a mesh torus

Die Funktion MP_CreateTorus erzeugt einen Mesh Ring

Parameter
Innen.f	 =  inner circle as a float
         Innenkreis als Float
Aussen.f	 = outer circle as float
        Aussenkreis als Float
Segmente = subdivision
        Unterteilungen

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreatePolygon()

Syntax

MP_CreatePolygon(Length.f, Segmente)

Beschreibung

The function MP_CreatePolygon creates a polygon mesh

Die Funktion MP_CreatePolygon erzeugt ein Mesh Polygon

Parameter
Length.f	 = length as float
        Länge als Float
Segmente = subdivision
        Unterteilungen

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_Create3DText()

Syntax

MP_Create3DText(Fontname.s, Text.s [, Height.f [, Flags]])

Beschreibung

The function MP_Create3DText Mesh creates a 3D text mesh

Die Funktion MP_Create3DText erzeugt ein 3D Text als Mesh

Parameter
Fontname.s = fontname
          Fontname
Text.s 	   = text that is written
         Text der geschrieben wird
Height.f	   = Höhe als Float, 1 ist Standard
          Höhe als Float, 1 ist Standard
Flags	   = PB font flags bold, italic etc eg #PB_Font_Bold | #PB_Font_Italic
          PB Font Flags für Fettschrift, Kursiv etc z.B. #PB_Font_Bold | #PB_Font_Italic

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_CreatePlane()

Syntax

MP_CreatePlane(x,y)

Beschreibung

The function MP_CreatePlane produces a surface with x * y elements as a mesh

Die Funktion MP_CreatePlane erzeugt eine Fläche mit x * y Elementen als Mesh

Parameter
x	= number of elements on the x axis
       Anzahl der Elemente auf der X Achse
y	= number of elements on the y axis
       Anzahl der Elemente auf der Y Achse

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_LoadTerrain()

Syntax

MP_LoadTerrain(Grafikfile.s, x, y [, col [, Factor]])

Beschreibung

The function MP_LoadTerrain created from an image file a 3D terrain with x * y elements, the height is determined by A = 3, R = 2, G = 1, B = 0 and calculated strength factor

Die Funktion MP_LoadTerrain erstellt aus einer Grafikdatei ein 3D Terrain mit x * y Elementen, die Höhe wird durch A=3,R=2,G=1,B=0 ermittelt und Stärke Faktor

Parameter
x	= number of elements on the x axis
       Anzahl der Elemente auf der X Achse
y	= number of elements on the y axis
       Anzahl der Elemente auf der Y Achse
col	= height is computed by 3 = alpha, 2 = red, one green or blue = 0 determines
       Höhe wird duch 3 = Alpha, 2 = Rot, 1 Grün oder 0 = Blau ermittelt
Factor	= strength factor of the terrain increasing
       Stärke mit der das Terrain angehoben wird

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_TextureToTerrain()

Syntax

MP_TextureToTerrain(Texture, x, y [, col [, Factor]])

Beschreibung

The function MP_TextureToTerrain created from a texture a 3D terrain with x * y elements, the height is determined by A = 3, R = 2, G = 1, B = 0 and calculated strength factor

Die Funktion MP_TextureToTerrain erstellt aus einer Textur ein 3D Terrain mit x * y Elementen, die Höhe wird durch A=3,R=2,G=1,B=1 ermittelt und Stärke Faktor

Parameter
Texture	= texture identity
       Identität einer Textur
x	= number of elements on the x axis
       Anzahl der Elemente auf der X Achse
y	= number of elements on the y axis
       Anzahl der Elemente auf der Y Achse
col	= height is computed by 3 = alpha, 2 = red, one green or blue = 0 determines
       Höhe wird duch 3 = Alpha, 2 = Rot, 1 Grün oder 0 = Blau ermittelt
Factor	= strength factor of the terrain increasing (value 0-255, 15 = standard)
       Stärke mit der das Terrain angehoben wird

return value
Entity identity or in case of error #False
Identität eines Entitys oder im Fehlerfall #False


MP_TerrainGetY()

Syntax

MP_TerrainGetY(Terrain,x,y,z)

Beschreibung

The function MP_TerrainGetY gets the height of a terrain. A terrain is a mesh with this command

Die Funktion MP_TerrainGetY ermittelt die Höhe eines Terrain. Ein Terrain ist bei diesem Befehl ein Mesh.

Parameter
Terrain	= Identity of a Mesh
       Identität eines Mesh
x.f	= x-coordinate as float
       X-Koordinate als Float
y.f	= y-coordinate as float
       Y-Koordinate als Float
z.f	= z-coordinate as float
       Z-Koordinate als Float

return value
Specifies the height value (y) or in case of error #False
Gibt den Höhenwert (y) an oder im Fehlerfall #False


MP_DeviceStatus()

Syntax

MP_DeviceStatus(Device)

Beschreibung

The function MP_DeviceStatus determine if a keyboard, mouse or joystick was connected to the computer

Die Funktion MP_DeviceStatus ermittelt ob eine Tastatur, Maus oder Joystick an dem Rechner angeschlossen wurde

Parameter
Device	= 0 -> Keyboard
       1 -> Mouse
       2 -> Joystick
       0 -> Tastatur
       1 -> Maus
       2 -> Joystick

return value
# True if present, or in case of error # False
#True wenn vorhanden oder im Fehlerfall #False

Beispiel

MP_Graphics3D (800,600,32,0) ; Erstelle ein 3D Fenster mit 800x600 Punkten und 32 Farben

While Not MP_KeyDown(#PB_Key_Escape)

       If NOT MP_DeviceStatus(0)
      MessageRequester("Information", "Es ist keine Tastatur vorhanden", 0);
         end
       EndIf

       MP_RenderWorld() ; Erstelle die Welt
       MP_Flip () ; Stelle Sie dar

Wend


MP_KeyDown()

Syntax

MP_KeyDown(key)

Beschreibung

The function MP_KeyDown determine whether a particular key was pressed on the keyboard

Die Funktion MP_KeyDown ermittelt ob eine bestimmte Taste auf der Tastatur gedrückt wurde.

Parameter
key	=  identity of a key pressed. Here are the valid 'KeyID' constants Purebasic will specify (also #PB_Key_All)
        Identität einer gedrückten Taste. Hier werden die gültiger 'KeyID' Konstanten von Purebasic angeben (auch #PB_Key_All)

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_KeyHit()

Syntax

MP_KeyHit(key)

Beschreibung

The function MP_KeyHit determine whether a particular key on the keyboard was pressed and released.

Die Funktion MP_KeyHit ermittelt ob eine bestimmte Taste auf der Tastatur gedrückt und losgelassen wurde.

Parameter
key	= identity of the key. Here, specify the valid 'KeyID' constants of PureBasic.
       Identität der Taste. Hier werden die gültiger 'KeyID' Konstanten von Purebasic angeben.

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_KeyRelease()

Syntax

MP_KeyRelease(key)

Beschreibung

The function MP_KeyRelease determine whether a particular key on the keyboard was pressed and released.

Die Funktion MP_KeyRelease ermittelt ob eine bestimmte Taste auf der Tastatur gedrückt und losgelassen wurde.

Parameter
key	= identity of the key. Here, specify the valid 'KeyID' constants of PureBasic.
       Identität der Taste. Hier werden die gültiger 'KeyID' Konstanten von Purebasic angeben.

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MouseButtonDown()

Syntax

MP_MouseButtonDown(Button)

Beschreibung

The function MP_MouseButtonDown determine whether a particular mouse button is pressed.

Die Funktion MP_MouseButtonDown ermittelt ob eine bestimmte Maustaste gedrückt wurde.

Parameter
Button	= 0, the left mouse button
       1, Right mouse button
       2, middle mouse button
       3, Aux mouse button
       0, linker Mausknopf
       1, rechter  Mausknopf
        2, mittlerer  Mausknopf
           3, Aux Mausknopf

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MouseButtonUp()

Syntax

MP_MouseButtonUp(Button)

Beschreibung

The function MP_MouseButtonDown determine whether a particular mouse button is off.

Die Funktion MP_MouseButtonDown ermittelt ob eine bestimmte Maustaste nicht gedrückt ist.

Parameter
Button	=  0 for left, one for right, 2 for medium and 3 for auxiliary mouse button
        0 für linke, 1 für rechte, 2 für mittlere und 3 für Aux Mausknopf

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MouseButtonRelease()

Syntax

MP_MouseButtonRelease(Button)

Beschreibung

The function MP_MouseButtonRelease determine whether a particular mouse button is released.

Die Funktion MP_MouseButtonRelease ermittelt ob eine bestimmte Maustaste losgelassen wurde.

Parameter
Button	=  0 for left, one for right, 2 for medium and 3 for auxiliary mouse button
        0 für linke, 1 für rechte, 2 für mittlere und 3 für Aux Mausknopf

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MouseButtonHit()

Syntax

MP_MouseButtonHit(Button)

Beschreibung

Mausknopf (Button) gedrückt und losgelassen? , Button = Links 0, Rechts 1, Mitte 2, Aux 3

The function MP_MouseButtonHit determine whether a mouse key was pressed and released.

Die Funktion MP_MouseButtonHit ermittelt ob eine Maustaste gedrückt und losgelassen wurde.

Parameter
Button	= 0, the left mouse button
       1, Right mouse button
       2, middle mouse button
       3, Aux mouse button
       0, linker Mausknopf
       1, rechter  Mausknopf
        2, mittlerer  Mausknopf
           3, Aux Mausknopf

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MouseDeltaX()

Syntax

MP_MouseDeltaX()

Beschreibung

The function MP_MouseDeltaX determined the change in value since mouse x call to the last query.

Die Funktion MP_MouseDeltaX ermittelt die Veränderung des MausX Wertes seit Aufruf der letzen Abfrage.

Parameter
-

return value
Change of the mouse x value
Veränderung des MausX Wertes


MP_MouseDeltaY()

Syntax

MP_MouseDeltaY()

Beschreibung

The function MP_MouseDeltaYX determined the change in value since mouse y call to the last query.

Die Funktion MP_MouseDeltaY ermittelt die Veränderung des MausY Wertes seit Aufruf der letzen Abfrage.

Parameter
-

return value
Change of the mouse y value
Veränderung des MausY Wertes


MP_MouseDeltaWheel()

Syntax

MP_MouseDeltaWheel()

Beschreibung

The function MP_MouseDeltaWheel determined the change in value since MP_MouseDeltaWheel call to the last query.

Die Funktion MP_MouseDeltaWheel ermittelt die Veränderung des MP_MouseDeltaWheel Wertes seit Aufruf der letzen Abfrage.

Parameter
-

return value
Change of the mouse wheel value
Veränderung des Mausrad Wertes


MP_MouseInWindow()

Syntax

MP_MouseInWindow()

Beschreibung

The function MP_MouseInWindow restrict the mouse moves only in the window. Is important in combination with an invisible mouse, and is as used in ego shooters

Die Funktion MP_MouseInWindow läßt die Maus immer innerhalb des Fensters stehen. Ist in Kombination mit einer unsichtbaren Maus wichtig und wird z.B. bei Ego shootern verwendet

Parameter
-

return value
-

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Meshdemo, Abruch mit Esc, Rechte Maustaste Bewegung des Cubes, Scrollrad Entfernung")

camera=MP_CreateCamera() ; Kamera erstellen
MP_PositionCamera(Camera, 0, 0, -5)

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine Würfel

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")

      StopDrawing() ;

EndIf

Texture = MP_ImageToTexture(0) ; Create Texture from image

MP_EntitySetTexture (Mesh, Texture ) ; textur to mesh

MP_UseCursor(0) ; Maussymbol weg

While Not MP_KeyDown(#PB_Key_Escape) ; Esc abfrage

               MP_MouseInWindow()

            ;- Hier kommt ein reine Mesh Maussteuerung

               RotX = 0 : RotY = 0
               MouseX = -MP_MouseDeltaX()/5
               MouseY = -MP_MouseDeltaY()/5

               If MP_MouseButtonDown(1)

                  RotX = MouseX
                  RotY = MouseY
                  MouseX = 0
                  MouseY = 0
               EndIf

               If MP_MouseDeltaWheel() > 0
                   KeyY.f = -0.6
               ElseIf   MP_MouseDeltaWheel() <0
                   KeyY.f =   0.6
               Else
                   KeyY.f = 0
               EndIf

            ;- Ende der Maussteuerung

            MP_TurnEntity(Mesh, RotX, RotY, RollZ)
            MP_TurnCamera(Camera, MouseX/3,-MouseY/3,0)
            MP_MoveCamera(Camera, KeyX, 0, KeyY)

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_JoystickInfo()

Syntax

MP_JoystickInfo(Info)

Beschreibung

The function MP_JoystickInfo determines the functions of a connected joystick.

Die Funktion MP_JoystickInfo ermittelt die Funktionen die ein angeschlossener Joystick besitzt.

Parameter
Button	= 0 for left, one for right, 2 for medium and 3 for auxiliary mouse button
       0 für linke, 1 für rechte, 2 für mittlere und 3 für Aux Mausknopf
Info 	= 1, joystick available
       2, Number of axles
       3, number of buttons
       4, number of POVs
       5, Force feedback available
       1, Joystick vorhanden
       2, Anzahl der Achsen
       3, Anzahl der Knöpfe
       4, Anzahl der Povs
       5, Forcefeedback vorhanden

return value
# True or the desired number or in case of error #False
#True bzw. die gewünschte Anzahl oder im Fehlerfall #False


MP_InitForceFeedBack()

Syntax

MP_InitForceFeedBack(Effectkind,Button,Duration.f,Strong,Axis)

Beschreibung

Enable Force feedback effect 1-5, With Button, duration, intensity and direction of the axis x, y allocations

Aktiviere ForcefeedbackEffect 1-5, Mit Button, Dauer, Stärke und auf Achsenrichtung x,y Zuweisungen

Parameter
Effectkind = 1, Uniform effect
        2, sinus effect
        3, triangle effect
        4, up sawtooth effect
        5, down sawtooth effect
        1, Gleichmässiger Effekt
                    2, Sinus Effekt
        3, Triangel Effekt
        4, Sägezahn Rauf Effekt
        5, Sägezahn Runter Effekt
Button	  = 0, No effect for joystick button
         > 0 acticate a joystick button with the effect (joystick button 1, 2, 3.).
         0, Kein Effekt für Joystickknopf
                     > 0 hier wird ein Joystickknopf mit dem Effekt belegt (Joystickknopf 1, 2 , 3..).
Duration	  = effect duration in seconds
         Effekt Dauer in Sekunden
Strong  	  = strength of the effect (max = 140)
         Stärke des Effekt (max = 140)
Axis            = 0, effect moves the x-axis
         1, effect moves the y-axis
         0, Effekt bewegt die x-Achse
         1, Effekt bewegt die y-Achse

return value
Identity of an Effects or in case of error # False
Identität eines Effects oder im Fehlerfall #False


MP_ForcefeedbackEffect()

Syntax

MP_ForcefeedbackEffect(Effect,Status)

Beschreibung

Effect.l = Erstellter Effekt,  Status =  1 Start, 2 Stop, 3 Löschen

Die Funktion MP_ForcefeedbackEffect aktiviert oder deaktiviert einen Effekt

Parameter
Effect 	= Identität des Effectes
Status 	= 1, Starte Effekt
       2, Stope Effekt
       3, Lösche Effekt

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_JoystickButtonDown()

Syntax

MP_JoystickButtonDown(Button.b)

Beschreibung

The function MP_MouseButtonDown determine whether a particular joystick button has been pressed.

Die Funktion MP_MouseButtonDown ermittelt ob ein bestimmter Joystickknopf gedrückt wurde.

Parameter
Button	= 0-31 for joystick button (0-31)
       0-31 für Joystickknopf (0-31)

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_JoystickAnalogX()

Syntax

MP_JoystickAnalogX()

Beschreibung

The function MP_JoystickAnalogX gets the movement value of the analogue joysticks x

Die Funktion MP_JoystickAnalogX ermittelt den Bewegungswert des Analogen X Joysticks

Parameter
-

return value
analog x returns
Analog X Rückgabewert


MP_JoystickAnalogY()

Syntax

MP_JoystickAnalogY()

Beschreibung

The function MP_JoystickAnalogY gets the movement value of the analogue joysticks y

Die Funktion MP_JoystickAnalogY ermittelt den Bewegungswert des Analogen X Joysticks

Parameter
-

return value
analog y returns
Analog Y Rückgabewert


MP_JoystickAnalogThrottle()

Syntax

MP_JoystickAnalogThrottle()

Beschreibung

The function MP_JoystickAnalogThrottle gets the value of the movement of the joystick controller Throttle

Die Funktion MP_JoystickAnalogThrottle ermittelt den Bewegungswert des Throttle Reglers des Joysticks

Parameter
-

return value
Throttle return value
Throttle Rückgabewert


MP_JoystickAnalogXrot()

Syntax

MP_JoystickAnalogXrot()

Beschreibung

The function MP_JoystickAnalogXrot determines the value of the x axis rotation of the analog joysticks

Die Funktion MP_JoystickAnalogXrot ermittelt den Rotationswert der X Achse des Analogen Joysticks

Parameter
-

return value
AnalogXrot returns
AnalogXrot Rückgabewert


MP_JoystickAnalogYrot()

Syntax

MP_JoystickAnalogYrot()

Beschreibung

The function MP_JoystickAnalogYrot determines the value of the y axis rotation of the analog joysticks

Die Funktion MP_JoystickAnalogYrot ermittelt den Rotationswert der Y Achse des Analogen Joysticks

Parameter
-

return value
AnalogYrot returns
AnalogYrot Rückgabewert


MP_JoystickAnalogZrot()

Syntax

MP_JoystickAnalogZrot()

Beschreibung

The function MP_JoystickAnalogZrot determines the value of the z axis rotation of the analog joysticks

Die Funktion MP_JoystickAnalogZrot ermittelt den Rotationswert der Z Achse des Analogen Joysticks

Parameter
-

return value
AnalogZrot returns
AnalogZrot Rückgabewert


MP_JoystickPOV()

Syntax

MP_JoystickPOV(Contrl)

Beschreibung

The function MP_JoystickPOV determines the POV value of the 4 controller of the analog joystick

Die Funktion MP_JoystickPOV ermittelt den POV Wert der 4 Controller des Analogen Joysticks

Parameter
Contrl	= 0-3

return value
POV value
POV-Wert


MP_JoystickSlider()

Syntax

MP_JoystickSlider(Slider)

Beschreibung

The function MP_JoystickSlider gets the movement of the slider 0 or slider 1

Die Funktion MP_JoystickSlider ermittelt den Bewegungswert des Slider 0 oder 1

Parameter
Slider	= 0-1

return value
Slider value
Slider-Wert


MP_UseCursor()

Syntax

MP_UseCursor(a)

Beschreibung

The function MP_UseCursor alters the appearance of the cursor

Die Funktion MP_UseCursor verändert die Darstellung des Cursors

Parameter
a	= 0, mouse is invisible
       0, Maus wird unsichtbar
       1, as a normal arrow cursor
       1, normaler Pfeil als Cursor
       2, hand-cursor
       2, Hand-Cursor
       3, two slanted arrows at the bottom left to top right as a cursor
       3, zwei schräge Pfeile unten links nach rechts oben als Cursor
       4, text-cursor
       4, Text-Cursor
       5, two horizontal arrows as the cursor
       5, zwei waagerechte Pfeile als Cursor
       6, hourglass cursor
       6, Sanduhr als Cursor
       7, two vertical arrows as cursor
       7, zwei senkrechte Pfeile als Cursor
       8, the cross as cursor
       8, Kreuz als Cursor
       9, four arrows as the cursor
       9, vier Pfeile als Cursor
       10, a vertical arrow cursor to the top
       10, senkrechte Pfeil nach oben als Cursor
       11, crossed-out circle cursor
       11, durchgestrichener Kreis als Cursor
       12, two slanted arrows on the top left to bottom right as a cursor
       12, zwei schräge Pfeile oben links nach rechts unten als Cursor
       13, arrow cursor with hourglass
       13, Pfeil mit Eieruhr als Cursor
       14, as an arrow with a question mark cursor
       14, Pfeil mit Fragezeichen als Cursor

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CursorSetPos()

Syntax

MP_CursorSetPos(x, y)

Beschreibung

The function MP_CursorSetPos sets the cursor to a specific position of the desktop

Die Funktion MP_CursorSetPos setzt den Cursos an eine bestimmte Position des Desktops

Parameter
x 	= position on x-axis
       Position auf X-Achse
y 	= position on y-axis
       Position auf Y-Achse

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CursorGetPosX()

Syntax

MP_CursorGetPosX()

Beschreibung

The function MP_CursorGetPos determined the x-axis value of the cursor from the desktop

Die Funktion MP_CursorGetPos ermittelt den X-Achse Wert des Cursors vom Desktop.

Parameter
-

return value
Cursor x position, or in case of error #False
Cursor Position x oder im Fehlerfall #False


MP_CursorGetPosY()

Syntax

MP_CursorGetPosY()

Beschreibung

The function MP_CursorGetPos determined the y-axis value of the cursor from the desktop

Die Funktion MP_CursorGetPosY ermittelt den Y-Achse Wert des Cursors vom Desktop.

Parameter
-

return value
Cursor y position, or in case of error #False
Cursor Position Y oder im Fehlerfall #False


MP_Fog()

Syntax

MP_Fog(Color, Startfog.f, Endfog.f)

Beschreibung

The function MP_Fog generates a color fog with the start and end region

Die Funktion MP_Fog  erzeugt einen Color Nebel mit Start und Endbereich

Parameter
Color 	=  ARGB color value
        ARGB Farbwert
Startfog.f  = Here begins the fog
       Hier beginnt der Nebel
Endfog.f   = here ends the fog
       Hier endet der Nebel

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ARGB()

Syntax

MP_ARGB(A,R,G,B)

Beschreibung

The function MP_ARGB calculates the  ARGB value of 8bit alpha, red, green and blue values

Die Funktion MP_ARGB berechnet den ARGB Wert aus 8 bit Alpha, Rot, Grün und Blau Werten

Parameter
A	= alpha value (8 bit)
       Alphawert (8 Bit)
R	= red value (8 bit)
       Rotwert (8 Bit)
G	= green value (8 bit)
       Grünwert (8 Bit)
B	= blue value (8 bit)
       Blauwert (8 Bit)

return value
ARGB value (24 bit)
ARGB Wert (24 Bit)


MP_Alpha()

Syntax

MP_Alpha(Color)

Beschreibung

The function MP_Alpha calculate the alpha value of a ARGB value

Die Funktion MP_Alpha berechnet den Alpha Wert aus einem ARGB Wert

Parameter
Color	= ARGB value (24 bit)
       ARGB Wert (24 Bit)

return value
alpha value (8 bit)
Alpha Wert (8 Bit)


MP_Red()

Syntax

MP_Red(Color)

Beschreibung

The function MP_Alpha calculate the red value of a ARGB value

Die Funktion MP_Alpha berechnet den Rot Wert aus einem ARGB Wert

Parameter
Color	= ARGB Wert (24 Bit)

return value
red value (8 bit)
Rot Wert (8 Bit)


MP_Green()

Syntax

MP_Green(Color)

Beschreibung

The function MP_Alpha calculate the green value of a ARGB value

Die Funktion MP_Alpha berechnet den Grün Wert aus einem ARGB Wert

Parameter
Color	= ARGB Wert (24 Bit)

return value
green value (8 bit)
Grün Wert (8 Bit)


MP_Blue()

Syntax

MP_Blue(Color)

Beschreibung

The function MP_Alpha calculate the blue value of a ARGB value

Die Funktion MP_Alpha berechnet den Blau Wert aus einem ARGB Wert

Parameter
Color	= ARGB value (24 Bit)
       ARGB Wert (24 Bit)

return value
blue value (8 bit)
Blau Wert (8 Bit)


MP_CreateParticleEmitter()

Syntax

MP_CreateParticleEmitter([Part])

Beschreibung

The function MP_CreateParticleEmitter created a particle emitter of an optional standard particle

Die Funktion MP_CreateParticleEmitter erstellt einen Partikelemitter der ein optionalen Standardpartikel beinhaltet

Parameter
Part	= particle number 0-23 (+24-47) , see chart
       Partikelnummer 0-23 (+24-47), siehe Grafik

return value
Identity of an Entity, or in case of error #False
Identität eines Entitys oder im Fehlerfall #False

chart of the 24 standard particle, next 24 particle have halve size
Grafik der 24 Standardpartikel, die nächsten Partikel haben halbe Grösse


MP_CreateOneShotEmitter()

Syntax

MP_CreateOneShotEmitter(Part, x.f, y.f, z.f, MaxParticle, ReleaseParticle,Interval.f, MinTime.f, MaxTime.f)

Beschreibung

The function MP_CreateOneShotEmitter created a oneshot particle emitter of an optional standard particle with differnet parametes. The oneshot Emmitter is selfkilling if all particles are gone.

Die Funktion MP_CreateOneShotEmitter erstellt einen oneshot Partikelemitter der ein optionalen Standardpartikel beinhaltet. Nachdem alle Partikel gelsöcht sind löscht sich der Emmitter selbstätig

Parameter
Part	= particle number 0-23 (+24-47) , see chart
       Partikelnummer 0-23 (+24-47), siehe Grafik
x.f	          = x- position as float
                 x-Position als float
y.f   	          = y- position as float
                 y-Position als float
z.f	          = z- position as float
                 z-Position als float
MaxPartikel        = count of particle of the emmiter
                 Anzahl der partikel die ausgestossen werden
ReleasePartikel = number of the simultaneously produced particles
                 Anzahl der gleichzeitig erzeugten Partikel
Interval.f	          = period of the particle creation
                 Intervall Zeitraum der Partikelerstellung
MinTime.f           = minimum particle lifetime
                 Minimale Partikellebenszeit
MaxTime.f          = maximum particle lifetime
                 Maximale Partikellebenszeit

return value
Identity of an Entity, or in case of error #False
Identität eines Entitys oder im Fehlerfall #False

chart of the 24 standard particle, next 24 particle have halve size
Grafik der 24 Standardpartikel, die nächsten Partikel haben halbe Grösse


MP_KillParticleEmitter()

Syntax

MP_KillParticleEmitter(Entity, MaxParticle)

Beschreibung

The function MP_KillParticleEmitter delete a ParticleEmitter after MaxParticle

Die Funktion MP_KillParticleEmitter löscht einen Partikelemmitter nach der Anzahl von MaxParticle.

Parameter
Entity	  = Partikelemmiter identity
         Identität eines Partikelemmiters
MaxParticle= Count of Particle
         Anzahl der Partikel

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ParticleEmitterStartTime()

Syntax

MP_ParticleEmitterStartTime(Entity, StartTime.f)

Beschreibung

The function MP_ParticleEmitterStartTime starts a  ParticleEmitter after Starttime

Die Funktion MP_ParticleEmitterStartTime startet einen Partikelemmitter nach Zeit.

Parameter
Entity	  = Partikelemmiter identity
         Identität eines Partikelemmiters
StartTime.f = Time to start
         Startzeit

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ParticleBlendingMode()

Syntax

MP_ParticleBlendingMode(Entity, Source, Destination)

Beschreibung

The command MP_ParticleBlendingMode change the Blending Mode of a Particleemmiter

Der Befehl MP_ParticleBlendingMode ändert den Blending Mode eines Partikelemmiters

Parameter
Entity	   = identity of a Particleemmiter
          Identität eines Partikelemmiters
Source	   = #D3DRS_SRCBLEND Mode = 1 to 15, see #D3DBLEND_....
          #D3DRS_SRCBLEND Mode = 1 bis 15, see #D3DBLEND_....
Destination = #D3DRS_DESTBLEND Mode = 1 to 15, see #D3DBLEND_....
           #D3DRS_DESTBLEND Mode = 1 bis 15, see #D3DBLEND_....

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

      #D3DBLEND_ZERO = 1
      #D3DBLEND_ONE = 2
      #D3DBLEND_SRCCOLOR = 3
      #D3DBLEND_INVSRCCOLOR = 4
      #D3DBLEND_SRCALPHA = 5
      #D3DBLEND_INVSRCALPHA = 6
      #D3DBLEND_DESTALPHA = 7
      #D3DBLEND_INVDESTALPHA = 8
      #D3DBLEND_DESTCOLOR = 9
      #D3DBLEND_INVDESTCOLOR = 10
      #D3DBLEND_SRCALPHASAT = 11
      #D3DBLEND_BOTHSRCALPHA = 12
      #D3DBLEND_BOTHINVSRCALPHA = 13
      #D3DBLEND_BLENDFACTOR = 14 ;/* Only supported if D3DPBLENDCAPS_BLENDFACTOR is on */
      #D3DBLEND_INVBLENDFACTOR = 15 ;/* Only supported if D3DPBLENDCAPS_BLENDFACTOR is on */
      #D3DBLEND_FORCE_DWORD = $7FFFFFFF ;/* force 32-bit size enum */


MP_ParticleVarSize()

Syntax

MP_ParticleVarSize(Entity, Size.f)

Beschreibung

The function MP_ParticleVarSize chnage the size of a Particle over the livetime of the particle

Die Funktion MP_ParticleVarSize änder dei Grösse über die Lebenszeit eines Partikels

Parameter
Entity	= Partikelemmiter identity
         Identität eines Partikelemmiters
Size.f 	= changing size of particle
       Grössenveränderung des particles

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ParticleColorRange()

Syntax

MP_ParticleColorRange(Entity, StartFarbe, EndFarbe)

Beschreibung

The function MP_ParticleColorRange sets the random value of the color of the particle from 'Start Color' to 'end color'.

Die Funktion MP_ParticleColorRange setzt den Zufallswert der Farbe des Partikels von  'StartFarbe' zu 'EndFarbe'.

Parameter
Entity	  = Partikelemmiter identity
         Identität eines Partikelemmiters
StartFarbe  = RGB color Start value
         RGB Start Farbwert
EndFarbe   = RGB color End value
         RGB End Farbwert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ParticleEmissionRate()

Syntax

MP_ParticleEmissionRate(Entity, MaxPartikel, ReleasePartikel, Interval.f)

Beschreibung

The function MP_ParticleEmissionRate sets the maximum number of particles, how many will be created in what time frame.

Die Funktion MP_ParticleEmissionRate setzt die maximale Anzahl der Partikel, wie viele erstellt werden in welchem Zeitraum.

Parameter
Entity	         = Partikelemmiter identity
                Identität eines Partikelemmiters
MaxPartikel       = maximum number of particles
                Maximale Anzahl der Partikel
ReleasePartikel = number of the simultaneously produced particles
                 Anzahl der gleichzeitig erzeugten Partikel
Interval.f	          = period of the particle creation
                 Intervall Zeitraum der Partikelerstellung

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ParticleTimeToLive()

Syntax

MP_ParticleTimeToLive(Entity, MinTime.f, MaxTime.f)

Beschreibung

The function MP_ParticleTimeToLive sets the minimum and maximum particle lifetime

Die Funktion MP_ParticleTimeToLive setzt die Minimale und Maximale Partikellebenszeit

Parameter
Entity	  = Partikelemmiter identity
         Identität eines Partikelemmiters
MinTime.f  = minimum particle lifetime
        Minimale Partikellebenszeit
MaxTime.f = maximum particle lifetime
        Maximale Partikellebenszeit

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ParticleSize()

Syntax

MP_ParticleSize(Entity, Size.f [, Size2.f])

Beschreibung

The function MP_ParticleSize sets the particle size

Die Funktion MP_ParticleSize setzt die Partikelgrösse

Parameter
Entity	  = Partikelemmiter identity
         Identität eines Partikelemmiters
Size.f	= size of the particles
       Grösse des Partikel
Size2.f	= the particle size is randomly created from Size to Size2
        Partikelgrösse wird zufällig von Size bis Size2 erstellt

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ParticleChangeColor()

Syntax

MP_ParticleChangeColor(Entity, RGB, kind)

Beschreibung

The function MP_ParticleChangeColor sets a fadecolor and a fade out effect for the particle

Die Funktion MP_ParticleFadeOut setzt eine Wechselfarbe und fade out effect über die die Partikelgrösse

Parameter
Entity       =  Partikelemmiter identity
        Identität eines Partikelemmiters
RGB	=  RGB color of the destination color
        RGB Farbe der Zielfarbe
kind	=  0, no fade out
                    0, kein fade out
        1, fade out over the particle livetime
        1, fade out über die partikel lebenszeit
        2, fade out at 80% of the particle livetime
        2, fade out bei 80% der partikel lebenszeit
        3, fade out at 50% of the particle livetime
        3, fade out bei 50% der partikel lebenszeit
        4, fade out at 30% of the particle livetime
        4, fade out bei 30% der partikel lebenszeit
        5, fade out at 10% of the particle livetime
        5, fade out bei 10% der partikel lebenszeit

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ParticleFadeOut()

Syntax

MP_ParticleFadeOut(Entity, Kind)

Beschreibung

The function MP_ParticleFadeOut sets a fade out effect for the particle

Die Funktion MP_ParticleFadeOut setzt einen fade out effect über die die Partikelgrösse

Parameter
Entity	  = Partikelemmiter identity
         Identität eines Partikelemmiters
kind	=  0, no fade out
                    0, kein fade out
        1, fade out over the particle livetime
        1, fade out über die partikel lebenszeit
        2, fade out at 80% of the particle livetime
        2, fade out bei 80% der partikel lebenszeit
        3, fade out at 50% of the particle livetime
        3, fade out bei 50% der partikel lebenszeit
        4, fade out at 30% of the particle livetime
        4, fade out bei 30% der partikel lebenszeit
        5, fade out at 10% of the particle livetime
        5, fade out bei 10% der partikel lebenszeit

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ParticleAcceleration()

Syntax

MP_ParticleAcceleration(Entity, Acceleration.f)

Beschreibung

Acceleration of particle

The function MP_ParticleAcceleration sets an acceleration of the particle

Die Funktion MP_ParticleAcceleration setzt ein Beschleunigungswert der Partikel

Parameter
Entity	       = Partikelemmiter identity
              Identität eines Partikelemmiters
Acceleration.f = acceleration of the particles
              Beschleunigungswert der Partikel

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_GetRenderedParticles()

Syntax

MP_GetRenderedParticles(Entity)

Beschreibung

The function MP_GetRenderedParticles get the number of particles

Die Funktion MP_GetRenderedParticles gibt die Anzahl der aktiven Partikel wieder

Parameter
Entity	  = Partikelemmiter identity
         Identität eines Partikelemmiters

return value
count of the particel
Anzahl der Partikel


MP_SetParticleEmitter()

Syntax

MP_SetParticleEmitter(Entity,Part)

Beschreibung

The function MP_SetParticleEmitter sets a standard particle for a ParticleEmitter

Die Funktion MP_SetParticleEmitter setzt ein StandardPartikel für einen ParticleEmitter

Parameter
Entity	= Partikelemmiter identity
       Identität eines Partikelemmiters
Part	= particle number 0-23, see chart
       Partikelnummer 0-23, siehe Grafik

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

chart of the 24 standard particle
Grafik der 24 Standardpartikel


MP_ParticleEmitterSetAnimate()

Syntax

MP_ParticleEmitterSetAnimate(Entity, Texture, Frames ,FramePerSecond ,Width ,Height)

Beschreibung

The function MP_ParticleEmitterSetAnimate generates an animated graphic particles from a Texture

Die Funktion MP_ParticleEmitterSetAnimate erzeugt aus einer Textur eine animierte Partikelgrafik

Parameter
Entity	             = Partikelemmiter identity
                    Identität eines Partikelemmiters
Texture	             = Texture identity
                      Identität eineTexture
Frames	             = number of image parts
                    Anzahl der Bildteile
FramePerSecond = number of frames per second
                   Anzahl der Bilder pro Sekunde
Width	             = Width in pixels
                    Breite in Pixel
Height	             = height in pixels
                    Höhe in Pixel

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

NOTE: For maximum compatibility you should always create a multiple of 2 (for example 16/32/64 pixels per page) if you use graphics
HINWEIS: Wegen größtmöglicher Kompatibilität sollte man die Grafik immer alle ein Vielfaches von 2 erzeugen  z.B. 16/32/64 Pixel pro Seite


MP_CreateTextureShader()

Syntax

MP_CreateTextureShader(MyEffect.s)

Beschreibung

The function MP_CreateTextureShader  creates a texture shader from a string

Die Funktion MP_CreateTextureShader erzeugt einen Texturshader aus einem String

Parameter
MyEffect.s = string of text containing the texture shader
         String der den Textur Shader Text beinhaltet

return value
Identity of the texture shader or in case of error #False
Identität des TexturShaders oder im Fehlerfall #False


MP_LoadTextureShader()

Syntax

MP_LoadTextureShader(File.s)

Beschreibung

The function MP_LoadTextureShader loads a compiled Textureshader.fx file to generate a Textureshader

Die Funktion MP_LoadTextureShader lädt ein compilierte Textureshader.fx Datei um einen Textureshader zu erzeugen

Parameter
File.s	= filename of the compiled shader texture
       Dateinamen des compilierten Textur Shaders

return value
Identity of the texture shader or in case of error #False
Identität des Texturshaders oder im Fehlerfall #False


MP_CompileTextureShader()

Syntax

MP_CompileTextureShader(MyEffect.s, File.s)

Beschreibung

The function MP_CompileTextureShader generated from a texture shader text a compiled texture shader.

Die Funktion MP_CompileTextureShader erzeugt aus einem Textur Shader Text einen compilierten Textur Shader.

Parameter
MyEffect.s = the texture shader tex as stringt
        String der den Textur Shader Text beinhaltet
File.s	 = filename of the texture to be generated compiled shaders
        Dateinamen des zu erzeugenden compilierten Textur Shaders

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CatchTextureShader()

Syntax

MP_CatchTextureShader(Memory)

Beschreibung

The function MP_CatchTextureShader loads a compiled Textureshader from memory

Die Funktion MP_CatchTextureShader lädt einen compilierte Textureshader aus dem Speicherbereich Memory

Parameter
Memory	= memory address of the compiled shader texture
       Speicheradresse des compilierten Textur Shaders

return value
Identity of the texture shader or in case of error #False
Identität des Texturshaders oder im Fehlerfall #False


MP_UseTextureShader()

Syntax

MP_UseTextureShader(TxShader,Texture)

Beschreibung

The function MP_UseTextureShader applies a texture shader to a texture.

Die Funktion MP_UseTextureShader wendet einen Texturshader auf eine Texture an.

Parameter
TxShader	= identity of a texture shader
       Identität eines Texturshaders
Texture	= identity of a Texture
       Identität einer Texture

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextureShaderSetVar_f()

Syntax

MP_TextureShaderSetVar_f(TxShader,Name.s,Var.f)

Beschreibung

The function MP_TextureShaderSetVar_f sets the value of a Float variable for a Textureshader

Die Funktion MP_TextureShaderSetVar_f setzt den Wert einer Floatvariablen für einen Textureshader

Parameter
TxShader	= identity of a texture shader
       Identität eines Texturshaders
Name.s 	= name of the texture shaders variable, written in the shader
       Name der im Texturshader für diese Variable verwendet wird
Var.f	= value of the float variable
        Wert der Floatvariablen

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TextureShaderSetVar_I()

Syntax

MP_TextureShaderSetVar_I(TxShader, Name.s, Var)

Beschreibung

The function sets the value of a MP_TextureShaderSetVar_l integer variables for a Textureshader

Die Funktion MP_TextureShaderSetVar_l setzt den Wert eine Integer Variablen für einen Textureshader

Parameter
TxShader	= identity of a texture shader
       Identität eines Texturshaders
Name.s 	= name is used in the texture shaders for this variable
       Name der im Texturshader für diese Variable verwendet wird
Var	= value of the integer variable
        Wert als der Integervariablen

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_FreeTextureShader()

Syntax

MP_FreeTextureShader(TxShader)

Beschreibung

The function MP_FreeTextureShader deletes a Textureshader

Die Funktion MP_FreeTextureShader löscht einen Textureshader

Parameter
TxShader	= identity of a texture shader
       Identität eines Texturshaders

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_UseBackbufferShader()

Syntax

MP_UseBackbufferShader(Texture , MyShader)

Beschreibung

The function MP_UseBackbufferShader applies a (Pixels) shader to a texture. The Texure must have the maximum same size as the Backbuffer.

Die Funktion MP_UseBackbufferShader wendet einen (Pixel)Shader auf eine Texture an. Die Texture darf nicht grösser als der Backbuffer sein.

Parameter
Texture	 = identity of the Texture
        Identität der Texture
MyShader = identity of the shader
        Identität des Shaders

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreateMyShader()

Syntax

MP_CreateMyShader(MyShader.s)

Beschreibung

The function MP_CreateMyShader created a shader from a string. This may be a pixel shader and / or Vertex Shader

Die Funktion MP_CreateMyShader erzeugt einen Shader aus einem String. Hierbei kann es sich um einen PixelShader und/oder VertexShader handeln

Parameter
MyEffect.s = text string that containing the texture shader
        String der den Textur Shader Text beinhaltet

return value
Identity of the shader or in case of error #False
Identität des Shaders oder im Fehlerfall #False


MP_UsePixelShader()

Syntax

MP_UsePixelShader(Texture , MyShader)

Beschreibung

The function MP_UsePixelShader applies a (Pixels) shader to a texture

Die Funktion MP_UsePixelShader wendet einen (Pixel)Shader auf eine Texture an

Parameter
Texture	 = identity of the Texture
        Identität der Texture
MyShader = identity of the shader
        Identität des Shaders

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SetTechniqueMyShader()

Syntax

MP_SetTechniqueMyShader(MyShader,Name.s)

Beschreibung

The function MP_SetTechniqueMyShader activate the technic name of the shader

Die Funktion MP_SetTechniqueMyShader setzt den zu verwendenen Techniknamen den der Shader ausühren soll

Parameter
MyShader = identity of the shader
        Identität des Shaders
Name.s	 = name of the shader technic
       Techniknamen des Shaders

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ShaderSetEntity()

Syntax

MP_ShaderSetEntity(MyShader,Entity)

Beschreibung

The function MP_ShaderSetEntity activate the shader at an Entity, or deactivate him for an entity.

Die Funktion MP_ShaderSetEntity führt den Shader bei einem Entity aus oder löscht Ihn für ein Entity.

Parameter
MyShader = identity of the shader
        0, to delete a shader for the Entity
        Identität des Shaders
                    0, um einen Shader für das Entity zu löschen
Entity	= identity of a entity
       Identität eines Entity

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ShaderSetVar_f()

Syntax

MP_ShaderSetVar_f(MyShader,Name.s,Var.f)

Beschreibung

The function MP_ShaderSetVar_f sets the value of a float variable to a shader

Die Funktion MP_ShaderSetVar_f setzt den Wert einer Floatvariablen für einen Shader

Parameter
MyShader = identity of the shader
        Identität des Shaders
Name.s 	= name is used in the shader for this variable
       Name der im Shader für diese Variable verwendet wird
Var.f	= value of the float variable
       Wert der Floatvariablen

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ShaderGetVar_f()

Syntax

MP_ShaderGetVar_f(MyShader,Name.s)

Beschreibung

The function MP_ShaderGetVar_f reads the value of a float shader variable

Die Funktion MP_ShaderGetVar_f ließt den Wert einer Floatvariablen eines Shader

Parameter
MyShader = identity of the shader
        Identität des Shaders
Name.s 	= name is used in the shader for this variable
       Name der im Shader für diese Variable verwendet wird

return value
value as float
Variablenwert als Float


MP_ShaderSetVar_I()

Syntax

MP_ShaderSetVar_I(MyShader,Name.s,Var)

Beschreibung

The function MP_ShaderSetVar_I sets the value of a integer variable for a Shader

Die Funktion MP_ShaderSetVar_I setzt den Wert eine Integervariablen für einen Shader

Parameter
MyShader = identity of the shader
        Identität des Shaders
Name.s 	= name is used in the shader for this variable
       Name der im Shader für diese Variable verwendet wird
Var	= value of the integer variables
        Wert der Integervariablen

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ShaderGetVar_I()

Syntax

MP_ShaderGetVar_I(MyShader,Name.s)

Beschreibung

The function MP_ShaderGetVar_I reads the value of a integer shader variable

Die Funktion MP_ShaderGetVar_I ließt den Wert einer Integervariablen eines Shader

Parameter
MyShader = identity of the shader
        Identität des Shaders
Name.s 	= name is used in the shader for this variable
       Name der im Shader für diese Variable verwendet wird

return value
value as integer
Variablenwert als Integer


MP_ShaderSetTexture()

Syntax

MP_ShaderSetTexture(MyShader,Name.s,Texture)

Beschreibung

The function MP_ShaderSetTexture set a texture to a shader

Die Funktion MP_ShaderSetTexture übergibt eine Texture an einen Shader

Parameter
MyShader = identity of the shader
        Identität des Shaders
Name.s 	 = name is used in the shader for the texture
        Name der im Shader für diese Texture verwendet wird
Texture	 = identity of a Texture
        Identität einer Texture

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ShaderSet_D3DMATRIX()

Syntax

MP_ShaderSet_D3DMATRIX(MyShader,Name.s,Var)

Beschreibung

The function MP_ShaderSet_D3DMATRIX set a matrix to a shader

Die Funktion MP_ShaderSet_D3DMATRIX übergibt eine Matrix an einen Shader

Parameter
MyShader = identity of the shader
        Identität des Shaders
Name.s 	= name is used in the shader for the texture
       Name der im Shader für diese Texture verwendet wird
Var	= address of the matrix
       Adresse der Matrix

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ShaderSet_Float3()

Syntax

MP_ShaderSet_Float3(MyShader,Name.s,Address)

Beschreibung

The function MP_ShaderSet_Float3 sets the value of a Float3 (3xfloat) variable to a shader

Die Funktion MP_ShaderSet_Float3 setzt den Wert einer Float3 (3xFloat) Variablen für einen Shader

Parameter
MyShader = identity of the shader
        Identität des Shaders
Name.s 	= name is used in the shader for this variable
       Name der im Shader für diese Variable verwendet wird
Address	= Address of the Vector4 variable
       Adresse der Vector3 Variablen

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ShaderSet_Float4()

Syntax

MP_ShaderSet_Float4(MyShader,Name.s,Address)

Beschreibung

The function MP_ShaderSet_Float4 sets the value of a Float4 (4xfloat) variable to a shader

Die Funktion MP_ShaderSet_Float4 setzt den Wert einer Float4 (4xFloat) Variablen für einen Shader

Parameter
MyShader = identity of the shader
        Identität des Shaders
Name.s 	= name is used in the shader for this variable
       Name der im Shader für diese Variable verwendet wird
Address	= Address of the Vector4 variable
       Adresse der Vector4 Variablen

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ShaderGetWorldView()

Syntax

MP_ShaderGetWorldView(Mesh)

Beschreibung

The function MP_ShaderGetWorldView reads the current mp3d WorldView matrix of the engine for a Mesh

Die Funktion MP_ShaderGetWorldView ließt die aktuelle WorldView Matrix der MP3D Engine für ein Mesh

Parameter
Mesh	= identity of a mesh
       Identität eines Meshs

return value
address of WorldView matrix
Adresse der WorldView Matrix


MP_ShaderGetWorldViewI()

Syntax

MP_ShaderGetWorldViewI(Mesh)

Beschreibung

The function MP_ShaderGetWorldView reads the inverted current mp3d WorldView matrix of the engine for a Mesh

Die Funktion MP_ShaderGetWorldView ließt die aktuelle invertierte WorldView Matrix der MP3D Engine für ein Mesh

Parameter
Mesh	= identity of a mesh
       Identität eines Meshs

return value
address of WorldView matrix
Adresse der WorldView Matrix


MP_ShaderGetLightDirection()

Syntax

MP_ShaderGetLightDirection(Light)

Beschreibung

The function MP_ShaderGetLightDirection reads the direction as D3DXVector3 of the light

Die Funktion MP_ShaderGetLightDirection liest die  Richtung des Lichts als D3DXVector3

Parameter
light	= identity of a light
       Identität eines Lichts

return value
DirectionVector.D3DXVECTOR3
DirectionVector.D3DXVECTOR3

Structure D3DXVector3
    x.f
    y.f
    z.f
EndStructure


MP_ShaderGetLightWorld()

Syntax

MP_ShaderGetLightWorld(Light)

Beschreibung

The function MP_ShaderGetLightWorldreads the current GetWorld matrix of a light

Die Funktion MP_ShaderGetLightWorldließt die aktuelle GetWorld Matrix de Lichtes

Parameter
light	= identity of a light
       Identität eines Lichts

return value
address of the GetWorld Matrix
Adresse der GetWorld Matrix


MP_ShaderGetCamProjection()

Syntax

MP_ShaderGetCamProjection(camera)

Beschreibung

The function MP_ShaderGetCamProjection reads the camera projection matrix

Die Funktion MP_ShaderGetCamProjection ließt die Kamera Projektionsmatrix

Parameter
camera	= identity of a camera
       Identität einer Kamera

return value
address of CamProjection matrix
Adresse der Kamera Projektions Matrix


MP_ShaderGetCamView()

Syntax

MP_ShaderGetCamView(camera)

Beschreibung

The function MP_ShaderGetCamView reads the current camera view matrix

Die Funktion MP_ShaderGetCamViewließt die aktuelle View Matrix der Kammera

Parameter
camera	= identity of a camera
       Identität einer Kamera

return value
address of camera View matrix
Adresse der camera View Matrix


MP_ShaderGetView()

Syntax

MP_ShaderGetView(camera)

Beschreibung

The function MP_ShaderGetView reads the current GetView matrix of the engine for a Mesh

Die Funktion MP_ShaderGetView ließt die aktuelle GetView Matrix der MP3D Engine für ein Mesh

Parameter
camera 	= identity of the camera
       Identität der Camera

return value
address of the GetView matrix
Adresse der GetView Matrix


MP_ShaderGetViewI()

Syntax

MP_ShaderGetViewI(camera)

Beschreibung

The function MP_ShaderGetView reads the inverted camera GetView matrix

Die Funktion MP_ShaderGetView ließt die invertierte GetView Matrix

Parameter
camera 	= identity of the camera
       Identität der Camera

return value
address of the inverted GetView matrix
Adresse der invertierten GetView Matrix


MP_ShaderGetCamPos()

Syntax

MP_ShaderGetCamPos(camera)

Beschreibung

The function MP_ShaderGetCamPos reads the Camera position as Vector3 variable

Die Funktion MP_ShaderGetCamPos ließt die Kamera Position als Vector3 Variable

Parameter
camera 	= identity of the camera
       Identität der Camera

return value
address of the vector3 variable
Adresse der Vector3 Variable


MP_ShaderGetLightPos()

Syntax

MP_ShaderGetLightPos(Light)

Beschreibung

The function MP_ShaderGetLightPos reads the light position as Vector3 variable

Die Funktion MP_ShaderGetLightPos ließt die Licht Position als Vector3 Variable

Parameter
light 	= identity of the light
       Identität des Lichtes

return value
address of the vector3 variable
Adresse der Vector3 Variable


MP_ShaderGetWorld()

Syntax

MP_ShaderGetWorld(Mesh)

Beschreibung

The function MP_ShaderGetWorld reads the current GetWorld matrix of the engine for a Mesh

Die Funktion MP_ShaderGetWorld ließt die aktuelle GetWorld Matrix der MP3D Engine für ein Mesh

Parameter
Mesh	= Identität eines Meshs
       Identität eines Meshs

return value
address of the GetWorld Matrix
Adresse der GetWorld Matrix


MP_ShaderGetWorldI()

Syntax

MP_ShaderGetWorldI(Mesh)

Beschreibung

The function MP_ShaderGetWorld reads the current inverse GetWorld matrix of the engine for a Mesh

Die Funktion MP_ShaderGetWorld ließt die aktuelle invertierte GetWorld Matrix der MP3D Engine für ein Mesh

Parameter
Mesh	= Identität eines Meshs
       Identität eines Meshs

return value
address of the inverse GetWorld Matrix
Adresse der invertierten GetWorld Matrix


MP_ShaderGetWorldITranspose()

Syntax

MP_ShaderGetWorldITranspose(Mesh)

Beschreibung

The function MP_ShaderGetWorldITranspose reads the current inverse transposed GetWorld matrix of the engine for a Mesh

Die Funktion MP_ShaderGetWorldITranspose ließt die aktuelle invertierte transponierte GetWorld Matrix der MP3D Engine für ein Mesh

Parameter
Mesh	= Identität eines Meshs
       Identität eines Meshs

return value
address of the inverse GetWorld Matrix
Adresse der invertierten GetWorld Matrix


MP_FreeShader()

Syntax

MP_FreeShader(MyShader)

Beschreibung

The function MP_FreeShader deletes a Shader

Die Funktion MP_FreeShader löscht einen Shader

Parameter
MyShader = identity of the shader
        Identität des Shaders

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MaterialDiffuseColor()

Syntax

MP_MaterialDiffuseColor(Entity, a.c, r.c ,g.c, b.c)

Beschreibung

The function MP_MaterialDiffuseColor set the material property diffuse color. An entity can be Texture, mesh or Light

Die Funktion MP_MaterialDiffuseColor setzt für ein Entity die Materialeigenschaft DiffuseColor=Streulicht. Ein Entity kann Texture, Mesh oder Light sein

Parameter
Entity	= Entity identity
       Identität eines Entitys
a.c	= alpha value of 0-255
       Alphawert von 0-255
r.c	= red value of 0-255
       Rotwert von 0-255
g.c	= green value of 0-255
       GrünWert von 0-255
b.c	= blue value of 0-255

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MaterialAmbientColor()

Syntax

MP_MaterialAmbientColor(Entity, a.c, r.c ,g.c, b.c)

Beschreibung

The function MP_MaterialAmbientColor set the material property ambient color. An entity can be Texture, mesh or Light

Die Funktion MP_MaterialAmbientColor setzt für ein Entity die Materialeigenschaft AmbientColor=Standardumgebungslichts. Ein Entity kann Texture, Mesh oder Light sein

Parameter
Entity	= Entity identity
       Identität eines Entitys
a.c	= alpha value of 0-255
       Alphawert von 0-255
r.c	= red value of 0-255
        Rotwert von 0-255
g.c	= green value of 0-255
       GrünWert von 0-255
b.c	= blue value of 0-255
       Blauwert von 0-255

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MaterialSpecularColor()

Syntax

MP_MaterialSpecularColor(Entity, a.c, r.c ,g.c, b.c,Power.f)

Beschreibung

The function MP_MaterialSpecularColor  set the material property specular color. An entity can be Texture, mesh or Light

Die Funktion MP_MaterialSpecularColor setzt für ein Entity die Materialeigenschaft SpecularColor = Glanzlicht. Ein Entity kann Texture, Mesh oder Light sein

Parameter
Entity	= Entity identity
       Identität eines Entitys
a.c	= alpha value of 0-255
        Alphawert von 0-255
r.c	= red value of 0-255
       Rotwert von 0-255
g.c	= green value of 0-255
       GrünWert von 0-255
b.c	= blue value of 0-255
       Blauwert von 0-255
Power.f	= Stärke des Glanzlichtes als Float (1 = Standard)

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MaterialEmissiveColor()

Syntax

MP_MaterialEmissiveColor(Entity, a.c, r.c ,g.c, b.c)

Beschreibung

The function MP_MaterialEmissiveColor set the material property material emissive color. An entity can be Texture, mesh or Light

Die Funktion MP_MaterialEmissiveColor setzt für ein Entity die Materialeigenschaft EmissiveColor=Selbstleuchtfarbe. Ein Entity kann Texture, Mesh oder Light sein

Parameter
Entity	= Entity identity
       Identität eines Entitys
a.c	= alpha value of 0-255
       Alphawert von 0-255
r.c	= red value of 0-255
       Rotwert von 0-255
g.c	= green value of 0-255
       GrünWert von 0-255
b.c	= blue value of 0-255
       Blauwert von 0-255

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CatchV2M()

Syntax

MP_CatchV2M(Memory)

Beschreibung

The function MP_CatchV2M loads a V2M song from the memory

Die Funktion MP_CatchV2M lädt einen V2M Song aus dem Arbeisspeicher

Parameter
Memory = start address of V2M Songs
    Anfangsadresse der V2M Songs

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_LoadV2M()

Syntax

MP_LoadV2M(Files.s)

Beschreibung

The function MP_LoadV2M loads from a file a V2M song

Die Funktion MP_LoadV2M lädt einen V2M Song als Datei

Parameter
Files.s	= file name of Songs
       Dateinamen des Songs

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_FreeV2M()

Syntax

MP_FreeV2M()

Beschreibung

The function MP_FreeV2M deletes the active V2M Song

Die Funktion MP_FreeV2M löscht den aktiven V2M Song

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_StopV2M()

Syntax

MP_StopV2M([fadetime])

Beschreibung

The function MP_StopV2M stops a V2M song with fade out time

Die Funktion MP_StopV2M stoppt einen V2M Song mit Ausfadezeit

Parameter
fadetime	= fade out time in ticks
       Ausfadezeit in Ticks

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PlayV2M()

Syntax

MP_PlayV2M([time])

Beschreibung

The function MP_PlayV2M starts a V2M song from time position

Die Funktion MP_PlayV2M startet eine V2M Song ab Position time

Parameter
time	= time in ticks
       Zeit in Ticks

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_GetCurrentTimeV2M()

Syntax

MP_GetCurrentTimeV2M()

Beschreibung

The function MP_GetCurrentTimeV2M  reads the current song postion in ticks

Die Funktion MP_GetCurrentTimeV2M ließt die aktuelle Songpostion in Ticks

Parameter
-

return value
Current time in ticks or in case of error #False
Aktuelle Zeit in Ticks oder im Fehlerfall #False


MP_GetNeededTimeV2M()

Syntax

MP_GetNeededTimeV2M()

Beschreibung

The function MP_GetNeededTimeV2M reads the time until the end of the song

Die Funktion MP_GetNeededTimeV2M ließt die Zeit bis Songende

Parameter
-

return value
Time in ticks to end of the song or in case of error #False
Zeit in Ticks bis Songende oder im Fehlerfall #False


MP_GetChannelVUV2M()

Syntax

MP_GetChannelVUV2M(channel, *left.FLOAT, *right.FLOAT)

Beschreibung

The function MP_GetChannelVUV2M reads the volume level of both stereo channels of the instrument channel

Die Funktion MP_GetChannelVUV2M ließt die Laustärke eine Instrumenten-Kanals für beide Stereokänale

Parameter
channel	    = instruments channel
           Instrumenten Kanal
*left.FLOAT  = address of the left.FLOAT variable to store the left volume level
           Adresse eine Floatvariablen um die Laustärke in der Variablen zu speichern
*right.FLOAT= address of the right.FLOAT variable to store the right volume level
            Adresse eine Floatvariablen um die Laustärke in der Variablen zu speichern

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_GetMainVUV2M()

Syntax

MP_GetMainVUV2M(*left.FLOAT, *right.FLOAT)

Beschreibung

The function MP_GetMainVUV2M reads the volume level of both stereo channels of MainOut

Die Funktion MP_GetMainVUV2M ließt die Laustärke des MainOut für beide Stereokänale

Parameter
*left.FLOAT  = address of the left.FLOAT variable to store the left volume level
           Adresse eine Floatvariablen um die Laustärke in der Variablen zu speichern
*right.FLOAT= address of the right.FLOAT variable to store the right volume level
            Adresse eine Floatvariablen um die Laustärke in der Variablen zu speichern

return value
Laustärkewert oder im Fehlerfall Rückgabe von #False


MP_IsPlayingV2M()

Syntax

MP_IsPlayingV2M()

Beschreibung

The function MP_IsPlayingV2M determine if the Song is still running

Die Funktion MP_IsPlayingV2M ermittelt ob der Song noch läuft

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SetVolumeV2M()

Syntax

MP_SetVolumeV2M(Vol.f)

Beschreibung

The function MP_SetVolumeV2M set the current playback volume

Die Funktion MP_SetVolumeV2M setzt die aktuelle Wiedergabelaustärke

Parameter
Vol.f	= set the current volume level
       setzt die aktuelle Laustärke

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PickCamera()

Syntax

MP_PickCamera(camera,viewport_x,viewport_y)

Beschreibung

The command MP_PickCamera gets the identity of a 3D object from 2D screen coordinates

Der Befehl MP_PickCamera Ermittelt Identität eines 3D-Objekts anhand von 2D-Bildschirmkoordinaten

Parameter
camera	  =  identity of a camera
          Identität einer Kamera
viewport_x = x-coordinate on the 3D Screen
         X-Koordinate auf der 3D Screen
viewport_y = y-coordinate of the 3D Screen
         Y-Koordinate auf dem 3D Screen

return value
Die identität eines Meshs oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0

SetWindowTitle(0, "Picking Demo, Linke Maustaste zeigt Mesh an, rechte löscht Mesh")

cam=MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

Max = 40 ; Was der Rechner kann = ?

Dim Meshs(Max)
Dim x(Max)
Dim y(Max)
Dim z(Max)

For n = 0 To Max

      Meshs (n) = MP_CreateSphere(10)
      MP_PositionEntity (Meshs(n),10-Random(20),10-Random(20),24+Random(40))

Next n

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

    If MP_MouseButtonDown(0) ; Linke Maustaste gedrückt?

         If GetFocus_()=WindowID(0) ; Fenster aktiv?

             Meshfound = MP_PickCamera (cam,WindowMouseX(0),WindowMouseY(0))

             If Meshfound
                      MP_DrawText (100,40,$ffffff00,"Mesh "+Str(Meshfound)+" gefunden",0)

             EndIf

       EndIf
      EndIf

    If MP_MouseButtonDown(1) ; Rechte Maustaste gedrückt?

         If GetFocus_()=WindowID(0) ; Fenster aktiv?

             Meshfound = MP_PickCamera (cam,WindowMouseX(0),WindowMouseY(0))

             If Meshfound
                      MP_FreeEntity (Meshfound)
             EndIf

       EndIf
      EndIf

    MP_RenderWorld() ; Erstelle die Welt
    MP_Flip () ; Stelle Sie dar

Wend


MP_PickLine()

Syntax

MP_PickLine(x.f, y.f, z.f, pitch.f, yaw.f)

Beschreibung

The command MP_PickLine gets identity of a 3D object based on an imaginary line. Here are x, y, z ithe beginning point of the line and then an imaginary line vector in X and Y calculated degrees.

Der Befehl MP_PickLine ermittelt Identität eines 3D-Objekts anhand einer gedachten Linie. Hier sind x,y,z ist der Anfangspunkt der Linie und danach wird eine gedachte Vektorline in X und Y Grad berechnet.

Parameter
x.f	= x-coordinate as float
       X-Koordinate als Float
y.f	= y-coordinate as float
       Y-Koordinate als Float
z.f	= z-coordinate as float
       Z-Koordinate als Float
pitch.f	=  angle (in degrees) for the x-axis
        Winkel (in Grad) für die X-Achse
yaw.f	=  angle (in degrees) for the y-axis
        Winkel (in Grad) für die Y-Achse

return value
The identity of the next picked Meshes or in case of error #False
Die identität des nächsten Meshs oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "Line Picking Demo")

Camera=MP_CreateCamera() ; Kamera erstellen
MP_PositionCamera(camera, 10, 7, -30)
MP_RotateCamera (camera, 0, -18, 0)
MP_CreateLight(1) ; Es werde Licht

Cylinder =    MP_CreateCone (8,12)
MP_RotateEntity (Cylinder,270 ,0 ,0)
MP_EntitySetColor (Cylinder, $FF0000)

cube1 = MP_CreateCube()
MP_EntitySetName(cube1, "Cube1")

cube2 = MP_CreateCube()
MP_EntitySetName(cube2, "Cube2")

cube3 = MP_CreateCube()
MP_EntitySetName(cube3, "Cube3")

cube4 = MP_CreateCube()
MP_EntitySetName(cube4, "Cube4")

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

    count.f + 0.01
    MP_PositionEntity(cube1, 10, 0, Cos(count) * 10)
    MP_PositionEntity(cube2, 15, 0, Sin(count) * 10)
    MP_PositionEntity(cube3, 20, 0, Cos(count+0.785) * 10)
    MP_PositionEntity(cube4, 25, 0, Sin(count+0.785) * 10)

    picked = MP_PickLine (1, 0, 0, 90, 0) ; Rechts neben dem Objekt beginnen und dann 90 Grad nach Rechts zeigen

    If picked
         txt$ = MP_EntityGetName(picked)
         txt2$ = txt$ + " X = "+Str(MP_EntityGetX(picked))+ " Y = "+Str(MP_EntityGetY(picked))+" Z = "+Str(MP_EntityGetZ(picked))+ " Picked Entfernung = "+StrF(MP_PickedGetDistance (),2)
    Else
         txt$=""
    EndIf

    MP_DrawText (1,1,$ffffff00, txt$,0) ; mesh gefunden
    MP_DrawText (1,20,$ffffff00, txt2$,0) ; Infos über letzten Mesh

    MP_RenderWorld() ; Erstelle die Welt
    MP_Flip () ; Stelle Sie dar

Wend


MP_PickedGetDistance()

Syntax

MP_PickedGetDistance()

Beschreibung

The function returns the MP_PickedGetDistance removal of the last selected entity back. You can only use the command after calling MP_PickCamera.

Die Funktion MP_PickedGetDistance liefert die Entfernung des zuletzt ausgewählten Objekts (Entity) zurück. Dieser Befehl kann erst nach dem Befehl MP_PickCamera ausgeführt werden.

Parameter
-

return value
distance value as float or in case of error #False
Es wird ein Entfernungsweg  als Float zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0

SetWindowTitle(0, "Picking")

cam=MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

For n = 0 To 5

      Mesh = MP_CreateSphere(10)
      MP_PositionEntity (Mesh,10-Random(20),10-Random(20),24+Random(40))

Next n

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

    If MP_MouseButtonDown(0) ; Linke Maustaste gedrückt?

         If GetFocus_()=WindowID(0) ; Fenster aktiv?

             Meshfound = MP_PickCamera (cam,WindowMouseX(0),WindowMouseY(0))

             If Meshfound
                      MP_DrawText (100,40,$ffffff00,"Mesh "+Str( MP_PickedGetEntity()) +", Entfernung   "+StrF(MP_PickedGetDistance ())+", Triangle "+Str(MP_PickedGetTriangle () ),0)

             EndIf

       EndIf
      EndIf

    MP_RenderWorld() ; Erstelle die Welt
    MP_Flip () ; Stelle Sie dar

Wend


MP_PickedGetEntity()

Syntax

MP_PickedGetEntity()

Beschreibung

The function MP_PickedGetEntity returns the last selected entity.You can only use the command after calling MP_PickCamera.

Die Funktion MP_PickedGetEntity liefert das zuletzt ausgewählten Objekts (Entity) zurück. Zum Auswählen müssen den Befehle MP_PickCamera vorher ausgeführt werden.

Parameter
-

return value
entity identity or in case of an error #False
Es wird ein Entity zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0

SetWindowTitle(0, "Picking")

cam=MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

For n = 0 To 5

      Mesh = MP_CreateSphere(10)
      MP_PositionEntity (Mesh,10-Random(20),10-Random(20),24+Random(40))

Next n

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

    If MP_MouseButtonDown(0) ; Linke Maustaste gedrückt?

         If GetFocus_()=WindowID(0) ; Fenster aktiv?

             Meshfound = MP_PickCamera (cam,WindowMouseX(0),WindowMouseY(0))

             If Meshfound
                      MP_DrawText (100,40,$ffffff00,"Mesh "+Str( MP_PickedGetEntity()) +", Entfernung   "+StrF(MP_PickedGetDistance ())+", Triangle "+Str(MP_PickedGetTriangle () ),0)

             EndIf

       EndIf
      EndIf

    MP_RenderWorld() ; Erstelle die Welt
    MP_Flip () ; Stelle Sie dar

Wend


MP_PickedGetTriangle()

Syntax

MP_PickedGetTriangle()

Beschreibung

The function MP_PickedGetTriangle returns the index number of the intersected triangle of the selected entity.You can only use the command after calling MP_PickCamera.

Die Funktion MP_PickedGetTriangle liefert die Indexnummer eines Dreiecks des zuletzt ausgewählten Objekts (Entity) zurück. Zum Auswählen müssen die Befehle MP_PickCamera vorher ausgeführt werden.

Parameter
-

return value
It will return the index number of a Triangle, or in case of error #False
Es wird die Indexnummer eines Triangle zurückgeliefert oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0

SetWindowTitle(0, "Picking")

cam=MP_CreateCamera() ; Kamera erstellen
MP_CreateLight(1) ; Es werde Licht

For n = 0 To 5

      Mesh = MP_CreateSphere(10)
      MP_PositionEntity (Mesh,10-Random(20),10-Random(20),24+Random(40))

Next n

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

    If MP_MouseButtonDown(0) ; Linke Maustaste gedrückt?

         If GetFocus_()=WindowID(0) ; Fenster aktiv?

             Meshfound = MP_PickCamera (cam,WindowMouseX(0),WindowMouseY(0))

             If Meshfound
                      MP_DrawText (100,40,$ffffff00,"Mesh "+Str( MP_PickedGetEntity()) +", Entfernung   "+StrF(MP_PickedGetDistance ())+", Triangle "+Str(MP_PickedGetTriangle () ),0)

             EndIf

       EndIf
      EndIf

    MP_RenderWorld() ; Erstelle die Welt
    MP_Flip () ; Stelle Sie dar

Wend


MP_PickSprite()

Syntax

MP_PickSprite(Sprite,x1,y1,Pick_x,Pick_y)

Beschreibung

The function MP_PickSprite checks the screen Pick_x / y point and returns the color value of the impacted pixel if the sprite will be hit..

Die Funktion MP_PickSprite überprüft Pixelgenau ob sich an dem Pick_x/y Punkt ein Sprite befindet und gibt den Farbwert des getroffenen Pixels wieder

Parameter
Sprite	     =  Sprite identity
             Identität des Sprite
x1	     = x-coordinate of the sprite
            x-Koordinate des Sprite
y1	     = y-coordinate of the sprite
            y-Koordinate des Sprite
Pick_x	     = x-coordinate of the point to be checked
             x-Koordinate des zu überprüfenden Punktes
Pick_y	     = y-coordinate of the point to be checked
           y-Koordinate des zu überprüfenden Punktes

return value
Return of the Color of the impacted pixels or on error #False
Rückgabe von Color des getroffenen Pixel oder #False


MP_LoadSprite()

Syntax

MP_LoadSprite(File.s)

Beschreibung

The function MP_LoadSprite loads the specified grafic file as sprite. As graphic files BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_LoadSprite lädt die angegebene Grafikdatei als Sprite. Als Grafikdateien können BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
File.s	= graphics file as string
       Grafikdatei als String

return value
sprite identity or in case of an error #False
Identität des Sprites als Integer. Im Fehlerfall Rückgabe von #False

Beispiel

MP_Graphics3D (640,480,0,1)

Sprite   = MP_LoadSprite("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

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

         MP_TurnSprite(Sprite, 1)
         MP_DrawSprite(Sprite, 40, 40,$FF)

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_SpriteFromTexture()

Syntax

MP_SpriteFromTexture(Texture)

Beschreibung

The function MP_SpriteFromTexture generated from the specified texture a sprite

Die Funktion MP_SpriteFromTexture erzeugt aus der angegebenen Textur ein Sprite

Parameter
Textur	= texture identity
       Identität einer Textur

return value
sprite identity or in case of an error #False
Identität des Sprites als Integer. Im Fehlerfall Rückgabe von #False


MP_SpriteSetZ()

Syntax

MP_SpriteSetZ(Sprite , z.f)

Beschreibung

The command MP_SpriteSetZ sets the z-3D value, 0 is in front

Der Befehl MP_SpriteSetZ setzt den z-3D Wert, 0 is auf den Vordergrund
Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
z.f	=  0 , display front
        0,  Darstellung Front
        3D z-value as float
        3D z-Wert als float

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SpriteSetParent()

Syntax

MP_SpriteSetParent(Sprite, Parent)

Beschreibung

The function MP_SpriteGetParent sets the identity of a parent Sprite

Die Funktion MP_SpriteGetParent setzt die Identität eins ParentSprite

b>Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
Parent	= identity of the parent sprite
       Identität des Parent Sprites

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SpriteGetParent()

Syntax

MP_SpriteGetParent(Sprite)

Beschreibung

The function MP_SpriteGetParent reads the identity of the parent Sprite

Die Funktion MP_SpriteGetParent ließt die Identität des ParentSprite

b>Parameter
Sprite	= identity of a sprite
       Identität eines Sprites

return value
#False for missing or identity of the parent Sprite
#False für nicht vorhanden oder Identität des ParentSprite


MP_SpriteGetCenterX()

Syntax

MP_SpriteGetCenterX(Sprite)

Beschreibung

The function MP_SpriteGetCenterX gets the x value of the sprite center

Die Funktion MP_SpriteGetCenterX ermittelt den X Wert des Sprite Mittelpunktes

b>Parameter
Sprite	= identity of a sprite
       Identität eines Sprites

return value
X value for the center of the sprite
X Wert für den Mittelpunkt des Sprites


MP_SpriteGetCenterY()

Syntax

MP_SpriteGetCenterY(Sprite)

Beschreibung

The function MP_SpriteGetCenterY gets the y value of the sprite center

Die Funktion MP_SpriteGetCenterY ermittelt den Y Wert des Sprite Mittelpunktes

b>Parameter
Sprite	= identity of a sprite
       Identität eines Sprites

return value
y value for the center of the sprite
Y Wert für den Mittelpunkt des Sprites


MP_SpriteSetCenterX()

Syntax

MP_SpriteSetCenterX(Sprite, x.f)

Beschreibung

The function MP_SpriteSetCenterX sets the X value of the sprite center

Die Funktion MP_SpriteSetCenterX versetzt den X Wert des Sprite Mittelpunktes

b>Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
x.f	= the x position of the central point is moved by x
       Wert um den der X Mittelpunkt verschoben wird

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SpriteSetCenterY()

Syntax

MP_SpriteSetCenterY(Sprite, y.f)

Beschreibung

The function MP_SpriteSetCenterY sets the y value of the sprite center

Die Funktion MP_SpriteSetCenterY versetzt den Y Wert des Sprite Mittelpunktes

b>Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
y.f	= the y position of the central point is moved by y
       Wert um den der Y Mittelpunkt verschoben wird

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CatchSprite()

Syntax

MP_CatchSprite(Adresse, Laenge)

Beschreibung

The function MP_CatchSprite generated from an image file in memory a sprite. As graphic files BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR, and PFM can be used.

Die Funktion MP_CatchSprite erzeugt aus einer Grafikdatei die im Arbeisspeicher liegt ein Sprite. Als Grafikdateien können BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR und PFM verwendet werden.

Parameter
Adresse	= start address of the graphic file
       Anfangsadresse der Grafiikdatei
Laenge	= length of the graphics file
       Länge der Grafikdatei

return value
sprite identity or in case of an error #False
Identität des Sprites als Integer. Im Fehlerfall Rückgabe von #False

Beispiel

MP_Graphics3DWindow(30,30, 400,400 ,"", #PB_Window_SystemMenu ); Erstelle ein WindowsFenster mit 3D Funktion #Window = 0

Sprite = MP_CatchSprite(?MyData, ?EndOfMyData - ?MyData)
MP_TransparentSpriteColor(Sprite,   RGB(255,0,255))

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

      d.f + 0.1 ; Drehvariable
      MP_DrawSprite(Sprite,140,140,255)
      MP_RotateSprite(Sprite,d)

      MP_RenderWorld()
      MP_Flip ()

Wend

DataSection
   MyData:
       IncludeBinary "c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp"
   EndOfMyData:
EndDataSection


MP_DrawSprite()

Syntax

MP_DrawSprite(Sprite, x, y [, Tranzparenz [, AdFrame]])

Beschreibung

The function MP_DrawSprite represents the specified sprite at the specified coordinates (x, y) with the transparency value of 0-255.

Die Funktion MP_DrawSprite stellt das angegebene Sprite an den angegebenen Koordinaten (x,y) mit dem Transparenz-Wertvon 0-255 dar.

Parameter
Sprite	     = identity of a sprite
            Identität eines Sprites
x	     = x-coordinate of window
             x-Fenster Koordinate
y	     = y-coordinate of window
            y-Fenster Koordinate
Tranzparenz  = 0-255, from transparent to fully visible
            0-255, von durchsichtig bis voll sichtbar
AdFrame	       = frame of a animsprite
                          Frame eines Animsprites
return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1)

Sprite   = MP_LoadSprite("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

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

         MP_TurnSprite(Sprite, 1)
         MP_DrawSprite(Sprite, 40, 40,x)
         x+1

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_SpriteBlendingMode()

Syntax

MP_SpriteBlendingMode(Sprite, Source, Destination)

Beschreibung

The command MP_SpriteBlendingMode change the Blending Mode of a sprite

Der Befehl MP_SpriteBlendingMode ändert den Blending Mode iens SAprites

Parameter
Sprite	   = identity of a sprite
          Identität eines Sprites
Source	   = #D3DRS_SRCBLEND Mode = 1 to 15, see #D3DBLEND_....
          #D3DRS_SRCBLEND Mode = 1 bis 15, see #D3DBLEND_....
Destination = #D3DRS_DESTBLEND Mode = 1 to 15, see #D3DBLEND_....
           #D3DRS_DESTBLEND Mode = 1 bis 15, see #D3DBLEND_....

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

      #D3DBLEND_ZERO = 1
      #D3DBLEND_ONE = 2
      #D3DBLEND_SRCCOLOR = 3
      #D3DBLEND_INVSRCCOLOR = 4
      #D3DBLEND_SRCALPHA = 5
      #D3DBLEND_INVSRCALPHA = 6
      #D3DBLEND_DESTALPHA = 7
      #D3DBLEND_INVDESTALPHA = 8
      #D3DBLEND_DESTCOLOR = 9
      #D3DBLEND_INVDESTCOLOR = 10
      #D3DBLEND_SRCALPHASAT = 11
      #D3DBLEND_BOTHSRCALPHA = 12
      #D3DBLEND_BOTHINVSRCALPHA = 13
      #D3DBLEND_BLENDFACTOR = 14 ;/* Only supported if D3DPBLENDCAPS_BLENDFACTOR is on */
      #D3DBLEND_INVBLENDFACTOR = 15 ;/* Only supported if D3DPBLENDCAPS_BLENDFACTOR is on */
      #D3DBLEND_FORCE_DWORD = $7FFFFFFF ;/* force 32-bit size enum */


MP_CreateSprite()

Syntax

MP_CreateSprite(Width, Height)

Beschreibung

The function MP_CreateSprite creates an empty Sprite with the size Width, Height

Die Funktion MP_CreateSprite erzeugt ein leeres Sprite mit der Grösse Width, Height

b>Parameter
Width	= Width of the sprite
       Breite des Sprites
Height	= height of the sprite
       Höhe des Sprites

return value
sprite identity or in case of an error #False
Identität des Sprites als Integer. Im Fehlerfall Rückgabe von #False


MP_CopySprite()

Syntax

MP_CopySprite(Sprite)

Beschreibung

The function MP_CopySprite copy an Sprite and create a new one

Die Funktion MP_CopySprite kopiert und erzeugt damit ein neues Sprite

b>Parameter
Sprite	= original sprite
       original sprite

return value
sprite identity or in case of an error #False
Identität des Sprites als Integer. Im Fehlerfall Rückgabe von #False


MP_RotateSprite()

Syntax

MP_RotateSprite(Sprite, Rotation.f)

Beschreibung

The function MP_RotateSprite turning a sprite around the center on an absolute angle.

Die Funktion MP_RotateSprite dreht ein Sprite um die Mittelposition auf einen absolute Grad Wert.

b>Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
Rotation.f	= angle (in degrees) around the center
       Winkel (in Grad) um den Mittelpunkt

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1)

Sprite   = MP_LoadSprite("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

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

         MP_RotateSprite(Sprite, 45)
         MP_DrawSprite(Sprite, 40, 40,255)

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_ScaleSprite()

Syntax

MP_ScaleSprite(Sprite, Sx.f, Sy.f)

Beschreibung

The function MP_ScaleSprite changed the display size of a sprite.

Die Funktion MP_ScaleSprite verändert die Darstellungsgröße eines Sprites.

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
Sx.f	= size on x-axis as float, 100 is normal size
       Grösse auf X-Achse als Float, 100 ist normale Grösse
Sy.f	= size on y-axis as float, 100 is normal size
       Grösse auf Y-Achse als Float, 100 ist normale Grösse

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1)

Sprite   = MP_LoadSprite("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

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

      MP_DrawSprite(Sprite, 200, 150,255)
      MP_ScaleSprite(Sprite, 100+x, 100-x)

      x+1

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_SpriteGetTexture()

Syntax

MP_SpriteGetTexture(Sprite)

Beschreibung

The function MP_SpriteGetTexture get the identity of the texture of the sprite.

Die Funktion MP_SpriteGetTexture ermittelt die verwendete Texture eines Sprites.

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites

return value
Identity of a texture or on failure #False
Identität einer Textur oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1)

Sprite   = MP_LoadSprite("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

Debug MP_SpriteGetTexture(Sprite)


MP_SpriteSetTexture()

Syntax

MP_SpriteSetTexture(Sprite, Texture)

Beschreibung

The function MP_SpriteSetTexture replaces a texture of a sprite with a different texture.

Die Funktion MP_SpriteSetTexture ersetzt eine Texture eines Sprites durch eine andere Textur.

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
Texture	= identity of a texture
       Identität einer Textur

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1)

If CreateImage(0, 255, 255)
      StartDrawing(ImageOutput(0))
      For k=0 To 255
         FrontColor(RGB(k,0, k))   ; a rainbow, from black to pink
         Line(0, k, 255, 0)
      Next
      DrawingMode(#PB_2DDrawing_Transparent)
      FrontColor(RGB(255,255,255)) ; print the text to white !
      DrawText(40, 50, "An image created easely...")
      StopDrawing()

EndIf

Texture = MP_ImageToTexture(0)
Sprite   = MP_SpriteFromTexture(Texture)

Texture2 = MP_LoadTexture("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

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

      MP_TurnSprite(Sprite, 1)
      MP_DrawSprite(Sprite, 40, 40,$FF)

      x+1

      If x = 30
          MP_SpriteSetTexture(Sprite, Texture)
      ElseIf x=60
         MP_SpriteSetTexture(Sprite, Texture2)
         x=0
      EndIf

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_TransparentSpriteColor()

Syntax

MP_TransparentSpriteColor(Sprite, RGB)

Beschreibung

The function MP_TransparentSpriteColor replaces the transparent color of a sprite, default is RGB (0,0,0).

Die Funktion MP_TransparentSpriteColor ersetzt die durchsichtige Farbe eines Sprites, Standard ist RGB(0,0,0).

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
RGB	= RGB color value
       Farbwert als Integer

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1)

Sprite   = MP_LoadSprite("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

MP_TransparentSpriteColor(Sprite, RGB(255,0,255)) ; Pink wird durchsichtig

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

      MP_TurnSprite(Sprite, 1)
      MP_DrawSprite(Sprite, 40, 40,$FF)

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_DrawTiledSprite()

Syntax

MP_DrawTiledSprite(Sprite, Pos_x, Pos_y)

Beschreibung

The function MP_DrawTiledSprite textured the entire graphics area with a sprite

Die Funktion MP_DrawTiledSprite texturiert den kompletten Grafikbereich mit einem Sprite

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
Pos_x	= x start position of the sprite
       Positionsbegin des Sprites als x Wert
Pos_y	= y start position of the sprite
       Positionsbegin des Sprites als y Wert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_TurnSprite()

Syntax

MP_TurnSprite(Sprite, Rotation.f)

Beschreibung

The function MP_RotateSprite turning a sprite around the center on an relative angle.

Die Funktion MP_TurnSprite dreht ein Sprite um die Mittelposition um einen relativen Grad Wert.

b>Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
Rotation.f	= angle (in degrees) around the center
       Winkel (in Grad) um den Mittelpunkt

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1)

Sprite   = MP_LoadSprite("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

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

         MP_TurnSprite(Sprite, 1)
         MP_DrawSprite(Sprite, 40, 40,$FF)

      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_FreeSprite()

Syntax

MP_FreeSprite(Sprite)

Beschreibung

The function MP_FreeSprite delete a sprite.

Die Funktion MP_FreeSprite löschte ein Sprite.

b>Parameter
Sprite	= identity of a sprite
       Identität eines Sprites

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,1)

Sprite   = MP_LoadSprite("c:\Programme\PureBasic\Examples\Sources\Data\Geebee2.bmp")

Debug MP_FreeSprite(Sprite)


MP_SpriteCollision()

Syntax

MP_SpriteCollision(Sprite1,x1,y1,Sprite2,x2,y2)

Beschreibung

The function tests whether two sprites MP_SpriteCollision overlap. This is a simple rectangle comparison.

Die Funktion MP_SpriteCollision testet ob sich zwei Sprites überlappen. Es handelt sich hierbei um einen einfachen Rechteckvergleich.

Parameter
Sprite1	= identity of sprite1
       Identität des Sprites1
x1	= x-coordinate of the first sprites
      x-Koordinate des ersten Sprites
y1	= y-coordinate of the first sprites
       y-Koordinate des ersten Sprites
Sprite2	=  identity of sprite2
        Identität des zweiten Sprites
x2	= x-coordinate of the second sprites
       x-Koordinate des zweiten Sprites
y2	= y-coordinate of the second sprites
      y-Koordinate des zweiten Sprites

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SpritePixelCollision()

Syntax

MP_SpritePixelCollision(Sprite1, x1, y1, Sprite2, x2, y2 [, Mod [, dbug]])

Beschreibung

The function MP_SpritePixelCollision tests whether two sprites overlap. There are three different collisions check.

Die Funktion MP_SpritePixelCollision testet ob sich zwei Sprites Pixelüberlappen. Es handelt sich hierbei um verschiedene Methoden anhand von transparenter Pixel.

Parameter
Sprite1	= identity of sprite1
       Identität des Sprites1
x1	= x-coordinate of the first sprites
      x-Koordinate des ersten Sprites
y1	= y-coordinate of the first sprites
       y-Koordinate des ersten Sprites
Sprite2	=  identity of sprite2
        Identität des zweiten Sprites
x2	= x-coordinate of the second sprites
       x-Koordinate des zweiten Sprites
y2	= y-coordinate of the second sprites
      y-Koordinate des zweiten Sprites
Mod	= 0, checked whether the square shape of Sprites2 colliding with pixel of sprite1. The graphics of Sprite1 is calculated only once per pass -Standard
       1, checked whether the square shape of Sprites2 colliding with pixel of sprite1. The graphics of Sprite1 is calculated per call .
       2, checked whether the square shape of Sprites2 colliding with pixel of sprite1. The graph is calculated without turning an parent function
       3, true pixel pixel test. Rotations, parent sprite and recalculation per call will checked
       0, Es wird überprüft ob die kollidierende Rechteckform des Sprites2 auf Pixel von Sprites 1 trifft. Die Grafik von Sprite1 wird nur einmal pro Durchgang berechnet
       1, Es wird überprüft ob die kollidierende Rechteckform des Sprites2 auf Pixel von Sprites 1 trifft. Die Grafik von Sprite1 wird pro Befehlsaufruf berechnet
                   2, Es wird überprüft ob die kollidierende Rechteckform des Sprites2 auf Pixel von Sprites 1 trifft, Die Grafik wird ohne Drehungen und Parent berechnet
                   3, Echte Pixel Pixel Prüfung mit Drehungen , Parent Sprite und Neuberechnung pro Aufruf
dbug	= show collissions line only for debug
       zeigt kollisionslinien für debugging

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_DrawFrameSprite()

Syntax

MP_DrawFrameSprite(Sprite, x, y , Frame ,Tranzparenz)

Beschreibung

The function MP_DrawFrameSprite shows a frame of a previously divided MP_SpriteSetAnimate sprite at the specified coordinates (x, y) with the transparency Wertvon 0-255 dar.

Die Funktion MP_DrawFrameSprite stellt ein Frame eines vorher mit MP_SpriteSetAnimate unterteilten Sprites an den angegebenen Koordinaten (x,y) mit dem Transparenz-Wertvon 0-255 dar.

Parameter
Sprite	      = identity of a sprite
            Identität eines Sprites
x	     = x-coordinate of window
             x-Fenster Koordinate
y	     = y-coordinate of window
           y-Fenster Koordinate
Frame	     = Frame which is to be presented
            Frame welches dargestellt werden soll
Tranzparenz = 0-255, from transparent to fully visible
           0-255, von durchsichtig bis voll sichtbar

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_DrawRectSprite()

Syntax

MP_DrawRectSprite(Sprite,x,y,x1,y1,width,height,transparency)

Beschreibung

The function MP_DrawRectSprite represents only a section of a sprite at the specified coordinates (x, y) with the transparency value of 0-255

Die Funktion MP_DrawRectSprite stellt nur ein Ausschnit eines Sprites an den angegebenen Koordinaten (x,y) mit dem Transparenz-Wertvon 0-255 dar.

Parameter
Sprite	     = identity of a sprite
            Identität eines Sprites
x	     = x-coordinate of window
             x-Fenster Koordinate
y	     = y-coordinate of window
           y-Fenster Koordinate
x1	     = x-coordinate where the section begins
            x-Koordinate wo der Ausschnitt beginnt
y1	     = y-coordinate where the section begins
            y-Koordinate wo der Ausschnitt beginnt
Width	     = Width of the cut
            Breite des Ausschnitts
Height	     = Height of the cut
            Höhe des Ausschnitts
Tranzparenz = 0-255, from transparent to fully visible
           0-255, von durchsichtig bis voll sichtbar

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SpriteGetFrame()

Syntax

MP_SpriteGetFrame(Sprite)

Beschreibung

The function MP_SpriteGetFrame returns the active frame of an animated sprite.

Die Funktion MP_SpriteGetFrame gibt den Frame wieder den ein animiertes Sprite gerade durchläuft.

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites

return value
Frame or in case of error #False
Frame oder im Fehlerfall #False


MP_SpriteGetHeight()

Syntax

MP_SpriteGetHeight(Sprite)

Beschreibung

The function MP_SpriteGetHeight gets the height of a sprite.

Die Funktion MP_SpriteGetHeight ermittelt die Höhe eines Sprites.

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites

return value
Height of the sprite, or in case of an error #False
Höhe des Sprites oder im Fehlerfall #False


MP_SpriteGetWidth()

Syntax

MP_SpriteGetWidth(Sprite)

Beschreibung

The function MP_SpriteGetWidth gets the width of a sprite.

Die Funktion MP_SpriteGetWidth ermittelt die Breite eines Sprites.

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites

return value
Width of the sprite, or in case of error #False
Breite des Sprites oder im Fehlerfall #False


MP_SpriteSetAnimate()

Syntax

MP_SpriteSetAnimate(Sprite ,Frames ,FramePerSecond ,Width ,Height)

Beschreibung

The function MP_SpriteSetAnimate sets the parameters of an animated sprite.

Die Funktion MP_SpriteSetAnimate setzt die Parameter eines animierten Sprites.

Parameter
Sprite		= identity of a sprite
              Identität eines Sprites
Frames		= number of frames of the animated sprite
            Anzahl der Frames die das animierte Sprite besitzt
FramePerSecond	= number of frames shown per second
             Anzahl der Frames die pro Sekunde dargestellt wird
Width		= width of each frame
           Breite des einzelnen Frame
Height		= height of each frame
           Höhe des einzelnen Frame

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SpriteSetAnimdirection()

Syntax

MP_SpriteSetAnimdirection(Sprite , direction)

Beschreibung

The function sets MP_SpriteSetAnimdirection flow direction of the sprite.

Die Funktion MP_SpriteSetAnimdirection setzt Durchlaufrichtung der Sprites.

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
direction	= 1, frames to run forward
      -1, Frames run backwards
       1, Frames laufen Vorwärts
      -1, Frames laufen Rückwärts

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SpriteSetFrame()

Syntax

MP_SpriteSetFrame(Sprite ,Frame)

Beschreibung

The function MP_SpriteSetFrame activate a frame of an animated sprite.

Die Funktion MP_SpriteSetFrame setzt den Frame den ein animiertes Sprite habe soll.

Parameter
Sprite	= identity of a sprite
       Identität eines Sprites
Frame	= Frame to activation
       Frame welches dargestellt werden soll

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_LoadSound()

Syntax

MP_LoadSound(File.s)

Beschreibung

The function MP_LoadSound load a wave file

Die Funktion MP_LoadSound lädt eine Wavedatei

Parameter
File.s	= name of the wave file as a string
       Name der Wavedatei als String

return value
sound identity or in case of an error #False
Identität des Sounds als Integer. Im Fehlerfall Rückgabe von #False


MP_CatchSound()

Syntax

MP_CatchSound(Adresse)

Beschreibung

The function MP_CatchSound load a wave file from memory .

Die Funktion MP_CatchSound lädt eine Wavedatei aus dem Arbeitsspeicher

Parameter
Memory	= memory address of a wave files
       Speicheradresse eines Wavefiles

return value
sound identity or in case of an error #False
Identität des Sounds als Integer. Im Fehlerfall Rückgabe von #False


MP_FreeSound()

Syntax

MP_FreeSound(Sound)

Beschreibung

The function MP_FreeSound deletes a sound.

Die Funktion MP_FreeSound löscht einen Sound.

Parameter
Sound	= identity of a sound
       Identität eines Sounds

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PlaySound()

Syntax

MP_PlaySound(Sound [, Loop])

Beschreibung

The function MP_PlaySound play a sound

Die Funktion MP_PlaySound gibt einen Sound wieder

Parameter
Sound	= identity of a sound
       Identität eines Sounds

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_ResumeSound()

Syntax

MP_ResumeSound(Sound)

Beschreibung

The function MP_ResumeSound resume to play a sound

Die Funktion MP_ResumeSound gibt einen Sound weiter wieder

Parameter
Sound	= identity of a sound
       Identität eines Sounds

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_PauseSound()

Syntax

MP_PauseSound(Sound)

Beschreibung

The function MP_PauseSound stops the playback of a sound

Die Funktion MP_PauseSound hält die Wiedergabe eines Sounds an

Parameter
Sound	= identity of a sound
       Identität eines Sounds

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_StopSound()

Syntax

MP_StopSound(Sound)

Beschreibung

The function MP_StopSound stops playback of a sound

Die Funktion MP_StopSound beendet die Wiedergabe eines Sounds

Parameter
Sound	= identity of a sound
       Identität eines Sounds

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SoundGetPosition()

Syntax

MP_SoundGetPosition(Sound)

Beschreibung

The function MP_SoundGetPosition gets the current position of the sound

Die Funktion MP_SoundGetPosition ermittelt die aktuelle Soundposition

Parameter
Sound	= identity of a sound
       Identität eines Sounds

return value
sound position in bytes, or when sound is not running #False
Soundposition in Bytes, oder wenn Sound nicht läuft #False


MP_SoundSetPosition()

Syntax

MP_SoundSetPosition(Sound, Position)

Beschreibung

The function MP_SoundSetPosition sets the position to be played from in bytes

Die Funktion MP_SoundSetPosition setzt die Position ab der wiedergegeben werden soll in Bytes

Parameter
Sound	= identity of a sound
       Identität eines Sounds
Position 	= sound position to be played from
       Position ab der wiedergegeben werden soll

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SoundGetFrequency()

Syntax

MP_SoundGetFrequency(Sound)

Beschreibung

The function MP_SoundGetFrequency gets the current frequency of the sound

Die Funktion MP_SoundGetFrequency ermittelt die aktuelle Frequenz des Sounds

Parameter
Sound	= identity of a sound
       Identität eines Sounds

return value
Frequency of the sound or in case of error #False
Frequenz des Sounds oder im Fehlerfall #False


MP_SoundSetFrequency()

Syntax

MP_SoundSetFrequency(Sound, Frequency)

Beschreibung

The function MP_SoundGetFrequency sets the current frequency of the sound

Die Funktion MP_SoundSetFrequency setzt die aktuelle Frequenz des Sounds

Parameter
Sound	= identity of a sound
       Identität eines Sounds

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SoundSetVolume()

Syntax

MP_SoundSetVolume(Sound, Percent)

Beschreibung

The function MP_SoundSetVolume sets the sound volume between 0-100

Die Funktion MP_SoundSetVolume setzt die Sound Lautstärke von 0 - 100

Parameter
Sound	= identity of a sound
       Identität eines Sounds
Percent 	= indication 0-100%
       Angabe von 0 - 100%

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SoundSetPan()

Syntax

MP_SoundSetPan(Sound, Balance)

Beschreibung

The function MP_SoundSetPan sets the Pan of a sound

Die Funktion MP_SoundSetPan setzt den Pan eines Sounds

Parameter
Sound	= identity of a sound
       Identität eines Sounds
Level 	= -100 (left), 0 (middle), 100 (Right)
       -100 (Links), 0 (Mitte), 100 (Rechts)

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_LoadAnimMesh()

Syntax

MP_LoadAnimMesh(Files.s)

Beschreibung

The function MP_LoadAnimMesh loads an animated DirectX Mesh

Die Funktion MP_LoadAnimMesh lädt ein animiertes DirectX Mesh

Parameter
File.s	= AnimMeshdatei as String
       AnimMeshdatei als String

return value
AnimMesh identity or in case of an error #False
Identität des AnimMesh als Integer. Im Fehlerfall Rückgabe von #False


MP_SaveAnimMesh()

Syntax

MP_SaveAnimMesh(AnimMesh, Filename.s)

Beschreibung

The function MP_SaveAnimMesh save an animated DirectX Mesh

Die Funktion MP_SaveAnimMesh speichert ein animiertes DirectX Mesh

Parameter
AnimMesh = identity of an anim mesh
        Identität des animierten DirectX Meshs
Filename.s = AnimMeshdatei as String
        AnimMeshdatei als String

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CatchAnimMesh()

Syntax

MP_CatchAnimMesh(Adresse, Laenge)

Beschreibung

The function MP_CatchAnimMesh loads an animated mesh DirectX from memory for immediate use. The used mesh texture should have been previously loaded into the memory as textur

Die Funktion MP_CatchAnimMesh lädt ein animiertes DirectX Mesh aus dem Arbeitsspeicher zur sofortigen Verwendung. Hier sollte aber die verwendete Mesh-Textur vorher in den Arbeistspeicher geladen worden sein

Parameter
Adresse	= memory address of the animated DirectX Meshes
       Startadresse des animierten DirectX Meshs
Laenge	= size of the animated DirectX Meshes
       Groesse des animierten DirectX Meshs

return value
AnimMesh identity or in case of an error #False
Identität des AnimMesh als Integer. Im Fehlerfall Rückgabe von #False


MP_GetAnimationSetName()

Syntax

MP_GetAnimationSetName(AnimMesh,index)

Beschreibung

The function MP_GetAnimationSetName reads the AnimatinSets name of the index of an animatedDirectX Meshes.

Die Funktion MP_GetAnimationSetName ließt den Namen des AnimationSets mit Index eines animiertes DirectX Meshs aus.

Parameter
AnimMesh = identity of an anim mesh
        Identität des animierten DirectX Meshs
index 	 = number of the AnimationSets
       Nummer des AnimationSets

return value
Name of AnimationSets or an error message as a string
Name des AnimationSets oder Fehlermeldung als String


MP_SetAnimationSet()

Syntax

MP_SetAnimationSet(AnimMesh , index)

Beschreibung

The function MP_SetAnimationSet activated a AnimationSets with an index of an animated DirectX mesh.

Die Funktion MP_SetAnimationSet aktiviert einen AnimationSets mit Index eines animiertes DirectX Meshs.

Parameter
AnimMesh = identity of an anim mesh
        Identität des animierten DirectX Meshs

index 	 = number of the AnimationSets
        Nummer des AnimationSets

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_AnimateFaster()

Syntax

MP_AnimateFaster(AnimMesh)

Beschreibung

The function MP_AnimateSlower accelerates the animation time an animated DirectX mesh.

Die Funktion MP_AnimateFaster beschleunigt die Animationszeit eines animiertes DirectX Meshs.

Parameter
AnimMesh = identity of an anim mesh
        Identität des animierten DirectX Meshs

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_AnimateSlower()

Syntax

MP_AnimateSlower(AnimMesh)

Beschreibung

The function MP_AnimateSlower slows the animation time an animated DirectX mesh.

Die Funktion MP_AnimateSlower verlangsamt die Animationszeit eines animiertes DirectX Meshs.

Parameter
AnimMesh = identity of an anim mesh
        Identität des animierten DirectX Meshs

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CountAnimateSets()

Syntax

MP_CountAnimateSets(AnimMesh)

Beschreibung

The function MP_CountAnimateSets count the numbers of AnimationSets of an animated DirectX mesh.

Die Funktion MP_CountAnimateSets zählt die Anzahl der AnimationSets eines animiertes DirectX Meshs aus.

Parameter
AnimMesh = identity of an anim mesh
        Identität des animierten DirectX Meshs

return value
Number of animation sets or an error #False
Anzahl der AnimationSets oder Im Fehlerfall #False


MP_NextAnimationSet()

Syntax

MP_NextAnimationSet(AnimMesh)

Beschreibung

The function MP_NextAnimationSet activates the next AnimationSets of an animated DirectX mesh.

Die Funktion MP_NextAnimationSet aktiviert das nächste AnimationSets eines animiertes DirectX Meshs.

Parameter
AnimMesh = identity of an anim mesh
        Identität des animierten DirectX Meshs

return value#
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CreatePrimitives()

Syntax

MP_CreatePrimitives(VertexCount, Modus)

Beschreibung

The function MP_CreatePrimitives creates Primitives with Vertex Count numbers of elements. The Primitives are generated as point, line or triangle

Die Funktion MP_CreatePrimitives erzeugt eine Primitives mit VertexCount Anzahl von Elementen. Das Primitives wird als Punkt, Line oder Dreieck erzeugt

Parameter
VertexCount = number of vertex elements
           Anzahl der VertexElemente
Modus	    = 1, POINTLIST (single points / einzelne Punkte)
           2,  LINELIST (single lines / einzelen Linien)
           3, LINESTRIP (continuous lines / zusammenhängende Linien)
           4, TRIANGLELIST (single triangles / einzelne Dreiecke)
           5, TRIANGLESTRIP (connected triangles / zusammenhängende Dreiecke)
           6, TRIANGLEFAN (fan made of triangles / Fächer aus Dreiecken)

return value#
Primitives identity or in case of an error #False
Identität des Primitives oder Im Fehlerfall #False

Beispiel

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

camera=MP_CreateCamera() ; Kamera erstellen

Entity = MP_CreatePrimitives (6, 2)
MP_EntitySetZ (Entity, 8)

MP_SetPrimitives(Entity, 0,   0, 2, 0,   $FFFFFFFF)
MP_SetPrimitives(Entity, 1,   0, -2, 0, $FF0000FF)
MP_SetPrimitives(Entity, 2,   -2, 0, 0, $FF00FF00)
MP_SetPrimitives(Entity, 3, 2, 0, 0,    $FF00FFFF)
MP_SetPrimitives(Entity, 4, 0, 0, 2,    $FFFF0000)
MP_SetPrimitives(Entity, 5, 0, 0, -2,   $FFFF00FF)

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

      MP_TurnEntity (Entity,0.1,0.1,0.1) ; dreh den Würfel
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_SetPrimitives()

Syntax

MP_SetPrimitives(Entity, Vertex, x.f, y.f, z.f, Color [, Size.f])

Beschreibung

The function MP_SetPrimitives sets each vertex of the primitive with x, y, z and color value

Die Funktion MP_SetPrimitives setzt die einzelnen Vertexe des Primitives mit x,y,z und Color Wert

b>Parameter
Entity	=  Identity of a Primitives
        Identität des Primitives
Vertex	=  Vertex of the Primitives, starts with 0 and ends with (Vertex Count - 1)
       Vertex des Primitives, Beginnt mit 0 und endet mit (VertexCount - 1)
x.f	= x-coordinate as float
       X-Koordinate als Float
y.f	= x-coordinate as float
      y-Koordinate als Float
z.f	= z-coordinate as float
      z-Koordinate als Float
Color	= 8-bit value of alpha, red, green and blue value. Can be generated from MP_ARGB (a, r, g, b)
       Wert aus 8 bit Alpha, Rot, Grün und Blau Wert. Kann z.B. aus MP_ARGB(a,r,g,b) erzeugt werden
Size.f	= size of points of a point-primitives
      Grösse er Punkte bei einem Point-Primitives

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

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

camera=MP_CreateCamera() ; Kamera erstellen

Entity = MP_CreatePrimitives (6, 2)
MP_EntitySetZ (Entity, 8)

MP_SetPrimitives(Entity, 0,   0, 2, 0,   $FFFFFFFF)
MP_SetPrimitives(Entity, 1,   0, -2, 0, $FF0000FF)
MP_SetPrimitives(Entity, 2,   -2, 0, 0, $FF00FF00)
MP_SetPrimitives(Entity, 3, 2, 0, 0,    $FF00FFFF)
MP_SetPrimitives(Entity, 4, 0, 0, 2,    $FFFF0000)
MP_SetPrimitives(Entity, 5, 0, 0, -2,   $FFFF00FF)

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

      MP_TurnEntity (Entity,0.1,0.1,0.1) ; dreh den Würfel
      MP_RenderWorld() ; Erstelle die Welt
      MP_Flip () ; Stelle Sie dar

Wend


MP_LoadPrimitives()

Syntax

MP_LoadPrimitives(File.s)

Beschreibung

The function MP_LoadPrimitives load a Primitives form a file

Die Funktion MP_LoadPrimitives lädt ein Primitves aus einer Datei

Parameter
files.s = filename to load
            Dateinamen zum laden

return value#
Primitives identity or in case of an error #False
Identität des Primitives oder Im Fehlerfall #False


MP_CatchPrimitives()

Syntax

MP_CatchPrimitives(Memory , SizeOfMemory)

Beschreibung

The function MP_CatchPrimitives load a primitives from memory

Die Funktion MP_CatchPrimitives lädt ein Primitives aus dem Memory

Parameter
Memoy             = Memoryadress of the Primities
                           Speicheradresse des Primities
SizeOfMemory = size of memory
                          Grösse des Primitives

return value#
Primitives identity or in case of an error #False
Identität des Primitives oder Im Fehlerfall #False


MP_SavePrimitives()

Syntax

MP_SavePrimitives(Entity, File.s)

Beschreibung

The function MP_SavePrimitives save a Primitives to a file

Die Funktion MP_SavePrimitives speichert ein Primitves in eine Datei

Parameter
Entity	=  Identity of the Primitives
        Identität des Primitives
files.s        = filename to save
                    Dateinamen zum speichern

return value#
Primitives identity or in case of an error #False
Identität des Primitives oder Im Fehlerfall #False


MP_PrimitivesBlendingMode()

Syntax

MP_PrimitivesBlendingMode(Entity, Source, Destination)

Beschreibung

The command MP_PrimitivesBlendingMode change the Blending Mode of a Primitives

Der Befehl MP_PrimitivesBlendingMode ändert den Blending Mode eines Primitives

Parameter
Entity	   = identity of a primitives
          Identität eines Primitives
Source	   = #D3DRS_SRCBLEND Mode = 1 to 15, see #D3DBLEND_....
          #D3DRS_SRCBLEND Mode = 1 bis 15, see #D3DBLEND_....
Destination = #D3DRS_DESTBLEND Mode = 1 to 15, see #D3DBLEND_....
           #D3DRS_DESTBLEND Mode = 1 bis 15, see #D3DBLEND_....

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_GetPrimitives()

Syntax

MP_GetPrimitives(Entity, Vertex)

Beschreibung

The function MP_GetPrimitives reads a vertex of a primitives

Die Funktion MP_GetPrimitives ließt eien Vertex eines Primitives aus

b>Parameter
Entity	=  Identity of a Primitives
        Identität des Primitives
Vertex	=  Vertex of the Primitives, starts with 0 and ends with (Vertex Count - 1)
       Vertex des Primitives, Beginnt mit 0 und endet mit (VertexCount - 1)

return value
*Pointer of Vertexstructure or #False on failure
*Pointer der Vertexstruktur im Fehlerfall #False


MP_GetMemPrimitives()

Syntax

MP_GetMemPrimitives(Entity)

Beschreibung

The function MP_GetMemPrimitives reads the memorybuffer of the vertexe of a primitives

Die Funktion MP_GetPrimitives ließt den Speicherbereich der Vertexe eines Primitives aus

b>Parameter
Entity	=  Identity of a Primitives
        Identität des Primitives

return value
*Pointer to memmorybuffer of the vertexe or #False on failure
*Pointer des Memmorybereiches des Vertexbuffers oder im Fehlerfall #False


MP_CloseMemPrimitives()

Syntax

MP_CloseMemPrimitives(Entity)

Beschreibung

The function MP_CloseMemPrimitives close the vertex memorybuffer of a primitives

Die Funktion MP_CloseMemPrimitives schließt den Speicherbereich eines Memmorybuffers

b>Parameter
Entity	=  Identity of a Primitives
        Identität des Primitives

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SizeMemPrimitives()

Syntax

MP_SizeMemPrimitives(Entity)

Beschreibung

The function MP_SizeMemPrimitives read the size of the vertex memorybuffer of a primitives

Die Funktion MP_SizeMemPrimitives ließt die Länge des Vertex Memmorybuffers

b>Parameter
Entity	=  Identity of a Primitives
        Identität des Primitives

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_SetPixel()

Syntax

MP_SetPixel(x,y,color)

Beschreibung

MP_SetPixel lets you draw colored points on screen.

Die Funktion MP_SetPixel setzt einen Farb-Punkt auf den DX9 Screen

Parameter
x	= the x - position on screen
       die x Position des Screens
y	= The y - position on screen
       die y Position y des Screens
Color	= The point color to be used, defined by an RBG color value
       Farbe des Punktes als RGB Wert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640, 480, 0, 2) ; Create a new 3D screen
SetWindowTitle(0, "2D Point test") ; Name title for Window

Repeat
   event = WindowEvent()

   For x = 0 To 800
          color.i = MP_RandomInt(150, 250)
          MP_SetPixel(MP_RandomInt(0,639), MP_RandomInt(0, 479), RGB(color,color,color))
   Next x

   MP_RenderWorld()
   MP_Flip()
Until MP_KeyDown(#PB_Key_Escape) ; Keep looping until Escape key gets pressed
End


MP_GetPixel()

Syntax

MP_GetPixel(x,y)

Beschreibung

The function MP_GetPixe reads a color point of the screen

Die Funktion MP_SurfaceGetPixel ließt einen Farb-Punkt von dem Screen

Parameter
x	= point at x position of the screen
       Punkt an Position x des Screens
y	= point at y position of the screen
       Punkt an Position y des Screens

return value
The RGB color value of x,y on screen
If the function fails, the return value will contain #False
Farbwert als RGB Wert oder im Fehlerfall #False

Beispiel

MP_Graphics3DWindow(50,50,640,480,"MP Get_Pixel() Test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)          ; Create a new 3D screen
camera=MP_CreateCamera() ; Create camera
light=MP_CreateLight(0) ; Lights on

If CreateImage(0, 256, 256,32)
   MP_CreateImageColored(0, 0, #Yellow, #Blue, #Red, #Green)
   Surface = MP_ImageToSurface(0)
   FreeImage(0)
   MP_SurfaceSetPosition(Surface, 0, 0, 1)
   MP_SurfaceDestRect(Surface,0, 0, 640, 480)
EndIf

Repeat
; Draw boxes of different sizes, colors
   event = WindowEvent()
   colorval = MP_GetPixel(WindowMouseX(0), WindowMouseY(0))
   Debug "RGB Color: " + "(" + MP_Red(colorval) + "," + MP_Green(colorval) + "," + MP_Blue(colorval) + ")"
   MP_RenderWorld()
   MP_Flip()
Until MP_KeyDown(#PB_Key_Escape) Or event = #PB_Event_CloseWindow; Keep looping until Escape key gets pressed or window closes
End


MP_Box()

Syntax

MP_Box(x, y, Width, Height, Color [, Type])

Beschreibung

Draws a box either filled or not filled on screen.

Die Funktion MP_Box setzt ein ungefüllte/gefüllte Box auf den Screen

Parameter
x	= x-startpoint of the box on screen
       x-Startpunkt der Box auf dem Screen
y	= y-startpoint of the box on screen
       y-Startpunkt der Box auf dem Screen
Width	= x-width of the box on screen
       x-Breite der Box auf dem Screen
Height	= x-height of the box on screen
       y-Breite der Box auf dem Screen
Color	= The color defined by an RGB value
       Farbe der Box als RGB Wert
Type	= Defines whether the box should be filled or not filled.
       Definiert ob die Box gefüllt ist oder nicht
                   0 - unfilled
       0 ungefüllt
       1 - filled
       1 - gefüllt

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2) ; Create a new 3D screen
SetWindowTitle(0, "2D Box test") ; Name title for Window
camera=MP_CreateCamera() ; Create camera
light=MP_CreateLight(0) ; Lights on
Repeat
   event = WindowEvent()
   ; Draw boxes of different sizes, colors
   MP_Box(MP_RandomInt(0, 540), MP_RandomInt(0, 400), MP_RandomInt(10, 80), MP_RandomInt(10, 80), RGB(MP_RandomInt(50, 255), MP_RandomInt(50, 255), MP_RandomInt(50, 255)), MP_RandomInt(0,1))
   MP_RenderWorld()
   MP_Flip()
Until MP_KeyDown(#PB_Key_Escape) Or event = #PB_Event_CloseWindow ; Keep looping until Escape key gets pressed or window is closed
End


MP_Circle()

Syntax

MP_Circle(x, y, Radius, Color [, Type])

Beschreibung

Draws a circle either filled or not filled on screen.

Die Funktion MP_Circle setzt einen ungefüllte/gefüllte Kreis auf den Screen

Parameter
x	= x-startpoint of the circle on screen
       x-Startpunkt des Kreises auf dem Screen
y	= y-startpoint of the circle on screen
       y-Startpunkt des Kreises auf dem Screen
Radius	= radius of the circle on screen
       Radius des kreises auf dem Screen
Color	= The color defined by an RGB value
       Die Farbe des Kreises als RGB Wert
Type	= Defines whether the box should be filled or not filled.
       Definiert ob die Box gefüllt ist oder nicht
                   0 - unfilled
       0 ungefüllt
       1 - filled
       1 - gefüllt

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640,480,0,2) ; Create a new 3D Window
SetWindowTitle(0, "2D Circle test") ; Name title for Window

camera=MP_CreateCamera() ; Create camera
light=MP_CreateLight(0) ; Lights on

Repeat
   event = WIndowEvent()
   ; Draw circles of different sizes, colors
   MP_Circle(MP_RandomInt(0, 540), MP_RandomInt(0, 400), MP_RandomInt(10, 80), RGB(MP_RandomInt(50, 255), MP_RandomInt(50, 255), MP_RandomInt(50, 255)), MP_RandomInt(0,1))
   MP_RenderWorld()
   MP_Flip()
Until MP_KeyDown(#PB_Key_Escape) or event = #PB_Event_CloseWindow; Keep looping until Escape key gets pressed
End


MP_Line()

Syntax

MP_Line(x,y, Width, Height,color)

Beschreibung

MP_Line draws a line on screen.

Die Funktion MP_Line setzt ein Linie auf den Screen

Parameter
x	= x-startpoint of the line on screen
       x-Startpunkt der Linie auf dem Screen
y	= y-startpoint of the line on screen
       y-Startpunkt der Linie auf dem Screen
Width	= x-width of the line on screen
       x-Breite der Linie auf dem Screen
Height	= x-height of the line on screen
       y-Breite der Linie auf dem Screen
Color	= The color of the line defined by an RGB value
        Die Farbe der Line als RGB Wert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

See also MP_LineXY() function

Beispiel

MP_Graphics3D (640, 480, 0, 2) ; Create a new 3D screen
SetWindowTitle(0, "2D Line test") ; Name title for Window

camera=MP_CreateCamera() ; Create camera
light=MP_CreateLight(0) ; Lights on

lnum = 0

Repeat
   event = WindowEvent()
   ; Draw lines of different colors
   MP_Line(0, 0, 640, lnum, RGB(MP_RandomInt(50, 255), MP_RandomInt(50, 255), MP_RandomInt(50, 255)))
   If lnum > 480
          lnum = 0
      Else
          lnum + 4
   EndIf
   MP_RenderWorld()
      MP_Flip()
Until MP_KeyDown(#PB_Key_Escape) ; Keep looping until Escape key gets pressed
End


MP_LineXY()

Syntax

MP_LineXY(x1,y1, x2, y2,color)

Beschreibung

MP_Line is used to draw a straight line between two (x,y) points on screen.

Die Funktion MP_LineXY setzt ein Linie zwischen zwei Punkten auf den Screen

Parameter
x1	= x1-startpoint of the line on screen
       x1-Startpunkt der Linie auf dem Screen
y1	= y1-startpoint of the line on screen
       y1-Startpunkt der Linie auf dem Screen
x2	= x2-endpoint of the line on screen
       x2-Endpunkt der Linie auf dem Screen
y2	= y2-endpoint of the line on screen
       y2-Endpunkt der Linie auf dem Screen
Color	= The line color to be used, defined by an RGB color value.
       Die Farbe der Linie als RGB Wert

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

MP_Graphics3D (640, 480, 0, 2) ; Create a new 3D screen
SetWindowTitle(0, "2D LineXY test") ; Name title for Window

camera=MP_CreateCamera() ; Create camera
light=MP_CreateLight(0) ; Lights on

lnum = 0
Repeat
   event = WindowEvent()
   ; Draw lines of different colors
   MP_LineXY(0, lnum, 640, lnum, RGB(MP_RandomInt(50, 255), MP_RandomInt(50, 255), MP_RandomInt(50, 255)))
   If lnum > 480 : lnum = 0 : Else : lnum + 4 : EndIf
   MP_RenderWorld()
   MP_Flip()
Until MP_KeyDown(#PB_Key_Escape) ; Keep looping until Escape key gets pressed
End


MP_2DPhysicInit()

Syntax

MP_2DPhysicInit()

Beschreibung

To start the 2D physics engine, you need to initialize it first with MP_2DPhysicInit()

Der Befehl MP_2DPhysicInit aktiviert die 2D Physik Funktion

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_2DPhysicUpdate()

Syntax

MP_2DPhysicUpdate([Steps.f])

Beschreibung

The MP_2DPhysicUpdate() is vital inside the loop as it does the 2D physics calculations.

Der Befehl MP_2DPhysicUpdate aktualisiert die 2D Physikberechnungen

Parameter
Steps.f	 = how many times the simulation will get updated. The physics interval
        determines how often the physics update should occur.
        Anzahl der Physikberechnungen innerhalb eines Zeitintervalls

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

The simulation is being updated at regular intervals.
Die Simulation muss regelmäßig geupdated werden


MP_2DPhysicEnd()

Syntax

MP_2DPhysicEnd()

Beschreibung

The command MP_3DPhysicEnd deactivates the 2D physics engine and releases the resources related to 2D physics.

Der Befehl MP_2DPhysicEnd deaktiviert die 2D Physik Funktion und gibt die Resoucen frei

Parameter
-

return value
If the deactivation of the engine succeeds, the return value is #True otherwise it returns #False
#True oder im Fehlerfall #False


MP_2DPhysicSetGravity()

Syntax

MP_2DPhysicSetGravity(x)

Beschreibung

The MP_2DPhysicSetGravity() defines the gravitational forces.

Die Funktion MP_2DPhysicSetGravity setzt eine Gravitationskraft

Parameter
x.f	 = gravitation as float
        Gravitationswert als float
y.f	 = horizontal force for special effecst like wind
        horizontale Kraft für Effekte wie Wind

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

Global wX = 640
Global wY = 480

;- ***   Create Window
          MP_Graphics3DWindow(0, 0, wX, wY, "MP_2DPhysicSetGravity() example", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)

If CreateImage(0, 256, 256,32)
          MP_CreateImageColored(0, 0, #Yellow,#Yellow,#Red,#Green)
          Surface = MP_ImageToSurface(0)
          FreeImage(0)
          MP_SurfaceSetPosition(Surface,0,0,1)
          MP_SurfaceDestRect(Surface,0, 0, wX, wY)
EndIf

MP_2DPhysicInit()
MP_2DPhysicSetGravity(10)   ;almost no gravity - ball falls slowly: Set to 100 and ball falls a lot faster

Ball = MP_2DPhysicBodyCircle (320, 10, 30, 0, 100,$FF0000)

Repeat
          Event = WindowEvent()

          If Event = #PB_Event_CloseWindow    ; An event was in the queue so process it
             Break
          Else
             Delay(1)   ; No event, let the others apps get some CPU time too !
          EndIf

          MP_2DPhysicUpdate()

;- ****   Render   ***
          MP_RenderWorld() ; Render World yeh go on
          MP_Flip ()

Until MP_KeyDown(#PB_Key_Escape) Or Event=#PB_Event_CloseWindow

MP_2DPhysicEnd()
End


MP_2DPhysicBodyBox()

Syntax

MP_2DPhysicBodyBox(x, y, width, height, Sprite, Mass.f [, Color])

Beschreibung

The function MP_2DPhysicBodyBox creates a 2D retangle

Die Funktion MP_2DPhysicBodyBox erzeugt ein 2D Rechteck

Parameter
x	= x Position of the retangle
       x Positione des Rechtecks
y	= y Position of retangle
       y Position des Rechtecks
width	= Width of retangle
       Breite des Rechtecks
Height.f	= height of retangle
       Höhe des rechtecks
Sprite	= show sprite
       zeigt Sprite an
Masse	= mass of retangle
       Masse des Rechtecks
Color	= Color of the fringe, optional
       Farbe der Umrandung, optional

return value
Body identity or in case of error #False
Identität des bodys der im Fehlerfall #False


MP_2DPhysicBodyCircle()

Syntax

MP_2DPhysicBodyCircle(x, y, Radius, Sprite, Mass.f [, Color])

Beschreibung

The function MP_2DPhysicBodyCircle creates a 2D circle

Die Funktion MP_2DPhysicBodyCircle erzeugt ein 2D Kreis

Parameter
x	= x Position of the circle
       x Position des Kreises
y	= y Position of circle
       y Position des Kreises
Radius	= radius of circle
       Radius des Kreises
Sprite	= show sprite
       zeigt Sprite an
Masse	= mass of circle
       Masse des Kreises
Color	= Color of the fringe, optional
       Farbe der Umrandung, optional

return value
Body identity or in case of error #False
Identität des bodys der im Fehlerfall #False


MP_2DPhysicBodyPolygon()

Syntax

MP_2DPhysicBodyPolygon(x, y, Count, Memory, Sprite, Mass.f [, Color])

Beschreibung

The function MP_2DPhysicBodyPolygon creates a 2D polygon

Die Funktion MP_2DPhysicBodyPolygon erzeugt ein 2D Polygon

Parameter
x	= x Position of the polygon
       x Position des Polygon
y	= y Position of the polygon
       y Position des Polygon
Count	= count of polygon points
       Anzahl der Polygon Punkte
Memory	= memory adress of the Point Area
       Memory Adresse der Punkt Area
Sprite	= show sprite
       zeigt Sprite an
Masse	= mass of the polygon
       Masse des Polygon
Color	= Color of the fringe, optional
       Farbe der Umrandung, optional

return value
Body identity or in case of error #False
Identität des bodys der im Fehlerfall #False


MP_2DPhysicAddCircle()

Syntax

MP_2DPhysicAddCircle(Body, x, y, Radius, Sprite [, Color])

Beschreibung

The function MP_2DPhysicAddCircle adds a 2D circle to a 2d Body

Die Funktion MP_2DPhysicBodyCircle addiert ein 2D Kreis zu einem 2D Body

Parameter
body	= Parent 2D body
       Parent 2D Body
x	= x Position of the circle
       x Position des Kreises
y	= y Position of circle
       y Position des Kreises
Radius	= radius of circle
       Radius des Kreises
Sprite	= show sprite
       zeigt Sprite an
Color	= Color of the fringe, optional
       Farbe der Umrandung, optional

return value
#true or in case of error #False
#True oder der im Fehlerfall #False


MP_2DPhysicStaticLine()

Syntax

MP_2DPhysicStaticLine(x1, y1, x2, y2 [, Color])

Beschreibung

The function MP_2DPhysicStaticLine creates a static 2D line

Die Funktion MP_2DPhysicStaticLine erzeugt eine fest 2D Linie

Parameter
x1	= x startpoint of the line
       x Startpunkt der Linie
y1	= y startpoint of the line
       y Startpunkt der Linie
x2	= x endpoint of the line
       x Endpunkt der Linie
y3	= y endtpoint of the line
       y Endpunkt der Linie
Color	= Color of the fringe, optional
       Farbe der Umrandung, optional

return value
Body identity or in case of error #False
Identität des bodys der im Fehlerfall #False


MP_2DPhysicStaticCircle()

Syntax

MP_2DPhysicStaticCircle(x, y, Radius, Sprite [, Color])

Beschreibung

The function MP_2DPhysicStaticCircle creates a static 2D circle

Die Funktion MP_2DPhysicStaticCircle erzeugt einen festen 2D Kreis

Parameter
x	= x Position of the circle
       x Position des Kreises
y	= y Position of circle
       y Position des Kreises
Radius	= radius of circle
       Radius des Kreises
Sprite	= show sprite
       zeigt Sprite an
Color	= Color of the fringe, optional
       Farbe der Umrandung, optional

return value
Body identity or in case of error #False
Identität des bodys der im Fehlerfall #False


MP_2DPhysicStaticBox()

Syntax

MP_2DPhysicStaticBox(x, y, width, height, Sprite [, Color])

Beschreibung

The function MP_2DPhysicBodyBox creates a static 2D retangle

Die Funktion MP_2DPhysicBodyBox erzeugt ein festes 2D Rechteck

Parameter
x	= x Position of the retangle
       x Positione des Rechtecks
y	= y Position of retangle
       y Position des Rechtecks
width	= Width of retangle
       Breite des Rechtecks
Height.f	= height of retangle
       Höhe des rechtecks
Sprite	= show sprite
       zeigt Sprite an
Color	= Color of the fringe, optional
       Farbe der Umrandung, optional

return value
Body identity or in case of error #False
Identität des bodys der im Fehlerfall #False


MP_2DPhysicStaticPolygon()

Syntax

MP_2DPhysicStaticPolygon(x, y, Count, Memory, Sprite [, Color])

Beschreibung

The function MP_2DPhysicBodyPolygon creates a static 2D polygon

Die Funktion MP_2DPhysicBodyPolygon erzeugt ein festes 2D Polygon

Parameter
x	= x Position of the polygon
       x Position des Polygon
y	= y Position of the polygon
       y Position des Polygon
Count	= count of polygon points
       Anzahl der Polygon Punkte
Memory	= memory adress of the Point Area
       Memory Adresse der Punkt Area
Sprite	= show sprite
       zeigt Sprite an
Color	= Color of the fringe, optional
       Farbe der Umrandung, optional

return value
Body identity or in case of error #False
Identität des bodys der im Fehlerfall #False


MP_2DPhysicBodyGetX()

Syntax

MP_2DPhysicBodyGetX(Body)

Beschreibung

The function MP_2DPhysicBodyGetX get the x coordinate of a 2D Body entity. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodyGetX ermittelt die X-Koordinate eines 2D Bodys. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body

return value
It will return the x coordinate of the 2D body or in case of error #False
Es wird die X-Koordinate eines 2D Bodys zurückgegeben oder im Fehlerfall #False


MP_2DPhysicBodySetX()

Syntax

MP_2DPhysicBodySetX(Body, x.d)

Beschreibung

The function MP_2DPhysicBodySetX set the x coordinate of a 2D Body entity. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetX setzt die X-Koordinate eines 2D Bodys. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body
x	= x-coordinate
       x-Koordinate

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicBodyGetY()

Syntax

MP_2DPhysicBodyGetY(Body)

Beschreibung

The function MP_2DPhysicBodyGetY get the y coordinate of a 2D Body entity. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodyGetY ermittelt die Y-Koordinate eines 2D Bodys. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body

return value
It will return the y coordinate of the 2D body or in case of error #False
Es wird die Y-Koordinate eines 2D Bodys zurückgegeben oder im Fehlerfall #False


MP_2DPhysicBodySetY()

Syntax

MP_2DPhysicBodySetY(Body, y.d)

Beschreibung

The function MP_2DPhysicBodySetY set the x coordinate of a 2D Body entity. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetY setzt die X-Koordinate eines 2D Bodys. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body
Y	= y-coordinate
       Y-Koordinate

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicBodyGetColor()

Syntax

MP_2DPhysicBodyGetColor(Body)

Beschreibung

The function MP_2DPhysicBodySetColor get the color of the fringe. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetColor ließt die Umrahmungsfarbe eines 2D Body. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicBodySetColor()

Syntax

MP_2DPhysicBodySetColor(Body, Color)

Beschreibung

The function MP_2DPhysicBodySetColor set color of the fringe. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetColor setzt die Umrahmungsfarbe eines 2D Body. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body
Color	= Color of the fringe, optional
       Farbe der Umrandung, optional

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicBodySetProperties()

Syntax

MP_2DPhysicBodySetProperties(Body, elasticity.f, friction.f)

Beschreibung

The function MP_2DPhysicBodySetProperties set the  elasticity and friction of a 2D Body. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetProperties setzt Elastizität und Reibungkrfat eines 2D Body. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body
elasticity.f	= elasticity of the 2D Body
       Elastizität eines 2D Body
friction.f	= friction of a 2D Body
       Reibung eines 2D Body

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicBodySetInertia()

Syntax

MP_2DPhysicBodySetInertia(Body, i.f)

Beschreibung

The function MP_2DPhysicBodySetInertia set the inertia of a 2D Body. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetInertia setzt die Trägheit eines 2D Body. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body
i.d	= inertia of 2D body
    = Trägheit des 2D Body

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicBodyGetAngle()

Syntax

MP_2DPhysicBodyGetAngle(Body)

Beschreibung

The function MP_2DPhysicBodySetAngle get the angle  of a 2D Body. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetAngle ließt den Winkel eines 2D Body. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body

return value
angle as float
Winkel als Fließkommazahl


MP_2DPhysicBodySetAngle()

Syntax

MP_2DPhysicBodySetAngle(Body, w.f)

Beschreibung

The function MP_2DPhysicBodySetAngle set the angle  of a 2D Body. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetAngle setzt den Winkel eines 2D Body. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body
w.f	= angle in grad
    = Winkel in Grad

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicBodySetVector()

Syntax

MP_2DPhysicBodySetVector(Body, Vx.f, Vy.f)

Beschreibung

The function MP_2DPhysicBodySetVector set a force vector to a a 2D Body. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetVector setzt eine Ktaft Vector eines 2D Body. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body
Vx.f	= x of a  force vector
    = x Wert des Kraftvectors
Vy.f	= y of a  force vector
    = y Wert des Kraftvectors

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicBodySetAngVeloc()

Syntax

MP_2DPhysicBodySetAngVeloc(Body, w.f)

Beschreibung

The function MP_2DPhysicBodySetAngle set the angular velocity of a 2D Body. For this purpose we must first specify the identity of the 2D Body.

Die Funktion MP_2DPhysicBodySetAngle setzt eine Winkelgeschwindkeit eines 2D Body. Dazu muss man zuerst die Identität eines 2D Bodys angeben.

Parameter
body	= identity of the 2D body
       Identität des 2D Body
w.f	= angular velocity
    = Winkelgeschwindigkeit

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicCollisionInit()

Syntax

MP_2DPhysicCollisionInit()

Beschreibung

The command MP_2DPhysicCollission Init acticate the 2D collission function

Der Befehl MP_2DPhysicCollission aktiviert die 2D Kollissions-Funktion

Parameter
-

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_2DPhysicCollBody()

Syntax

MP_2DPhysicCollBody(Body1,Body2)

Beschreibung

The command MP_2DPhysicCollBody checks the collission of two 2D bodys

Der Befehl MP_2DPhysicCollBody überprüft ob sich zwei Bodys berühet haben

Parameter
Body1	= identity of the first  2D body
       Identität des ersten 2D Body
Body2	= identity of the second 2D body
       Identität des zweiten 2D Body

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_2DPhysicMoveBody()

Syntax

MP_2DPhysicMoveBody(state, x, y [, *DimBody, length])

Beschreibung

The function MP_2DPhysicMoveBody moves a Body. It is possible to move only selected Bodys.

Die Funktion MP_2DPhysicMoveBody bewegt einen Body. Es ist möglich nur bestimmte Bodys zu bewegen.

Parameter
state	= looks for the #WM_LBUTTONDOWN event
                = wartet auf das #WM_LBUTTONDOWN WEreigniss
x	= x Position of activation or moving
       x Position zur Aktivierung oder Bewegung
y	= y Position of activation or moving
       y Position zur Aktivierung oder Bewegung
*DimBody	= dim area of selectes bodys to move
       Dim Feld um nur bestimmte Bodys zu bewegen
    = length of Dim Area
       Länge des Dim Feldes

return value
#True or in case of error #False
#True oder im Fehlerfall #False

Info;

The first # WM_LBUTTONDOWN event activated the function. A second # WM_LBUTTONDOWN event deactivated the function. You can turn the Object with the Mouse wheel

Mit dem ersten #WM_LBUTTONDOWN  Ereignis wird die Funktion aktiviert. Ein zweites #WM_LBUTTONDOWN Ereignis deativiert die Funktion. Sie könen das Objekt mit dem Mausrad drehen


MP_2DPhysicPickBody()

Syntax

MP_2DPhysicPickBody(x,y)

Beschreibung

The function 2DPhysicPickBody  returns the selected body on der coordinate x,y.

Die Funktion MP_2DPhysicPickBody gibt den ausgewählten Bodys zurück der sich an der Koordinate x,y befindet

Parameter
x	= x Position of picking
       x Position des Picking
y	= y Position of picking
       y Position des Picking

return value
body identity or in case of an error #False
Es wird die Identität eines bodys zurückgeliefert oder im Fehlerfall #False


MP_2DPhysicSetActiveHash()

Syntax

MP_2DPhysicSetActiveHash(x.f, y.f)

Beschreibung

The function MP_2DPhysicSetActiveHash set the grid sizes of the collision detection for bodys

Die Funktion MP_2DPhysicSetActiveHash setzt die Rastergrösse für Bodys zur Kollissionserkennung

Parameter
x.f	= x of grid size
    = x Wert des Rasters
y.f	= y of grid size
    = y Wert des Rasters

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicSetStaticHash()

Syntax

MP_2DPhysicSetStaticHash(x.f, y.f)

Beschreibung

The function MP_2DPhysicSetActiveHash set the grid sizes of the collision detection for static bodys

Die Funktion MP_2DPhysicSetActiveHash setzt die Rastergrösse für Static Bodys zur Kollissionserkennung

Parameter
x.f	= x of grid size
    = x Wert des Rasters
y.f	= y of grid size
    = y Wert des Rasters

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicBodyRemove()

Syntax

MP_2DPhysicBodyRemove(Body)

Beschreibung

The function MP_2DPhysicBodyRemove removed a physic or static body

Die Funktion MP_2DPhysicBodyRemove löscht eine 2D-Physik oder 2D-Statik Körper

Parameter
body	= identity of the 2D body
       Identität des 2D Body

return value
#True or in case of error #False
#True oder im Fehlerfall #False


MP_2DPhysicAddPivotConstraint()

Syntax

MP_2DPhysicAddPivotConstraint(Body, x, y)

Beschreibung

The function 2DPhysicAddPivotConstraint sets an rotation axis of a body

Die Funktion MP_2DPhysicAddPivotConstraint setzt die Achse um den sich ein Body dreht.

Parameter
x	= x Position of rotation
       x Position der Rotationsachse
y	= y Position of rotation
       y Position der Rotationsachse

return value
#True or in case of error #False
#True oder im Fehlerfall #False


EP_InitFXLib()

Syntax

EP_InitFXLib()

Beschreibung

Initialisiert die gesamte Epyx FXLib zur späteren Benutzung. Sie müssen diese Funktion am Anfang Ihres Sourcecodes einfügen, wenn Sie die Befehle der Epyx FXLib benutzen möchten.

Parameter
-

return value
-


EP_LibVersion()

Syntax

EP_LibVersion()

Beschreibung

Gibt die aktuelle version der Epyx FXLib zurück die Sie gerade benutzen. Je höher der Wert desto aktueller die version, die version der ersten veröffentlichen LIB ist 10 also 1.0 So kann man in seinen Sources evtl. inkompatibilitäten mit später Lib versionen abfangen.

Parameter
-

return value
Lib Version als Integer
Lib version as integer

Beispiel

version = EP_LibVersion()

Debug version


EP_ScreenShot()

Syntax

EP_ScreenShot(Filename.s [, ImagePlugin])

Beschreibung

Speichert einen ScreenShot auf Disk. Standardmäßig wird es im 24Bit BMP-Format gespeichert. Ist das 'Ergebnis' gleich 0, dann konnte der Shot nicht gespeichert werden (Disk voll, ungültiger Dateiname, etc.). 'ImagePlugin' ist ein optionaler Parameter und kann eine der folgenden Konstanten sein: #PB_ImagePlugin_BMP : Speichert das Bild als BMP. (Standard-Format) #PB_ImagePlugin_JPEG : Speichert das Bild als JPEG (der Befehl UseJPEGImageEncoder() muss verwendet werden) #PB_ImagePlugin_PNG : Speichert das Bild als PNG (der Befehl UsePNGImageEncoder() muss verwendet werden)

Parameter
Filename.s	= Name der Datei als String
            Name of File as String
ImagePlugin	= #PB_ImagePlugin_BMP
           #PB_ImagePlugin_JPEG
           #PB_ImagePlugin_PNG
           #PB_ImagePlugin_JPEG2000

return value
#True on success or #False on failure
#True oder im Fehlerfall #False

Beispiel

EP_ScreenShot("My Screenshot.bmp")


EP_FPS()

Syntax

EP_FPS()

Beschreibung

Ermittelt und gibt die Aktuelle Frames pro Sekunde zurück. Einfach irgendwo in der Hauptschleife Aufrufen, der Wert erechnet sich dann anhand der Aufrufe

Parameter
-

return value
FPS als integer
FPS as integer

Beispiel

FPS = EP_FPS()


EP_Init2DStars()

Syntax

EP_Init2DStars(Anzahl, Ebenen, Speed.f [, X1, Y1, X2, Y2])

Beschreibung

Initialisiert die Anzahl an 2D Sterne die Sie auch auf einen bestimmten Bildschirm Bereich einschränken können.

Wenn Sie die Funktion ohne die folgenden Optionalen Werte benutzen werden die aktuellen Bildschirmmaße verwendet. Optional gibt es noch die Möglichkeit den Sichtbereich der für 2D Sterne zulässig ist einzustellen, so ist es möglich die Sterne nur in einem Bereich des Bildschirms darzustellen.

Parameter
Anzahl	= Anzahl der Sterne
Ebenen	= Verschiedenen Geschwindigkeits Ebenen der Sterne ( 1 - 10 )
Speed.f	= Die Geschwindigkeit des langsamsten Sterns, wobei die weiteren Geschwindigkeiten auf den anderen Ebenen berechnet werden.
X1	= Die X Koordinate des linken oberen Punktes
Y1	= Die Y Koordinate des linken oberen Punktes
X2	= Die Breite des Sternenfeldes
Y2	= Die Höhe des Sternenfeldes

return value
-

Beispiel

EP_Init2DStars(500, 7, 0.5) ; 500 Sterne, 7 Ebenen und 0.5 als Langsamste Geschwindigkeit

EP_Init2DStars(500, 7, 0.5, 0, 100, 640, 300) ; Hier wird noch zusätzlich ein eingegrenzter Bildschirm Bereich definiert.


EP_2DStarsColor()

Syntax

EP_2DStarsColor(Number,Color)

Beschreibung

Setzt Farbwerte für die Einzelnen Geschwindigkeits Ebenen, es gibt maximal 10 Ebenen denen Sie eine eigene Farbe zuweisen können. Aber Achtung dies gilt nur für die Pixel darstellung der 2D Sterne.

Parameter
Number	= Eine Zahl von 1 bis 10
Color		= Ein 24 Bit Farbwert. RGB() kann zum ermitteln eines gültigen Farbwertes benutzt werden.

return value
-

Beispiel

EP_2DStarsColor(2, RGB( 0, 255, 0 )); Definiert für Ebene 2 die Farbe Grün
EP_2DStarsColor(4, RGB( 255, 0, 255 )); Definiert für Ebene 4 die Farbe Violet


EP_2DStarsArea()

Syntax

EP_2DStarsArea(Xme,Yme,X2me,Y2me)

Beschreibung

Verändert nachträglich den Sichtbereich der für 2D Sterne zulässig ist, so ist es möglich die Sterne nur in einem Bereich des Bildschirms darzustellen. Verkleinern des Bereiches ist taktisch gesehen besser als das vergrößern, beim vergrößern kann es zu temporär Sternenlosen Bereichen kommen. Das liegt daran das die Stern Koordinaten vorher auf den Sichtbereich definiert werden ein vergrößern bekommen die sich derzeit bewegenden Sterne erst mit wenn sie den darstellungs Bereich verlassen und so eine neue Position berechnet wird.

Parameter
Xme	= Die X Koordinate des linken oberen Punktes
Yme	= Die Y Koordinate des linken oberen Punktes
X2me	= Die Breite des Sternenfeldes
Y2me	= Die Höhe des Sternenfeldes

return value
-

Beispiel

EP_2DStarsArea( 100, 100, 300, 300) ;Bereich mit dem Koordinaten 100,100 einer Breite und Höhe von 300.


EP_2DStarsDegree()

Syntax

EP_2DStarsDegree(Winkel.f)

Beschreibung

Einstellen des Winkels in den die 2D Sterne fliegen, Sie können die Richtung in der die Sterne fliegen dynamisch verändern und Rotieren lassen.

Parameter
Winkel.f	= Der Winkel der 2D Sterne ( 0 - 360 )

return value
-

Beispiel

EP_2DStarsDegree(90); Die Sterne fliegen in einem Winkel von 90 Grad.


EP_2DStarsDraw()

Syntax

EP_2DStarsDraw()

Beschreibung

Zeichnet die Initialisierten 2D Sterne Pixelweise auf den Bildschirm, es werden hier die Farben übernommen die Sie mit EP_2DStarsColor() fest gelegt haben. Haben Sie keine fest gelegt werden graue default Farben verwendet.

Parameter
-

return value
-


EP_LoadStarSprite()

Syntax

EP_LoadStarSprite(StarNumber, Filename.s [, FrameSize, FrameCount])

Beschreibung

Lädt ein Sprite für um es als 2D Stern darzustellen, bedenken Sie das es mehrere Animationsstufen benötigt. Für jede Ebene ein eigenes Bild beginnend bei der langsamsten Geschwindigkeit.

Die Animationen werden anhand der Spritegröße berechnet, sie können diese allerdings auch optional selber angeben.

Parameter
StarNumber	= Die Spritenummer ( 0 - 99 )
Filename.s	= Dateiname inklusive Pfadangaben
Framesize		= Die Bildgröße die für jedes Animations Frame gilt
FrameCount	= Anzahl der verschiedenen Animations Frames.

return value
-

Beispiel

EP_LoadStarSprite(1,"Bobs/SpriteStar4.bmp"); Lädt ein Sprite auf Spritenummer 1


EP_CatchStarSprite()

Syntax

EP_CatchStarSprite(StarNumber, MemoryID, Length [, FrameSize, FrameCount])

Beschreibung

Lädt ein Sprite für um es als 2D Stern darzustellen, bedenken Sie das es mehrere Animationsstufen benötigt. Für jede Ebene ein eigenes Bild beginnend bei der langsamsten Geschwindigkeit.

Parameter
StarNumber	= Die Spritenummer ( 0 - 99 )
MemoryID	= Lädt das Sprite aus der Angegebenen Speicheradresse. Die Animationen werden anhand der Spritegröße berechnet, sie können diese allerdings auch optional selber angeben.
Framesize		= Die Bildgröße die für jedes Animations Frame gilt
FrameCount	= Anzahl der verschiedenen Animations Frames.

return value

Beispiel

EP_CatchStarSprite(1,?Bob); Lädt ein Sprite auf Spritenummer 1
End
DataSection Bob: IncludeBinary "Bobs/SpriteStar4.bmp"


EP_2DSpritesDraw()

Syntax

EP_2DSpritesDraw(StarNumber)

Beschreibung

Zeichnet die Initialisierten 2D Sterne als Sprites auf den Bildschirm, es werden hier die die verschiedenen Animationsstufen des verwendeten Sprites für die verschiedenen Ebenen verwendet.

Parameter
StarNumber	= Die Nummer des vorher geladenen Star Sprites ( 1 - 99 )

return value
-


EP_closeStarSprite()

Syntax

EP_closeStarSprite(StarNumber)

Beschreibung

Löscht ein vorher geladenes Star-Sprite wieder und gibt den Speicher frei.

Parameter
StarNumber	= Die Nummer des vorher geladenen Star Sprites ( 1 - 99 )

return value

Beispiel

EP_closeStarSprite(1); Star Sprite nr. 1 wieder löschen


EP_2DStarsClear()

Syntax

EP_2DStarsClear()

Beschreibung

Löscht die vorher definierten 2D Sterne und gibt den Speicher wieder frei

Parameter
-

return value
-

Beispiel

EP_2DStarsClear(); Alle Sterne wieder löschen


EP_2DStarsDrawMode()

Syntax

EP_2DStarsDrawMode(Surface)

Beschreibung

Zeichnet die 2D Starts auf ein Surface

Parameter
Surface	= Surface auf das gezeichnet werden soll

return value
-


EP_LoadFont32()

Syntax

EP_LoadFont32(FontNumber,Filename.s)

Beschreibung

Lädt ein GFX Font mit 32 Pixel großen Buchstaben, diesen können Sie dann für Text Ausgaben oder Scrolltexten verwenden. Wenn Sie selber solche Fonts herstellen wollen achten Sie darauf das die Anordung der Zeichen genauso organisiert ist wie bei den Beispiel Fonts dieser User-LIB

Parameter
FontNumber	= Die Fontnummer ( 0 - 99 )
Filename.s	= Dateiname inklusive Pfadangaben

return value
-

Beispiel

EP_LoadFont32( 1 , "Fonts/pix32silber2.bmp" ); Font Nr. 1 Laden


EP_LoadFont16()

Syntax

EP_LoadFont16(FontNumber,Filename.s)

Beschreibung

Lädt ein GFX Font mit 16 Pixel großen Buchstaben, diesen können Sie dann für Text Ausgaben oder Scrolltexten verwenden. Wenn Sie selber solche Fonts herstellen wollen achten Sie darauf das die Anordung der Zeichen genauso organisiert ist wie bei den Beispiel Fonts dieser User-LIB

Parameter
FontNumber	= Die Fontnummer ( 0 - 99 )
Filename.s	= Dateiname inklusive Pfadangaben

return value
-

Beispiel

EP_LoadFont16( 4 , "Fonts/Font 16 - Hot Metall.png" ); Font Nr. 4 Laden


EP_LoadFont8()

Syntax

EP_LoadFont8(FontNumber,Filename.s)

Beschreibung

Lädt ein GFX Font mit 8 Pixel großen Buchstaben, diesen können Sie dann für Text Ausgaben oder Scrolltexten verwenden. Wenn Sie selber solche Fonts herstellen wollen achten Sie darauf das die Anordung der Zeichen genauso organisiert ist wie bei den Beispiel Fonts dieser User-LIB

Parameter
FontNumber	= Die Fontnummer ( 0 - 99 )
Filename.s	= Dateiname inklusive Pfadangaben

return value
-

Beispiel

EP_LoadFont8(0,"Fonts/pix8 Goldfont.bmp")


EP_LoadFreeFont()

Syntax

EP_LoadFreeFont(FontNumber,Filename.s, XSize, YSize)

Beschreibung

Lädt ein GFX Font mit der Breite XSize und der Höhe XSize, diesen können Sie dann für Text Ausgaben oder Scrolltexten verwenden. Wenn Sie selber solche Fonts herstellen wollen achten Sie darauf das die Anordung der Zeichen genauso organisiert ist wie bei den Beispiel Fonts dieser User-LIB

Parameter
FontNumber	= Die Fontnummer ( 0 - 99 )
Filename.s	= Dateiname inklusive Pfadangaben
XSize		= Breite des Fonts
YSize		= Höhe des Fonts

return value
-


EP_CatchFont32()

Syntax

EP_CatchFont32(FontNumber, MemoryID, Length)

Beschreibung

Lädt ein GFX Font mit 32 Pixel großen Buchstaben, diesen können Sie dann für Text Ausgaben oder Scrolltexten verwenden. Wenn Sie selber solche Fonts herstellen wollen achten Sie darauf das die Anordung der Zeichen genauso organisiert ist wie bei den Beispiel Fonts dieser User-LIB

Parameter
FontNumber	= Die Fontnummer ( 0 - 99 )
MemoryID	= Lädt den Font aus der Angegebenen Speicheradresse.

return value
-

Beispiel

EP_CatchFont32(11, ?Font); Lädt einen Font auf Fontnummer 11
End
DataSection
Font: IncludeBinary "Fonts/pix32silber2.bmp"


EP_CatchFont16()

Syntax

EP_CatchFont16(FontNumber, MemoryID, Length)

Beschreibung

Lädt ein GFX Font mit 16 Pixel großen Buchstaben, diesen können Sie dann für Text Ausgaben oder Scrolltexten verwenden. Wenn Sie selber solche Fonts herstellen wollen achten Sie darauf das die Anordung der Zeichen genauso organisiert ist wie bei den Beispiel Fonts dieser User-LIB

Parameter
FontNumber	= Die Fontnummer ( 0 - 99 )
MemoryID	= Lädt den Font aus der Angegebenen Speicheradresse.

return value
-


EP_CatchFont8()

Syntax

EP_CatchFont8(FontNumber, MemoryID, Length)

Beschreibung

Lädt ein GFX Font mit 8 Pixel großen Buchstaben, diesen können Sie dann für Text Ausgaben oder Scrolltexten verwenden. Wenn Sie selber solche Fonts herstellen wollen achten Sie darauf das die Anordung der Zeichen genauso organisiert ist wie bei den Beispiel Fonts dieser User-LIB

Parameter
FontNumber	= Die Fontnummer ( 0 - 99 )
MemoryID	= Lädt den Font aus der Angegebenen Speicheradresse.

return value
-


EP_CatchFreeFont()

Syntax

EP_CatchFreeFont(FontNumber, MemoryID, Length, XSize, YSize)

Beschreibung

Lädt ein GFX Font mit der Breite XSize und der Höhe XSize, diesen können Sie dann für Text Ausgaben oder Scrolltexten verwenden. Wenn Sie selber solche Fonts herstellen wollen achten Sie darauf das die Anordung der Zeichen genauso organisiert ist wie bei den Beispiel Fonts dieser User-LIB

Parameter
FontNumber	= Die Fontnummer ( 0 - 99 )
MemoryID	= Lädt den Font aus der Angegebenen Speicheradresse
Lenght		= Speicherlänge des Fonts
XSize		= Breite des Fonts
YSize		= Höhe des Fonts

return value
-


EP_Font32SetZ()

Syntax

EP_Font32SetZ(FontNumber, ZPos)

Beschreibung

Der Befehl EP_Font32SetZ setzt die Sichttiefe eines Fonts und den damit geschriebenen Text  0-10,  0 = Front, 10 = Hintergrund

ZPos Parameter
FontNumber = Die Fontnummer ( 0 - 99 )
ZPos	    =  0 -> display front
            to
             10 -> presentation of background

            0 -> Darstellung Front
            bis
            10 -> Darstellung Hintergrund

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


EP_Font16SetZ()

Syntax

EP_Font16SetZ(FontNumber, ZPos)

Beschreibung

Der Befehl EP_Font16SetZ setzt die Sichttiefe eines Fonts und den damit geschriebenen Text  0-10,  0 = Front, 10 = Hintergrund

ZPos Parameter
FontNumber = Die Fontnummer ( 0 - 99 )
ZPos	    =  0 -> display front
            to
             10 -> presentation of background

            0 -> Darstellung Front
            bis
            10 -> Darstellung Hintergrund

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


EP_Font8SetZ()

Syntax

EP_Font8SetZ(FontNumber, ZPos)

Beschreibung

Der Befehl EP_Font8SetZ setzt die Sichttiefe eines Fonts und den damit geschriebenen Text  0-10,  0 = Front, 10 = Hintergrund

ZPos Parameter
FontNumber = Die Fontnummer ( 0 - 99 )
ZPos	    =  0 -> display front
            to
             10 -> presentation of background

            0 -> Darstellung Front
            bis
            10 -> Darstellung Hintergrund

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


EP_FreeFontSetZ()

Syntax

EP_FreeFontSetZ(FontNumber, ZPos)

Beschreibung

Der Befehl EP_FreeFontSetZ setzt die Sichttiefe eines Fonts und den damit geschriebenen Text  0-10,  0 = Front, 10 = Hintergrund

ZPos Parameter
FontNumber = Die Fontnummer ( 0 - 99 )
ZPos	    =  0 -> display front
            to
             10 -> presentation of background

            0 -> Darstellung Front
            bis
            10 -> Darstellung Hintergrund

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


EP_FreeFont32()

Syntax

EP_FreeFont32(FontNumber)

Beschreibung

Löscht einen vorher geladenen Font mit 32 Pixeln wieder und gibt den Speicher frei.

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )

return value
-


EP_FreeFont16()

Syntax

EP_FreeFont16(FontNumber)

Beschreibung

Löscht einen vorher geladenen Font mit 16 Pixeln wieder und gibt den Speicher frei.

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )

return value
-


EP_FreeFont8()

Syntax

EP_FreeFont8(FontNumber)

Beschreibung

Löscht einen vorher geladenen Font mit 8 Pixeln wieder und gibt den Speicher frei.

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )

return value
-


EP_KillFreeFont()

Syntax

EP_KillFreeFont(FontNumber)

Beschreibung

Löscht einen vorher geladenen Free Font und gibt den Speicher frei.

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )

return value
-


EP_GetFreeFontChars()

Syntax

EP_GetFreeFontChars(FontNumber)

Beschreibung

Gibt die Anzahl der Zeichen einer Zeile in der Font Grafik zurück

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )

return value


EP_SetFreeFontChars()

Syntax

EP_SetFreeFontChars(FontNumber, CharsPerLine)

Beschreibung

Setzt die Anzahl der Zeichen pro Zeile in einer Font Grafik.

FreeFont erkennt anhand der Ausmaße der grafik  selbst wieviel Zeichen pro Zeile in die Grafik passen,
es kann aber zu ungenauigkeiten kommen wenn die grafik etwas größer oder kleiner ist. Das lässt sich
dann mit diesem Befehl beheben.

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
CharsPerLine	= Zeichen pro Zeile

return value
-


EP_Text32()

Syntax

EP_Text32(FontNumber, Xpos, Ypos, Text.s, Mode)

Beschreibung

Schreibt einen Text mit dem Font der Nr. FontNumber.l an Position Xpos, Ypos. Bedenken Sie das nur Zeichen wieder gegeben werden die auch in dem von Ihnen verwendeten Grafik Font vorhanden sind. Alle Buchstaben werden groß wieder gegeben auch wenn Sie im Scrolltext große und kleine Buchstaben verwenden. Es ist möglich den Text formatiert auszugeben, Links, Rechts oder Zentriert

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
Xpos		= X Koordinate an der Ihr Text stehen soll
Ypos		= Y Koordinate an der Ihr Text stehen soll
Text.s		= Der Text der geschrieben werden soll
Mode		= Formatierung, 0=Linksbündig, 1=Zentriert, 2=Rechtsbündig

return value
-


EP_Text16()

Syntax

EP_Text16(FontNumber, Xpos, Ypos, Text.s, Mode)

Beschreibung

Schreibt einen Text mit dem Font der Nr. FontNumber.l an Position Xpos, Ypos. Bedenken Sie das nur Zeichen wieder gegeben werden die auch in dem von Ihnen verwendeten Grafik Font vorhanden sind. Alle Buchstaben werden groß wieder gegeben auch wenn Sie im Scrolltext große und kleine Buchstaben verwenden. Es ist möglich den Text formatiert auszugeben, Links, Rechts oder Zentriert

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
Xpos		= X Koordinate an der Ihr Text stehen soll
Ypos		= Y Koordinate an der Ihr Text stehen soll
Text.s		= Der Text der geschrieben werden soll
Mode		= Formatierung, 0=Linksbündig, 1=Zentriert, 2=Rechtsbündig

return value
-


EP_Text8()

Syntax

EP_Text8(FontNumber, Xpos, Ypos, Text.s, Mode)

Beschreibung

Schreibt einen Text mit dem Font der Nr. FontNumber.l an Position Xpos, Ypos. Bedenken Sie das nur Zeichen wieder gegeben werden die auch in dem von Ihnen verwendeten Grafik Font vorhanden sind. Alle Buchstaben werden groß wieder gegeben auch wenn Sie im Scrolltext große und kleine Buchstaben verwenden. Es ist möglich den Text formatiert auszugeben, Links, Rechts oder Zentriert

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
Xpos		= X Koordinate an der Ihr Text stehen soll
Ypos		= Y Koordinate an der Ihr Text stehen soll
Text.s		= Der Text der geschrieben werden soll
Mode		= Formatierung, 0=Linksbündig, 1=Zentriert, 2=Rechtsbündig

return value
-


EP_FreeText()

Syntax

EP_FreeText(FontNumber, Xpos, Ypos, Text.s, Mode)

Beschreibung

Schreibt einen Text mit dem Font der Nr. FontNumber.l an Position Xpos, Ypos. Bedenken Sie das nur Zeichen wieder gegeben werden die auch in dem von Ihnen verwendeten Grafik Font vorhanden sind. Alle Buchstaben werden groß wieder gegeben auch wenn Sie im Scrolltext große und kleine Buchstaben verwenden. Es ist möglich den Text formatiert auszugeben, Links, Rechts oder Zentriert

Parameter
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
Xpos		= X Koordinate an der Ihr Text stehen soll
Ypos		= Y Koordinate an der Ihr Text stehen soll
Text.s		= Der Text der geschrieben werden soll
Mode		= Formatierung, 0=Linksbündig, 1=Zentriert, 2=Rechtsbündig

return value
-


EP_Write32()

Syntax

EP_Write32(Textur, FontNumber, Xpos, Ypos, Text.s, Mode)

Beschreibung

Schreibt einen Text mit dem Font der Nr. FontNumber.l an Position Xpos, Ypos auf eine Textur. Bedenken Sie das nur Zeichen wieder gegeben werden die auch in dem von Ihnen verwendeten Grafik Font vorhanden sind. Alle Buchstaben werden groß wieder gegeben auch wenn Sie im Scrolltext große und kleine Buchstaben verwenden. Es ist möglich den Text formatiert auszugeben, Links, Rechts oder Zentriert

Parameter
Textur		= Das Handle der Textur
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
Xpos		= X Koordinate an der Ihr Text stehen soll
Ypos		= Y Koordinate an der Ihr Text stehen soll
Text.s		= Der Text der geschrieben werden soll
Mode		= Formatierung, 0=Linksbündig, 1=Zentriert, 2=Rechtsbündig

return value
-


EP_Write16()

Syntax

EP_Write16(Textur, FontNumber, Xpos, Ypos, Text.s, Mode)

Beschreibung

Schreibt einen Text mit dem Font der Nr. FontNumber.l an Position Xpos, Ypos auf eine Textur. Bedenken Sie das nur Zeichen wieder gegeben werden die auch in dem von Ihnen verwendeten Grafik Font vorhanden sind. Alle Buchstaben werden groß wieder gegeben auch wenn Sie im Scrolltext große und kleine Buchstaben verwenden. Es ist möglich den Text formatiert auszugeben, Links, Rechts oder Zentriert

Parameter
Textur		= Das Handle der Textur
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
Xpos		= X Koordinate an der Ihr Text stehen soll
Ypos		= Y Koordinate an der Ihr Text stehen soll
Text.s		= Der Text der geschrieben werden soll
Mode		= Formatierung, 0=Linksbündig, 1=Zentriert, 2=Rechtsbündig

return value
-


EP_Write8()

Syntax

EP_Write8(Textur, FontNumber, Xpos, Ypos, Text.s, Mode)

Beschreibung

Schreibt einen Text mit dem Font der Nr. FontNumber.l an Position Xpos, Ypos auf eine Textur. Bedenken Sie das nur Zeichen wieder gegeben werden die auch in dem von Ihnen verwendeten Grafik Font vorhanden sind. Alle Buchstaben werden groß wieder gegeben auch wenn Sie im Scrolltext große und kleine Buchstaben verwenden. Es ist möglich den Text formatiert auszugeben, Links, Rechts oder Zentriert

Parameter
Textur		= Das Handle der Textur
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
Xpos		= X Koordinate an der Ihr Text stehen soll
Ypos		= Y Koordinate an der Ihr Text stehen soll
Text.s		= Der Text der geschrieben werden soll
Mode		= Formatierung, 0=Linksbündig, 1=Zentriert, 2=Rechtsbündig

return value
-


EP_FreeWrite()

Syntax

EP_FreeWrite(Textur, FontNumber, Xpos, Ypos, Text.s, Mode)

Beschreibung

Schreibt einen Text mit dem Font der Nr. FontNumber.l an Position Xpos, Ypos auf eine Textur. Bedenken Sie das nur Zeichen wieder gegeben werden die auch in dem von Ihnen verwendeten Grafik Font vorhanden sind. Alle Buchstaben werden groß wieder gegeben auch wenn Sie im Scrolltext große und kleine Buchstaben verwenden. Es ist möglich den Text formatiert auszugeben, Links, Rechts oder Zentriert

Parameter
Textur		= Das Handle der Textur
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
Xpos		= X Koordinate an der Ihr Text stehen soll
Ypos		= Y Koordinate an der Ihr Text stehen soll
Text.s		= Der Text der geschrieben werden soll
Mode		= Formatierung, 0=Linksbündig, 1=Zentriert, 2=Rechtsbündig

return value
-


EP_SetScrollText()

Syntax

EP_SetScrollText(TextNumber, Text.s)

Beschreibung

Erstellt einen Text um ihn später für beliebige Scrolltexte zu verwenden.

Parameter
TextNumber	= Die Nummer des Scroll Textes ( 1 - 99 )
Text.s		= Den Text der Scrollen soll.

return value
-

Beispiel

EP_SetScrollText(1, "Die ist ein Beispiel Scroll Text der herrum scrollen soll"); Text slot 1 zuweisen


EP_GetScrollText()

Syntax

EP_GetScrollText(TextNumber)

Beschreibung

Gibt den Scroll Text mit der nummer TextNumber zurück.

Parameter
TextNumber	= Die Nummer des Scroll Textes ( 1 - 99 )

return value
-

Beispiel

EP_SetScrollText(1, "Die ist ein Beispiel Scroll Text der herrum scrollen soll"); Text slot 1 zuweisen

Debug EP_GetScrollText(1); Scroll Text 1 Ausgeben


EP_Create32Scroll()

Syntax

EP_Create32Scroll(ScrollID, TextNumber, FontNumber, YPos [, XPos, XPos2])

Beschreibung

Definiert einen Scrolltext mit der ID (ScrollID ) diesen können Sie mit jedem geladenen 32 Pixel Font scrollen lassen

Optional können Sie den Scrolltext auch weiter einschränken, so das er sich nicht über den ganzen Bildschirm ausbreitet.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )
TextNumber	= Die Nummer des des zuvor mit EP_SetScrollText() gesetzen Textes
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
YPos		= Die Vertikale Position des Scrolltextes
XPos		= Die Horzontale Startposition des Scrolltextes
XPos2		= Die Breite des Scrolltextes ausgehend von der Startposition

return value
-

Beispiel

EP_Create32Scroll(1,1, 1, 250); Definiert Scroller 1 mit Text 1 und Font 1 an Position 250


EP_SetScroll32Speed()

Syntax

EP_SetScroll32Speed(ScrollID, Scrollspeed)

Beschreibung

Verändert die Scroll Geschwindigkeit des 32 Pixel Scrollers, es werden absolute und Integere Werte erwartet, default wert ist hier die 1. Es wird unverzüglich die neue Geschwindigkeit ausgeführt

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )
Scrollspeed	= Die Geschwindigkeit des Scrollers

return value
-

Beispiel

EP_SetScroll32Speed(1, 2) ;Den Scroller 1 mit Geschwindigkeit 2 scrollen


EP_SetSinScroll32()

Syntax

EP_SetSinScroll32(ScrollID, stp, FX, Size, SinSpeed.f)

Beschreibung

Erstellt aus einem normalen Scroller ein Sinus Scroller, diese Scroller bewegen sich nicht schnurgerade über den Bildschirm sondern schlängeln sich in Sinus Form darüber.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )
stp		= Schrittgröße beim Kopieren, Default wert ist hier die 1
Ad.f		= Die Sinusgeschwindigkeit beim Kopieren
Size		= Sinusgröße, also Höhe in der sich der Scroller bewegt
SinSpeed.f	= Geschwindigkeit beim Sinus

return value
-

Beispiel

EP_SetSinScroll32(1, 1,   1,   100, 4)


EP_Move32Scroll()

Syntax

EP_Move32Scroll(ScrollID)

Beschreibung

Bewegt und stellt den 32 Pixel Scroller mit der Identifizierungs Nummer ( ScrollID ) auf den Bildschirm dar.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )

return value
-

Beispiel

EP_Move32Scroll(1) ; Scrollen und Anzeigen


EP_Move32TexScroll()

Syntax

EP_Move32TexScroll(Textur, ScrollID)

Beschreibung

Bewegt und stellt den 32 Pixel Scroller mit der Identifizierungs Nummer ( ScrollID ) auf den Bildschirm dar.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )

return value
-


EP_Display32Scroll()

Syntax

EP_Display32Scroll(ScrollID, XPos, YPos)

Beschreibung

Zeichnet den 32 Pixel Scroller mit der Identifizierungs Nummer ( ScrollID ) an die Bildschirm Position XPos und YPos. Mit diese Funktion können Sie Clone vom Scrolltext darstellen ohne den Scroller selber weiter auszuführen und weiter zu scrollen.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )
XPos	= Die Horizontale Position des Scrolltextes
YPos	= Die Vertikale Position des Scrolltextes

return value
-

Beispiel

EP_Move32Scroll(1); Scroller 1 bewegen und weiter scrollen
EP_Display32Scroll(1, 0, 140); 1. Kopie des Scroller darstellen
EP_Display32Scroll(1, 0, 180); 2. Kopie des Scroller darstellen
EP_Display32Scroll(1, 0, 220); 3. Kopie des Scroller darstellen


EP_Close32Scroll()

Syntax

EP_Close32Scroll(ScrollID)

Beschreibung

Löscht die definierung des 32 Pixel Scrollers und gibt den Speicher wieder frei.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )

return value
-


EP_Create16Scroll()

Syntax

EP_Create16Scroll(ScrollID, TextNumber, FontNumber, YPos [, XPos, XPos2])

Beschreibung

Definiert einen Scrolltext mit der ID (ScrollID ) diesen können Sie mit jedem geladenen 16 Pixel Font scrollen lassen

Optional können Sie den Scrolltext auch weiter einschränken, so das er sich nicht über den ganzen Bildschirm ausbreitet.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )
TextNumber	= Die Nummer des des zuvor mit EP_SetScrollText() gesetzen Textes
FontNumber	= Die Nummer des vorher geladenen Fonts ( 1 - 99 )
YPos		= Die Vertikale Position des Scrolltextes
XPos		= Die Horzontale Startposition des Scrolltextes
XPos2		= Die Breite des Scrolltextes ausgehend von der Startposition

return value
-


EP_SetScroll16Speed()

Syntax

EP_SetScroll16Speed(ScrollID, Scrollspeed)

Beschreibung

Verändert die Scroll Geschwindigkeit des 16 Pixel Scrollers, es werden absolute und Integere Werte erwartet, default wert ist hier die 1. Es wird unverzüglich die neue Geschwindigkeit ausgeführt

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )
Scrollspeed	= Die Geschwindigkeit des Scrollers

return value
-


EP_SetSinScroll16()

Syntax

EP_SetSinScroll16(ScrollID, stp, FX , Size, SinSpeed.f)

Beschreibung

Erstellt aus einem normalen Scroller ein Sinus Scroller, diese Scroller bewegen sich nicht schnurgerade über den Bildschirm sondern schlängeln sich in Sinus Form darüber.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )
stp		= Schrittgröße beim Kopieren, Default wert ist hier die 1
Ad.f		= Die Sinusgeschwindigkeit beim Kopieren
Size		= Sinusgröße, also Höhe in der sich der Scroller bewegt
SinSpeed.f	= Geschwindigkeit beim Sinus

return value
-


EP_Move16Scroll()

Syntax

EP_Move16Scroll(ScrollID)

Beschreibung

Bewegt und stellt den 16 Pixel Scroller mit der Identifizierungs Nummer ( ScrollID ) auf den Bildschirm dar.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )

return value
-


EP_Move16TexScroll()

Syntax

EP_Move16TexScroll(Textur, ScrollID)

Beschreibung

Bewegt und stellt den 16 Pixel Scroller mit der Identifizierungs Nummer ( ScrollID ) auf den Bildschirm dar.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )

return value
-


EP_Display16Scroll()

Syntax

EP_Display16Scroll(ScrollID, XPos, YPos)

Beschreibung

Zeichnet den 16 Pixel Scroller mit der Identifizierungs Nummer ( ScrollID ) an die Bildschirm Position XPos und YPos. Mit diese Funktion können Sie Clone vom Scrolltext darstellen ohne den Scroller selber weiter auszuführen und weiter zu scrollen.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )
XPos	= Die Horizontale Position des Scrolltextes
YPos	= Die Vertikale Position des Scrolltextes

return value
-


EP_Close16Scroll()

Syntax

EP_Close16Scroll(ScrollID)

Beschreibung

Löscht die definierung des 16 Pixel Scrollers und gibt den Speicher wieder frei.

Parameter
ScrollID	= Die Identifizierungs Nummer des Scrollers ( 1 - 99 )

return value
-


EP_FastRasterBar()

Syntax

EP_FastRasterBar(BarNumber, Color, BarSize [, SinSize, SinAdd, SinStart, Type])

Beschreibung

Erstellt einen Rasterbalken ohne die Farb Tabelle, dadurch sind die Farben nicht mehr komplett frei wählbar. Der Balken definiert sich durch die Start-Farbe bis schwarz berechnet anhand der BarSize Was aber meist ausreicht um auf die schnelle Raster Balken zu erstellen!

Optional können Sie noch bewegliche Rasterbars erstellen diese bewegen sich selbstständig über den Bildschirm. Achtung diese bewegung bezieht sich nur auf die Y Achse.

Parameter
RasterBar	= Eine ID Nummer für den Raster Balken ( 1 - 99 )
Color	= ein 24 Bit Farbwert. RGB() kann zum Ermitteln eines gültigen Farbwertes benutzt werden
BarSize	= Die größe des Rasterbalken
SinSize	= Die Sinusgröße in der sich der Rasterbar bewegt
SinAdd	= Die Geschwindigkeit mit der durch den Sinus gerechnet wird.
SinStart	= Eine bestimmte Position im Sinus an der die berechnung begonnen wird. ( 0 - 720 )
Type	= Bewegungs Type, es gibt derer 3
       Type = 0 - Schwingen - SinStart ( 0 - 720 )
       Type = 1 - Hüpfen - SinStart ( 0 - 360 )
       Type = 2 - Umgekehrtes Hüpfen - SinStart ( 360 - 720 )

return value
-


EP_CreateRasterBar()

Syntax

EP_CreateRasterBar(BarNumber, ColorSlotStart, ColorSlotEnd [, SinSize, SinAdd, SinStart, Type])

Beschreibung

Auf älteren Rechnern (C64, Amiga usw.) gab es durch die Limitierten Farben die möglichkeit auf einer Farbe oder dem Hintergrund Copper oder Rasterlines darzustellen. Mit diesem Trick konnte man schöne bunte Balken im Hintergrund herrum springen lassen. Die Epyx FXLib simuliert solche Rasterbars, es sind bis zu 99 verschiedene Rasterbars möglich.

Optional können Sie noch bewegliche Rasterbars erstellen diese bewegen sich selbstständig über den Bildschirm. Achtung diese bewegung bezieht sich nur auf die Y Achse.

Parameter
RasterBar	 	= Eine ID Nummer für den Raster Balken ( 1 - 99 )
ColorSlotStart	= Die Startfarbe aus der Color Tabelle ( 1 - 1000 )
ColorSlotEnd	= Die Endfarbe aus der Color Tabelle ( 1 - 1000 )
SinSize	 	= Die Sinusgröße in der sich der Rasterbar bewegt
SinAdd	 	= Die Geschwindigkeit mit der durch den Sinus gerechnet wird.
SinStart	 	= Eine bestimmte Position im Sinus an der die berechnung begonnen wird. ( 0 - 720 )
Type		= Bewegungs Type, es gibt derer 3
           Type = 0 - Schwingen - SinStart ( 0 - 720 )
           Type = 1 - Hüpfen - SinStart ( 0 - 360 )
           Type = 2 - Umgekehrtes Hüpfen - SinStart ( 360 - 720 )

return value
-

Beispiel

EP_CreateRasterBar(1, 0, 32);   Einen unbeweglichen Rasterbalken erstellen

EP_CreateRasterBar(2, 0, 32 , 200, 2, 400, 2); Einen hüpfenden Rasterbalken erstellen


EP_DisplayRasterBar()

Syntax

EP_DisplayRasterBar(BarNumber, Ypos)

Beschreibung

Zeichnet einen vorher definierten Rasterbalken mit der Nummer ( BarNumber ) an die Position ( Ypos ) auf den Bildschirm. Dieser Effekt sollte als erstes in Ihrer Schleife gezeichnet werden damit der Balken nichts überzeichnet und unter allen anderen Effekten liegt.

Ypos bezieht sich auf den Mittelpunkt des Rasterbalken, also auf Position 0 ist nur der halbe Balken zu sehen. Ist dies ein beweglicher Balken, so wird zur Y Positon auf dem Bildschirm noch der vorher definierteSinus Wert aufgerechnet.

Parameter
BarNumber	=  ID Nummer für den Raster Balken
Ypos		= Mittelpunkt des Rasterbalken

return value
-

Beispiel

EP_DisplayRasterBar(2, 200)


EP_DisplayRasterClone()

Syntax

EP_DisplayRasterClone(BarNumber, Ypos)

Beschreibung

Zeichnet eine Kopie vom Rasterbalken mit der Nummer BarNumber auf die Bildschirm Postion Ypos, sollte dieser Balken als bewegender Balken definiert sein, bewegt sich die Kopie ebenfalls ausgehend von der Position Ypos Mit dieser Funktion ist es möglich ein und den selben Balken mehrmals anzeigen zu lassen ohne das die bewegung weiter berechnet wird, was sie täte wenn man mehrmals hintereinander DisplayRasterBar() aufrufen würde.

Parameter
BarNumber	=  ID Nummer für den Raster Balken
Ypos		= Mittelpunkt des Rasterbalken

return value
-


EP_SetRasterSinAdd()

Syntax

EP_SetRasterSinAdd(BarNumber, Value.f)

Beschreibung

Verändert die Sinus geschwindigkeit für den Rasterbalken nr BarNumber und setzt den neuen Wert Value.f. Achtung ein unbeweglicher Balken wird damit nicht zu einem beweglichen.

Parameter
BarNumber	= ID Nummer für den Raster Balken
Value.f		=  Sinusgeschwindigkeit des Rasterbalken

return value
-


EP_SetRasterSinSize()

Syntax

EP_SetRasterSinSize(BarNumber, Value)

Beschreibung

Verändert die Sinus größe für den Rasterbalken nr BarNumber und setzt den neuen Wert Value.f. Achtung ein unbeweglicher Balken wird damit nicht zu einem beweglichen.

Parameter
BarNumber	= ID Nummer für den Raster Balken
Value.f		=  Sinusgröße des Rasterbalken

return value
-

Beispiel

EP_SetRasterSinSize( 1,   200)


EP_RasterBarSetZ()

Syntax

EP_RasterBarSetZ(BarNumber, ZPos)

Beschreibung

Der Befehl EP_RasterBarSetZ setzt die Sichttiefe eines Rasterbars  0-10,  0 = Front, 10 = Hintergrund

Parameter
BarNumber	= ID Nummer für den Raster Balken
ZPos		= 0 -> display front
               to
               10 -> presentation of background

              0 -> Darstellung Front
              bis
              10 -> Darstellung Hintergrund

return value
-


EP_CloseRasterBar()

Syntax

EP_CloseRasterBar(BarNumber)

Beschreibung

Schließt einen vorher definierten Rasterbalken und gibt dessen Speicher wieder frei.

Parameter
BarNumber	= ID Nummer für den Raster Balken

return value
-


EP_SetGradientTable()

Syntax

EP_SetGradientTable(Slotstart, Slotend, Colorstart, Colorend)

Beschreibung

Erstellt Automatisch einen Farbverlauf innerhalb der FarbTabelle, von Slotstart bis Slotend wobei bei der Farbe Colorstart begonnen und bis Colorend die zwischenstufen berechnet werden.

Parameter
Slotstart	= Adressenslot der ersten Farbe ( 0 - 1000 )
Slotend	= Adressenslot der zweiten Farbe ( 0 - 1000 )
Colorstart	= ein 24 Bit Farbwert. RGB() kann zum Ermitteln eines gültigen Farbwertes benutzt werden
Colorend	= ein 24 Bit Farbwert. RGB() kann zum Ermitteln eines gültigen Farbwertes benutzt werden

return value
-


EP_SetColorTable()

Syntax

EP_SetColorTable(Slot, Color)

Beschreibung

Die FXLib speichert bis zu 1000 Farben die Sie in Rasterbars oder den Plasma Effekt verwenden können.

Parameter
Slot	= Adressenslot der Farbe ( 1 - 1000 )
Color	= ein 24 Bit Farbwert. RGB() kann zum Ermitteln eines gültigen Farbwertes benutzt werden

return value
-


EP_GetColorTable()

Syntax

EP_GetColorTable(Slot)

Beschreibung

Gibt den Farbwert aus einem bestimmten Adressenslot zurück, Der zurückgegebene Farbwert ist ein 24 Bit - Wert, der kombiniert die Rot-, Grün- und Blau-Werte der Farbe enthält.

Parameter
Slot	= Adressenslot der Farbe ( 1 - 1000 )

return value
Color des Adressenslot

Beispiel

Farbe = EP_GetColorTable(1); Farbe aus Slot 1 auslesen


EP_ClearColorTable()

Syntax

EP_ClearColorTable()

Beschreibung

Löscht die gesammte Farbtabelle! Achtung wird ein Plasma oder Rasterbalken nach diesem Befehl aufgerufen so sind diese komplett schwarz.

Parameter
-

return value
-

Beispiel

EP_ClearColorTable()


EP_InitFading()

Syntax

EP_InitFading(Color, Speed.f [, XPos, YPos, Xwidth, Yheight])

Beschreibung

Ermöglicht ein weiches Ein und Ausblenden des Bildschirms, mit diesem Befehl wird die Geschwindigkeit und Farbe beim Ausblenden gewählt. Dieser Befehl muss auf jeden Fall vor dem ersten blenden gesetzt werden, danach kann man Problemlos einfach SetFadeColor() oder SetFadeSpeed() benutzen um diese Werte zu setzen. Auch hier ist es wieder wichtig das Sie vorher InitSprite3D() Initialisiert haben.

Optional können Sie den Blendbereich auch einschränken, Sie können XPos, YPos und mit Breite und Höhe den Bereich in dem geblendet werden soll genau definieren.

Parameter
Color	= ein 24 Bit Farbwert. RGB() kann zum Ermitteln eines gültigen Farbwertes benutzt werden.
Speed.f	= Geschwindigkeit beim umblenden des Bildschirms
XPos	= Die X Koordinate des linken oberen Punktes.
YPos	= Die Y Koordinate des linken oberen Punktes.
Xwidth 	= Die Breite des Fading Bereichs
Yheight 	= Die Höhe des Fading Bereichs

return value
-

Beispiel

EP_InitFading( RGB(0,0,0),   2.5,   0 , 100,   640,   300)


EP_SetFadeState()

Syntax

EP_SetFadeState(State)

Beschreibung

Setzt einen Status beim Faden, dieser wird auch Dynamisch von der Fade Funktion verändert. Mit dieser Funktion signalisieren Sie der Fade Funktion ob sie den Bildschirm ein oder Ausblenden soll.

Parameter
State	= Fade Status setzen, ( -2 / 2 )
       -2 bedeutet der Bildschirm ist eingeblendet also der Inhalt sichtbar
        2 bedeutet der Bildschirm ist ausgeblendet man sieht nichts vom Inhalt.

return value
-

Beispiel

EP_SetFadeState(2); Screen ausgeblendet, gleich wird eingeblendet !!


EP_FadeScreen()

Syntax

EP_FadeScreen(Direction)

Beschreibung

Dieser Befehl blendet nun letzendlich den Bildschirm in der vorher gewählten Farbe um. Mit Direction können Sie die gewünschte Richtung angeben in der geblendet werden soll.

Parameter
Direction	= Richtung beim Blenden ( 0 - 1 )
       0 - bedeutet Bildschirm ist unsichtbar und wir blenden zum sichtbaren hin.
       1 - bedeutet Bildschirm ist sichtbar und wir blenden langsam aus.

return value
-

Beispiel

EP_FadeScreen( 0 )


EP_SetFadeColor()

Syntax

EP_SetFadeColor(Color)

Beschreibung

Verändert die Farbe mit der umgeblendet werden soll

Parameter
Color	= ein 24 Bit Farbwert. RGB() kann zum Ermitteln eines gültigen Farbwertes benutzt werden.

return value
-

Beispiel

EP_SetFadeColor( RGB( 255, 255, 255) )


EP_SetFadeSpeed()

Syntax

EP_SetFadeSpeed(Speed.f)

Beschreibung

Verändert die Geschwindigkeit mit der umgeblendet werden soll

Parameter
Speed.f	= ändert die Geschwindigkeit beim umblenden

return value
-

Beispiel

EP_SetFadeSpeed(2.5)


EP_FadeSetZ()

Syntax

EP_FadeSetZ(ZPos)

Beschreibung

Der Befehl EP_FadeSetZ(ZPos) setzt die Fade Sichttiefe  0-10,  0 = Front, 10 = Hintergrund

Parameter
ZPos	=  0 -> display front
        to
         10 -> presentation of background

        0 -> Darstellung Front
        bis
        10 -> Darstellung Hintergrund

return value
-


EP_CatchBallObject()

Syntax

EP_CatchBallObject(ID, ObjectStart, ObjectEnd)

Beschreibung


EP_CatchVectorObject()

Syntax

EP_CatchVectorObject(ObjectStart, ObjectEnd [, Scale.f])

Beschreibung


EP_ClearBallObject()

Syntax

EP_ClearBallObject(ID)

Beschreibung


EP_Close3DBall()

Syntax

EP_Close3DBall(BallNumber)

Beschreibung


EP_CreateBallObject()

Syntax

EP_CreateBallObject(Teil.f)

Beschreibung


EP_DrawBallObject()

Syntax

EP_DrawBallObject(Camera)

Beschreibung


EP_Load3DBall()

Syntax

EP_Load3DBall(BallNumber, Filename.s)

Beschreibung


EP_LoadBallObject()

Syntax

EP_LoadBallObject(ID, Filename.s)

Beschreibung


MP_BallSetConeLimits()

Syntax

MP_BallSetConeLimits(Entity,PinX,PinY,PinZ,maxConeAngle.f,maxTwistAngle.f)

Beschreibung

Create limit of Ball


EP_LoadVectorObject()

Syntax

EP_LoadVectorObject(Filename.s [, Scale.f])

Beschreibung


EP_SetPolygon()

Syntax

EP_SetPolygon(Object, Pnt1, Pnt2, Pnt3, Pnt4 [, Col])

Beschreibung


EP_AddTileGFX()

Syntax

EP_AddTileGFX(Path.s)

Beschreibung

EP_AddTileGFX lädt eine Grafik und zerteilt sie in einzelne kleine Tiles die dann für die Map verwendet werden können.
Die geladene Grafik kann durchaus größer sein als die in dieser Map benutze Tile größe.

value = EP_AddTileGFX ( "MeinOrdner\MeineGrafik.bmp" )

Bei Rückgabe von ungleich 0 hat der vorgang Funktioniert, und die vorghandene Tile Anzahl ist gestiegen


EP_AnimTiletoFront()

Syntax

EP_AnimTiletoFront(TileNr)

Beschreibung

Setzt ein Animtile an vorderste Stelle in der Spriteliste.
Es ist manchmal notwendig das ein Tile (in diesem Falle ein Animtile) ganz oben über allen anderen steht!


EP_CatchAnimTile()

Syntax

EP_CatchAnimTile(Start, Lenght)

Beschreibung

Erzeugt aus einer Grafik Datei die im Speicher liegt ein Animtile

?Start	- Anfangsadresse der Grafikdatei
?Lenght	- größe der Grafikdatei

value = EP_CatchAnimTile ( ?Start , ?Lenght-?Start )

Bei Rückgabe von ungleich -1 hat der vorgang Funktioniert.


EP_CatchTileGFX()

Syntax

EP_CatchTileGFX(Start, Lenght)

Beschreibung

Liest neue Tiles aus einem  PureBasic Image aus.

GFX_nr	ist dabei die Nummer des PureBasic Image´s

Bei einem Rückgabewert von -1 hat die Funktion fehlgeschlagen und wurde abgebrochen.
Jeder andere wert ist die Anzahl der neu eingelesenen Tiles.


EP_ClearAnims()

Syntax

EP_ClearAnims()

Beschreibung

Löscht nur die Anim Tiles


EP_ClearMapBlock()

Syntax

EP_ClearMapBlock()

Beschreibung

Löscht den MapBlock Bereich


EP_ClearTiles()

Syntax

EP_ClearTiles()

Beschreibung

Löscht nur die Tiles


EP_CountFlag()

Syntax

EP_CountFlag(FlagNR)

Beschreibung

Zählt wie oft ein Flag in der Map vorkommt, es wird dabei der komplette Kartenbereich durchsucht.

FlagNR	ist der Wert der gezählt werden soll

Rückgabewert ist die Anzahl des desuchten Wertes in der Karte


EP_CountFlagArea()

Syntax

EP_CountFlagArea(FlagNR, XPos, YPos, Width, Height)

Beschreibung

Zählt wie oft ein Flag in einem Teilbereich der Map vorkommt.

FlagNR	ist der Wert der gezählt werden soll
XPos	Der X Wert der linken oberen Ecke des zu durchsuchenden Bereichs
YPos	Der Y Wert der linken oberen Ecke des zu durchsuchenden Bereichs
Width	Die Horizontale Ausdehnung des zu durchsuchenden Bereichs
Height	Die Vertikale Ausdehnung des zu durchsuchenden Bereichs

Die Positions Angaben sind alle in Tiles zu machen

Rückgabewert ist die Anzahl des desuchten Wertes in dem Kartenausschnitt


EP_CountItem()

Syntax

EP_CountItem(ItemNR)

Beschreibung

Zählt wie oft ein Item in der Map vorkommt, es wird dabei der komplette Kartenbereich durchsucht.

ItemNR	ist der Wert der gezählt werden soll

Rückgabewert ist die Anzahl des desuchten Wertes in der Karte


EP_CountItemArea()

Syntax

EP_CountItemArea(ItemNR, XPos, YPos, Width, Height)

Beschreibung

Zählt wie oft ein Item in einem Teilbereich der Map vorkommt

ItemNR	ist der Wert der gezählt werden soll
XPos	Der X Wert der linken oberen Ecke des zu durchsuchenden Bereichs
YPos	Der Y Wert der linken oberen Ecke des zu durchsuchenden Bereichs
Width	Die Horizontale Ausdehnung des zu durchsuchenden Bereichs
Height	Die Vertikale Ausdehnung des zu durchsuchenden Bereichs

Die Positions Angaben sind alle in Tiles zu machen

Rückgabewert ist die Anzahl des desuchten Wertes in dem Kartenausschnitt


EP_CountTile()

Syntax

EP_CountTile(TileNR)

Beschreibung

Zählt wie oft ein Tile in der Map vorkommt, es wird dabei der komplette Kartenbereich durchsucht.

TileNR	ist der Wert der gezählt werden soll

Rückgabewert ist die Anzahl des desuchten Wertes in der Karte


EP_CountTileArea()

Syntax

EP_CountTileArea(TileNR, XPos, YPos, Width, Height)

Beschreibung

Zählt wie oft ein Tile in einem Teilbereich der Map vorkommt

TileNR	ist der Wert der gezählt werden soll
XPos	Der X Wert der linken oberen Ecke des zu durchsuchenden Bereichs
YPos	Der Y Wert der linken oberen Ecke des zu durchsuchenden Bereichs
Width	Die Horizontale Ausdehnung des zu durchsuchenden Bereichs
Height	Die Vertikale Ausdehnung des zu durchsuchenden Bereichs

Die Positions Angaben sind alle in Tiles zu machen

Rückgabewert ist die Anzahl des desuchten Wertes in dem Kartenausschnitt


EP_CreateMap()

Syntax

EP_CreateMap(XSize, YSize, TileSize)

Beschreibung

Eine neue Leere Map erstellen ( alle bereits vorhandenen werte werden gelöscht )

XSize	Die Horizontale Ausdehnung der Karte ( also Anzahl der Tiles in X Richtung )
YSize	Die Vertikale Ausdehnung der Karte ( also Anzahl der Tiles in Y Richtung )
TileSize	Die größe der Tiles die in dieser Map verwendet wird ( zb. 32 Pixel pro Tile )

Rückgabewert ist hier der verbrauchte Speicher der erstellten Karte in Bytes, ist der Rückgabewert = -1 dann hat das erstellen nicht Funktioniert.cht)


EP_CreateMapBlock()

Syntax

EP_CreateMapBlock(X_Size, Y_Size)

Beschreibung

Der MapBlock ist eine extra Karten Bereich der Ausserhalb der eigentlichen Karte erstellt wird.
Hier kann man zb. Kartenbereiche kopieren und an anderer stelle in der Karte wieder einfügen usw.

XSize	Die Horizontale Ausdehnung des Kartenblocks ( also Anzahl der Tiles in X Richtung )
YSize	Die Vertikale Ausdehnung des Kartenblocks ( also Anzahl der Tiles in Y Richtung )

Rückgabewert ist hier der verbrauchte Speicher des erstellten Kartenblocks in Bytes, ist der Rückgabewert = -1 dann hat das erstellen nicht Funktioniert.


EP_DrawAnimTile()

Syntax

EP_DrawAnimTile(XPos, YPos, TileNr)

Beschreibung

Ein einzelnes AnimTile auf eine bestimmt Position zeichnen

TileNr	Das AnimTile das gezeichnet werden soll
XPos	Die X Bildschirm Positon an der das Tile gezeichnet werden soll
YPos	Die Y Bildschirm Position an der das Tile gezeichnet werden soll

Die Positionsangaben sind in diesem Falle Pixel


EP_DrawMap()

Syntax

EP_DrawMap()

Beschreibung

Die Karte anhand der mit EP_SetMapArea() vordefinierten Werte auf den Bildschirm zeichnen

Rückgabewert ist hier die Summe der gezeichneten Tiles


EP_DrawMapBlock()

Syntax

EP_DrawMapBlock(Xpos,Ypos)

Beschreibung

Bei diesem Befehl wird nicht wirklich etwas gezeichnet, vielmehr wird der inhalt des MapBlocks komplett in die Karte kopiert.

Xpos	Die X Position in der Karte an der die Daten einkopiert werden sollen
Ypos	Die Y Position in der Karte an der die Daten einkopiert werden sollen

Die Positionsangaben sind hier in Tiles anzugeben

Der Rückgabewert ist hier die Anzahl der einkopierten Tiles


EP_DrawTile()

Syntax

EP_DrawTile(XPos, YPos, TileNr)

Beschreibung

Ein einzelnes Tile auf eine bestimmt Position zeichnen

TileNr	Das Tile das gezeichnet werden soll
XPos	Die X Bildschirm Positon an der das Tile gezeichnet werden soll
YPos	Die Y Bildschirm Position an der das Tile gezeichnet werden soll

Die Positionsangaben sind in diesem Falle Pixel


EP_DrawTransparentMapBlock()

Syntax

EP_DrawTransparentMapBlock(Xpos,Ypos)

Beschreibung

Bei diesem Befehl wird nicht wirklich etwas gezeichnet, vielmehr wird der inhalt des MapBlocks in die Karte kopiert wobei aber die leeren stellen des MapBlocks nicht mit kopiert werden.

Xpos	Die X Position in der Karte an der die Daten einkopiert werden sollen
Ypos	Die Y Position in der Karte an der die Daten einkopiert werden sollen

Die Positionsangaben sind hier in Tiles anzugeben

Der Rückgabewert ist hier die Anzahl der einkopierten Tiles


EP_FindFlag()

Syntax

EP_FindFlag(FlagNR, Count)

Beschreibung

Sucht einen bestimmten Wert in der Karte und speichert dessen Position. Die Position des gefundenen Wertes kann einfach mittels EP_GetFindResultX() und EP_GetFindResultY() ausgelesen werden.
Vor dem Aufruf dieses Befehls sollte mit EP_CountFlag() ermittelt werden wie oft dieser Wert in der Karte vorkommt.

FlagNR	Der Flagwert der gesucht werden soll
Count	Der wievielte Wert in der Karte der gesucht werden soll

Rückgaber <> -1 bedeutet die Funktion hat einen Wert gefunden und das Ergebnis wurde zwischengespeichert, bei rückgabe von -1 ist die Funktion fehlgeschlagen


EP_FindFlagArea()

Syntax

EP_FindFlagArea(FlagNR, Count, XPos, YPos, Width, Height)

Beschreibung

Sucht einen bestimmten Flagwert in einem Kartenbereich und speichert dessen Position. Die Position des gefundenen Wertes kann einfach mittels EP_GetFindResultX() und EP_GetFindResultY() ausgelesen werden.
Vor dem Aufruf dieses Befehls sollte mit EP_CountFlagArea() ermittelt werden wie oft dieser Wert in dem Kartenbereich vorkommt.

FlagNR	Der Flagwert der gesucht werden soll
Count	Der wievielte Wert in der Karte der gesucht werden soll
XPos	Der X Wert der linken oberen Ecke des zu durchsuchenden Bereichs
YPos	Der Y Wert der linken oberen Ecke des zu durchsuchenden Bereichs
Width	Die Horizontale Ausdehnung des zu durchsuchenden Bereichs
Height	Die Vertikale Ausdehnung des zu durchsuchenden Bereichs

Rückgaber <> -1 bedeutet die Funktion hat einen Wert gefunden und das Ergebnis wurde zwischengespeichert, bei rückgabe von -1 ist die Funktion fehlgeschlagen


EP_FindItem()

Syntax

EP_FindItem(ItemNR, Count)

Beschreibung

Sucht einen bestimmten Itemwert in der Karte und speichert dessen Position. Die Position des gefundenen Wertes kann einfach mittels EP_GetFindResultX() und EP_GetFindResultY() ausgelesen werden.
Vor dem Aufruf dieses Befehls sollte mit EP_CountItem() ermittelt werden wie oft dieser Wert in der Karte vorkommt.

ItemNR	Der Itemwert der gesucht werden soll
Count	Der wievielte Wert in der Karte der gesucht werden soll

Rückgaber <> -1 bedeutet die Funktion hat einen Wert gefunden und das Ergebnis wurde zwischengespeichert, bei rückgabe von -1 ist die Funktion fehlgeschlagen


EP_FindItemArea()

Syntax

EP_FindItemArea(ItemNR, Count, XPos, YPos, Width, Height)

Beschreibung

Sucht einen bestimmten Itemwert in einem Kartenbereich und speichert dessen Position. Die Position des gefundenen Wertes kann einfach mittels EP_GetFindResultX() und EP_GetFindResultY() ausgelesen werden.
Vor dem Aufruf dieses Befehls sollte mit EP_CountItemArea() ermittelt werden wie oft dieser Wert in dem Kartenbereich vorkommt.

ItemNR	Der Itemwert der gesucht werden soll
Count	Der wievielte Wert in der Karte der gesucht werden soll
XPos	Der X Wert der linken oberen Ecke des zu durchsuchenden Bereichs
YPos	Der Y Wert der linken oberen Ecke des zu durchsuchenden Bereichs
Width	Die Horizontale Ausdehnung des zu durchsuchenden Bereichs
Height	Die Vertikale Ausdehnung des zu durchsuchenden Bereichs

Rückgaber <> -1 bedeutet die Funktion hat einen Wert gefunden und das Ergebnis wurde zwischengespeichert, bei rückgabe von -1 ist die Funktion fehlgeschlagen


EP_GetAnimGFXPath()

Syntax

EP_GetAnimGFXPath(Entry)

Beschreibung

Beim Einlesen eines Animierten Tiles wird der Pfad der geladenen Grafik zwischen gespeichert um beim Laden einer "Karte.Map" Datei dieses AnimTile wieder laden zu können.
Mit diesem Befehl kann man sich die einzelnen Pfade der AnimTiles ausgeben lassen.

Entry	Der Eintrag der ausgelesen werden soll

Die Anzahl der eingelesenen AnimTiles kann man mit EP_GetAnimTileCount() auslesen.

Rückgabewert ist hier eine String Variable, diese beinhaltet den Pfad zu dem angegebenen AnimTile


EP_GetAnimTileCount()

Syntax

EP_GetAnimTileCount()

Beschreibung

Gibt die Anzahl der eingelesenen AnimTile Grafiken zurück

Rückgabewert ist die Anzahl der eingelesenen AnimTiles


EP_GetFindResultX()

Syntax

EP_GetFindResultX()

Beschreibung

Gibt die X Position in der Karte des vorher gesuchten Wertes zurück.

Zum ermitteln eines Wertes können folgende Befehle benutzt werden,
EP_FindFlag()
EP_FindFlagArea()
EP_FindItem()
EP_FindItemArea()


EP_GetFindResultY()

Syntax

EP_GetFindResultY()

Beschreibung

Gibt die Y Position in der Karte des vorher gesuchten Wertes zurück

Zum ermitteln eines Wertes können folgende Befehle benutzt werden,
EP_FindFlag()
EP_FindFlagArea()
EP_FindItem()
EP_FindItemArea()


EP_GetGFXPath()

Syntax

EP_GetGFXPath()

Beschreibung

Rückgabe des vorher angegebenen Grafik Pfades


EP_GetMapAnim()

Syntax

EP_GetMapAnim(XPos, YPos)

Beschreibung

Einen Animwert aus der Map auslesen

XPos	Die X Position des Tiles in der Karte
YPos	Die Y Position des Tiles in der Karte

Der Rückgabewert ist hier das verwendete AnimTile. wenn kein AnimTile benutzt wurde wird -1 zurück gegeben.

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetMapBlockAnim()

Syntax

EP_GetMapBlockAnim(XPos, YPos)

Beschreibung

Einen Animwert aus dem MapBlock auslesen

XPos	Die X Position des Tiles im MapBlock
YPos	Die Y Position des Tiles im MapBlock

Der Rückgabewert ist hier das verwendete AnimTile. wenn kein AnimTile benutzt wurde wird -1 zurück gegeben.

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetMapBlockFlag()

Syntax

EP_GetMapBlockFlag(XPos, YPos)

Beschreibung

Einen Flagwert aus dem MapBlock auslesen

XPos	Die X Position des Tiles im MapBlock
YPos	Die Y Position des Tiles im MapBlock

Der Rückgabewert ist hier der Flagwert

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetMapBlockItem()

Syntax

EP_GetMapBlockItem(XPos, YPos)

Beschreibung

Einen Itemwert aus dem MapBlock auslesen

XPos	Die X Position des Tiles im MapBlock
YPos	Die Y Position des Tiles im MapBlock

Der Rückgabewert ist hier das verwendete ItemTile. wenn kein ItemTile benutzt wurde wird -1 zurück gegeben.

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetMapBlockTile()

Syntax

EP_GetMapBlockTile(XPos, YPos)

Beschreibung

Einen Tilewert aus dem MapBlock auslesen

XPos	Die X Position des Tiles im MapBlock
YPos	Die Y Position des Tiles im MapBlock

Der Rückgabewert ist hier das verwendete Tile

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetMapBlockTrans()

Syntax

EP_GetMapBlockTrans(XPos, YPos)

Beschreibung

Einen Transparenzwert aus dem MapBlock auslesen

XPos	Die X Position des Tiles im MapBlock
YPos	Die Y Position des Tiles im MapBlock

Der Rückgabewert ist hier die Transparenz die dieses Tile hat

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetMapFlag()

Syntax

EP_GetMapFlag(XPos, YPos)

Beschreibung

Einen Flag wert aus der Map auslesen

XPos	Die X Position des Tiles in der Karte
YPos	Die Y Position des Tiles in der Karte

Der Rückgabewert ist hier der Flagwert

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetMapItem()

Syntax

EP_GetMapItem(XPos, YPos)

Beschreibung

Einen Item aus der Map auslesen

XPos	Die X Position des Tiles in der Karte
YPos	Die Y Position des Tiles in der Karte

Der Rückgabewert ist hier das verwendete ItemTile. wenn kein ItemTile benutzt wurde wird -1 zurück gegeben.

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetMapSizeX()

Syntax

EP_GetMapSizeX()

Beschreibung

Gibt die X Ausmaße der Map zurück  von 0 - Ergebnis // Breite in Tiles


EP_GetMapSizeY()

Syntax

EP_GetMapSizeY()

Beschreibung

Gibt die Y Ausmaße der Map zurück  von 0 - Ergebnis // Höhe in Tiles


EP_GetMapTile()

Syntax

EP_GetMapTile(XPos, YPos)

Beschreibung

Einen Tile wert aus der Map auslesen

XPos	Die X Position des Tiles in der Karte
YPos	Die Y Position des Tiles in der Karte

Der Rückgabewert ist hier das verwendete Tile

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetMapTrans()

Syntax

EP_GetMapTrans(XPos, YPos)

Beschreibung

Einen Transparenzwert aus der Map auslesen

XPos	Die X Position des Tiles in der Karte
YPos	Die Y Position des Tiles in der Karte

Der Rückgabewert ist hier die Transparenz die dieses Tile hat

Die Positions Angaben sind hier in Tiles anzugeben


EP_GetTileCount()

Syntax

EP_GetTileCount()

Beschreibung

Gibt die Anzahl der eingelesenen Tile Grafiken zurück


EP_GetTileGFXCatch()

Syntax

EP_GetTileGFXCatch()

Beschreibung

Fragt ab ob die Kartengrafiken aus dem Speicher gecach´t werden sollen

Rückgabewert = 0	bedeutet die Grafiken werden normal nachgeladen
Rückgabewert = 1	bedeutet die Grafiken werden aus dem Speicher gecach´t und der User selber kümmert sich ums einlesen der Grafiken


EP_GetTileGFXCount()

Syntax

EP_GetTileGFXCount()

Beschreibung

Gibt die Anzahl der Tile GFX einträge zurück


EP_GetTileGFXPath()

Syntax

EP_GetTileGFXPath(Entry)

Beschreibung

Beim Einlesen eines Tiles wird der Pfad der geladenen Grafik zwischen gespeichert um beim Laden einer "Karte.Map" Datei diese Tilegrafik wieder laden zu können.
Mit diesem Befehl kann man sich die einzelnen Pfade der Tilegrafiken ausgeben lassen.

Entry	Der Eintrag der ausgelesen werden soll

Die Anzahl der eingelesenen Tile-Grafiken kann man mit EP_GetTileGFXCount() auslesen.

Rückgabewert ist hier eine String Variable, diese beinhaltet den Pfad zu der angegebenen Tile Grafik


EP_GetTileSize()

Syntax

EP_GetTileSize()

Beschreibung

Gibt die in der Map verwendete Tile größe zurück


EP_GetTileSprite()

Syntax

EP_GetTileSprite(TileNr)

Beschreibung

Wenn es notwendig ist das man das Sprite Handle zu einem Tile identifiziert, dann kann man es mit diesem Befehl tun.

TileNr	Die Tilenummer des Tiles das man Identifizieren möchte

Rückgabewert ist dann das Sprite-Handle des Tiles


EP_GrabMapBlock()

Syntax

EP_GrabMapBlock(X, Y, X2, Y2)

Beschreibung

Kopiert einen definierten Bereich aus der Karte in den MapBlock.

X	Der X wert der linken oberen Ecke des zu kopierenden Bereiches
Y	Der Y wert der linken oberen Ecke des zu kopierenden Bereiches
X2	Der X wert der rechten unteren Ecke des zu kopierenden Bereiches
Y2	Der Y wert der rechten unteren Ecke des zu kopierenden Bereiches

Rückgabewert <> -1 bedeutet der vorgang hat Funktioniert


EP_Init2dMap()

Syntax

EP_Init2dMap()

Beschreibung

Mit diesem Befehl initialisiert man das 2D Tile Map system,
dieser Befehl sollte der erste sein den man benutzt wenn man das Tile Map system benutzen möchte.


EP_LoadAnimTile()

Syntax

EP_LoadAnimTile(Path.s)

Beschreibung

Lädt ein Anim Tile und fügt es den Map Grafik Tiles hinzu.

Path.s	Den Pfad zu der Grafik die geladen werden soll

Rückgabewert <> -1 bedeutet das Laden hat Funktioniert und das Animtile kann verwendet werden


EP_LoadMap()

Syntax

EP_LoadMap(FileName.s)

Beschreibung

Lädt die angegebene Karte in den Speicher, alle grafiken werden Automatisch mit den in der Karte gesicherten Pfaden nachgeladen und eingelesen.
Es ist möglich das Automatische nachladen der Grafiken zu unterbinden um sich selbst um das erstellen der Grafiken zu kümmern, zb. wenn man die Grafiken
mit im Programm selbst Catch´t

FileName.s	Der Pfad und Dateiname der zu ladenen Karten Datei

Rückgabewert <> -1 bedeutet der vorgang hat Funktioniert


EP_CatchMap()

Syntax

EP_CatchMap(Start)

Beschreibung

Lädt die angegebene Karte aus dem Speicher in den Speicher, alle Grafiken werden Automatisch mit den in der Karte gesicherten Pfaden nachgeladen und eingelesen.
Es ist möglich das Automatische nachladen der Grafiken zu unterbinden um sich selbst um das erstellen der Grafiken zu kümmern, zb. wenn man die Grafiken
mit im Programm selbst Catch´t

?Start	- Anfangsadresse der Mapi

value = EP_CatchMape ( ?Start)

Bei Rückgabe von ungleich -1 hat der vorgang Funktioniert.


EP_MapPosition()

Syntax

EP_MapPosition(XPos.f, YPos.f)

Beschreibung

Dieser Befehl bewegt die Karte über den Bildschirm, und zwar werden die Koordinaten in Pixel angegeben.
Die Kartenbreite berechnet sich in Breite der Karte in ( Tiles * Tilegröße ). die höhe wird entsprechend genauso berechnet.

XPos.f	Die X Pixelposition in der Karte ( float variable )
YPos.f	Die Y Pixelposition in der Karte ( float variable )

Die Positions Angaben sind hier in Pixel vorzunehmen, es können dafür auch Float werte Benutzt werden.


EP_MapSysVersion()

Syntax

EP_MapSysVersion()

Beschreibung

Version dieser TileEngine


EP_MapX2Pixel()

Syntax

EP_MapX2Pixel(Xpos)

Beschreibung

Berechnet die Bildschirm Position einer bestimmten Tile-Position  in der Map.
Wird zb, benötigt um die Werte der Umgebung bei der Spielfigur zu überprüfen

Xpos	Die X Position eines Objekts in der Map

Die Positionen sind hier in Tiles anzugeben

Rückgabewert wird ein Pixelwert sein


EP_MapX2ScreenX()

Syntax

EP_MapX2ScreenX(XPos)

Beschreibung

Gibt eine Pixel Koordinate relativ zur Map Position zurück.
Wird zb. benötigt um Partikel Effekte in der Karte darzustellen, die sich dann mit der Bewegung der Karte selber auch bewegen.
Es wird hier ein Pixelwert aus der Karte übergeben also zb. ( Maximale_X_größe * Tile_größe ). der Rückgabewert ist dann die wirkliche Bildschirm Koordinate

XPos	Karten Koordinate die übergeben wird

Rückgabewert ist die Bildschirm Koordinate der Karten-Koordinate


EP_MapY2Pixel()

Syntax

EP_MapY2Pixel(Ypos)

Beschreibung

Berechnet die Bildschirm Position einer bestimmten Tile-Position  in der Map
Wird zb, benötigt um die Werte der Umgebung bei der Spielfigur zu überprüfen

Ypos	Die Y Position eines Objekts in der Map

Die Positionen sind hier in Tiles anzugeben

Rückgabewert wird ein Pixelwert sein


EP_MapY2ScreenY()

Syntax

EP_MapY2ScreenY(YPos)

Beschreibung

Gibt eine Pixel Koordinate relativ zur Map Position zurück.
Wird zb. benötigt um Partikel Effekte in der Karte darzustellen, die sich dann mit der Bewegung der Karte selber auch bewegen.
Es wird hier ein Pixelwert aus der Karte übergeben also zb. ( Maximale_Y_größe * Tile_größe ). der Rückgabewert ist dann die wirkliche Bildschirm Koordinate

YPos	Karten Koordinate die übergeben wird

Rückgabewert ist die Bildschirm Koordinate der Karten-Koordinate


EP_Pixel2Map_X()

Syntax

EP_Pixel2Map_X(XX_pixel)

Beschreibung

Rechnet ein Bildschirm Pixel-Position zur Position in der Map in relation zur Scrollposition um
Wird benötigt um zb. das Tile unter der Spielfigur zu ermitteln

XX_pixel	Die Bildschirm Koordinate die man berechnen möchte

Rückgabewert ist dann die Pixelposition in der Karte


EP_Pixel2Map_Y()

Syntax

EP_Pixel2Map_Y(YY_pixel)

Beschreibung

Rechnet ein Bildschirm Pixel-Position zur Position in der Map in relation zur Scrollposition um
Wird benötigt um zb. das Tile unter der Spielfigur zu ermitteln

YY_pixel	Die Bildschirm Koordinate die man berechnen möchte

Rückgabewert ist dann die Pixelposition in der Karte


EP_ResetMapData()

Syntax

EP_ResetMapData()

Beschreibung

Dieser Befehl löscht komplett alle Daten der aktuellen Karte, inklusive Grafiken und Pfade.
Es wird komplett alles zurück gesetzt.


EP_SaveMap()

Syntax

EP_SaveMap(FileName.s)

Beschreibung

Speichert die Aktuelle Map, inklusive aller Pfade zu Grafiken.

FileName.s	Der Pfad inklusive Dateiname wo die Karte hin gesichert werden soll

Rückgabewert <> -1 bedeutet der vorgang hat Funktioniert


EP_SaveTile()

Syntax

EP_SaveTile(TileNR, Path.s, Format)

Beschreibung

Speichert ein einzelnes Tile auf einen Datenträger

TileNR	Die Tile Nummer die gespeichert werden soll
Path.s	Der Pfad inklusive Dateinamen
Format	In welchem Format die Grafik gespeichert werden soll

Format = 	0	*.bmp	( Windows Bitmp )
    1	*.jpg	( Jpeg )
    2	*.tga	( Targa )
    3	*.png	( Portable Network Graphics )
    4	*.dds	( Direct Draw )
    5	*.ppm	( Portable Pixel Map )
    6	*.dib	( Device Independent bitmap )
    7	*.hdr	( High Dynamic Range )
    8	*.pfm	( Portable floatmap )


EP_ScreenX2MapX()

Syntax

EP_ScreenX2MapX(XPos)

Beschreibung

Gibt eine Pixel Koordinate relativ zur Map Position zurück, wird benötigt um zb, Sprite objekte an eine bestimmte Position in der Map zu setzen

XPos	Die Bildschirm Koordinate die zur Karten Koordinate umgerechnet werden soll

Rückgabewert ist die Karten Pixelkoordinate


EP_ScreenY2MapY()

Syntax

EP_ScreenY2MapY(YPos)

Beschreibung

Gibt eine Pixel Koordinate relativ zur Map Position zurück, wird benötigt um zb, Sprite objekte an eine bestimmte Position in der Map zu setzen

YPos	Die Bildschirm Koordinate die zur Karten Koordinate umgerechnet werden soll

Rückgabewert ist die Karten Pixelkoordinate


EP_SetAnimTileSpeed()

Syntax

EP_SetAnimTileSpeed(AnimTile, Speed)

Beschreibung

Setzt eine neue Geschwindigkeit für ein AnimTile

AnimTile	Das AnimTile dessen Geschwindigkeit verändert werden soll
Speed	Die Geschwindigkeit für das AnimTile ( Anzahl der Frames die pro Sekunde dargestellt werden )

Rückgabewert <> -1 bedeutet der vorgang hat Funktioniert


EP_SetGFXPath()

Syntax

EP_SetGFXPath(Path.s)

Beschreibung

Mit diesem Befehl ist es möglich den in der Karte gespeicherten Pfad der Grafiken zu ignorieren und stattdessen die Grafiken an diesem Ort nach zu laden.

Path.s	Den neuen Pfad zu den Grafiken der Karte


EP_SetMapAnim()

Syntax

EP_SetMapAnim(XPos, YPos, Value)

Beschreibung

Einen Anim wert auf eine Tile Position in der Karte schreiben, dieser Befehl überschreibt das normale Tile und es wird stattdessen das
Anim Tile an dieser Position dargestellt.

XPos	X Position des Tiles in der Karte
YPos	Y Position des Tiles in der Karte
Value	Das AnimTile das hier erscheinen soll

Positionsangaben sind hier in Tiles anzugeben


EP_SetMapArea()

Syntax

EP_SetMapArea(XPos, YPos, width, Height)

Beschreibung

Einer der Hauptbefehle um eine Karte darstellen zu können, dieser Befehl wird einmal vor der Hauptschleife aufgerufen um den Anzeige Bereich der Karte
auf dem Bildschirm zu definieren. Müssen mehrere Bereiche gleichzeitig definiert werden, muss man diesen Befehl vor dem EP_DrawMap() Befehl aufrufen
um den aktuellen Karten Anzeige Bereich zu übergeben.

Die Linke obere Ecke des Anzeige Bereichs, wird hier in Pixel Koordinaten angegeben
XPos	Linke Obere Ecke in Pixel Koordinaten
YPos	Linke Obere Ecke in Pixel Koordinaten

Die Ausdehnung der Karte wird dann noch in Tiles (die dargestellt werden) angegeben
Width	Die Breite der Karte in Tiles
Height	Die Höhe der Karte in Tiles

Es gibt noch anzumerken das die Ränder der Karte nicht geclippet werden, man sollte also selber dafür sorgen das der Aufbau der Karte verdeckt wird.
Es macht ebenfalls keinen Sinn die Karte sehr weit ausserhalb des Bildschirms zeichnen zu lassen, da sowieso nur die derzeitige Karten Position im
Anzeige Bereich dargestellt wird.

Optimal ist XPos und YPos bei 0 und Width und Height ein Tile größer als die Bildschirmmaße


EP_SetMapBlockAnim()

Syntax

EP_SetMapBlockAnim(XPos, YPos, Value)

Beschreibung

Einen Anim wert auf eine Tile Position in den MapBlock schreiben, dieser Befehl überschreibt das normale Tile und es wird stattdessen das
Anim Tile an dieser Position dargestellt.

XPos	X Position des Tiles in den MapBlock
YPos	Y Position des Tiles in den MapBlock
Value	Das AnimTile das hier erscheinen soll

Positionsangaben sind hier in Tiles anzugeben


EP_SetMapBlockFlag()

Syntax

EP_SetMapBlockFlag(XPos, YPos, Value)

Beschreibung

Einen Flag wert auf eine Tile Position in den MapBlock schreiben.

XPos	X Position des Tiles in den MapBlock
YPos	Y Position des Tiles in den MapBlock
Value	Der Flag wert der auf dieses Tile geschrieben werden soll

Positionsangaben sind hier in Tiles anzugeben


EP_SetMapBlockItem()

Syntax

EP_SetMapBlockItem(XPos, YPos, Value)

Beschreibung

Einen Item wert auf eine Tile Position in den MapBlock schreiben, dieser Befehl setzt praktisch ein Anim Tile über das bereits
vorhandene Tile oder AnimTile an dieser MapBlock Position. So lassen sich zb. Dinge erstellen die eingesammelt werden müssen usw.

XPos	X Position des Tiles in den MapBlock
YPos	Y Position des Tiles in den MapBlock
Value	Das AnimTile das hier über dem bereits vorhandenen Tile erscheinen soll

Positionsangaben sind hier in Tiles anzugeben


EP_SetMapBlockTile()

Syntax

EP_SetMapBlockTile(XPos, YPos, Value)

Beschreibung

Einen Tile wert auf eine Tile Position in den MapBlock schreiben. Dieser Befehl zeichnet ein Tile in den MapBlock

XPos	X Position des Tiles in den MapBlock
YPos	Y Position des Tiles in den MapBlock
Value	Der Tilewert der auf dieses Position geschrieben werden soll

Positionsangaben sind hier in Tiles anzugeben


EP_SetMapBlockTrans()

Syntax

EP_SetMapBlockTrans(XPos, YPos, Value)

Beschreibung

Einen Transparenz wert auf eine Tile Position in den MapBlock schreiben. Dieser Befehl lässt ein Tile oder AnimTile Transparent erscheinen

XPos	X Position des Tiles in den MapBlock
YPos	Y Position des Tiles in den MapBlock
Value	Der Transparenz wert der auf dieses Position geschrieben werden soll

Positionsangaben sind hier in Tiles anzugeben

Transparenz wert =	0	Das Tile ist komplett undurchsichtig ( Defaultwert )
Transparenz wert =	255	Das Tile ist komplett durchsichtig, also praktisch nicht vorhanden.


EP_SetMapFlag()

Syntax

EP_SetMapFlag(XPos, YPos, Value)

Beschreibung

Einen Flag wert auf eine Tile Position in der Karte schreiben.

XPos	X Position des Tiles in der Karte
YPos	Y Position des Tiles in der Karte
Value	Der Flag wert der auf dieses Tile geschrieben werden soll

Positionsangaben sind hier in Tiles anzugeben


EP_SetMapItem()

Syntax

EP_SetMapItem(XPos, YPos, Value)

Beschreibung

Einen Item wert auf eine Tile Position in der Karte schreiben, dieser Befehl setzt praktisch ein Anim Tile über das bereits
vorhandene Tile oder AnimTile an dieser Map Position. So lassen sich zb. Dinge erstellen die eingesammelt werden müssen usw.

XPos	X Position des Tiles in der Karte
YPos	Y Position des Tiles in der Karte
Value	Das AnimTile das hier über dem bereits vorhandenen Tile erscheinen soll

Positionsangaben sind hier in Tiles anzugeben


EP_SetMapTile()

Syntax

EP_SetMapTile(XPos, YPos, Value)

Beschreibung

Einen Tile wert auf eine Tile Position in der Karte schreiben. Dieser Befehl zeichnet ein Tile in die Karte

XPos	X Position des Tiles in der Karte
YPos	Y Position des Tiles in der Karte
Value	Der Tilewert der auf dieses Position geschrieben werden soll

Positionsangaben sind hier in Tiles anzugeben


EP_SetMapTrans()

Syntax

EP_SetMapTrans(XPos, YPos, Value)

Beschreibung

Einen Transparenz wert auf eine Tile Position in der Karte schreiben. Dieser Befehl lässt ein Tile oder AnimTile Transparent erscheinen

XPos	X Position des Tiles in der Karte
YPos	Y Position des Tiles in der Karte
Value	Der Transparenz wert der auf dieses Position geschrieben werden soll

Positionsangaben sind hier in Tiles anzugeben

Transparenz wert =	0	Das Tile ist komplett undurchsichtig ( Defaultwert )
Transparenz wert =	255	Das Tile ist komplett durchsichtig, also praktisch nicht vorhanden.


EP_SetTileGFX()

Syntax

EP_SetTileGFX(Path.s)

Beschreibung

Mit diesem Befehl kann man manuell einen Pfad zu einer Tile Grafik hinzufügen ohne diese Tile Grafik direkt laden zu müssen,
es wird also nur der Pfad in die Liste eingetragen. Beim sichern der Karte wird dieser zugefügte Pfad automatisch mit abgespeichert


EP_SetTileGFXCatch()

Syntax

EP_SetTileGFXCatch(Value)

Beschreibung

Stellt ein ob die Kartengrafiken aus dem Speicher gecach´t werden sollen oder nicht. Wenn man den Wert auf 1 setzt dann werden die Karten Grafiken nicht Automatisch nachgeladen sondern der Programmierer kümmert sich selbst um das korrekte einlesen der Grafiken.

Ein wert von 0	bedeutet die Grafiken werden normal nachgeladen
Ein wert von 1	bedeutet die Grafiken werden aus dem Speicher gecach´t und der User selber kümmert sich ums einlesen der Grafiken


EP_TiletoFront()

Syntax

EP_TiletoFront(TileNr)

Beschreibung

Setzt ein bestimmtes Tile an vorderste Stelle der Spriteliste

TileNr	Das Tile das an die vorderste Stelle in der Spriteliste gesetzt werden soll


MP_OpenMovie()

Syntax

MP_OpenMovie(Avifile.s)

Beschreibung

The function MP_OpenMovie load an Avi file

Die Funktion MP_OpenMovie lädt eine Avi

Parameter
Avifile.s	= name of the avi file as a string
       Name der AVI Datei als String

return value
avi identity or in case of an error #False
Identität des avi als Integer. Im Fehlerfall Rückgabe von #False

Beispiel

MP_Graphics3D (640,480,0,3) ; Erstelle ein WindowsFenster mit 3D Funktion #Window = 0
SetWindowTitle(0, "3D with Video") ; Setzt einen Fensternamen

camera=MP_CreateCamera() ; Kamera erstellen
light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine WürfelMesh2=MP_CreateCube() ; Und jetzt eine Würfel

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

avifile.s = OpenFileRequester ( "AVI File auswählen", "", "Video|*.avi", 0 )

Movie = MP_MovieInit (avifile)

Texture = MP_CreateTexture(0,0)

MP_EntitySetTexture (Mesh, Texture)

max = MP_MovieNumFrames (   Movie )

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

      Frame.f + 0.5
      If Frame > Max : Frame = 0 : EndIf

      MP_MovieToTexture (   Movie, Texture, Frame )

      If MP_KeyHit(#PB_Key_Space)
         avifile.s = OpenFileRequester ( "AVI File auswählen", "", "Video|*.avi", 0 )
         MP_CloseMovie(   Movie )
         Movie = MP_MovieInit (avifile)
         max = MP_MovieNumFrames (   Movie )
      EndIf

      MP_DrawText (10,10,"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

MP_CloseMovie(   Movie )


MP_CreateMovie()

Syntax

MP_CreateMovie(Avifile.s [, Rate])

Beschreibung

The function MP_CreateMovie create an empty Avi file with Rate optional

Die Funktion MP_CreateMovie erzeugt eine Avi-Datei mit Wiederholungsrate optional

Parameter
Avifile.s	= name of the avi file as a string
       Name der AVI Datei als String
Rate	= fps of the movie
                  fps des Films

return value
avi identity or in case of an error #False
Identität des avi als Integer. Im Fehlerfall Rückgabe von #False


MP_MovieHeight()

Syntax

MP_MovieHeight(Movie)

Beschreibung

The function MP_MovieHeight gets the height of the Movie

Die Funktion MP_MovieHeight ermittelt die Bildhöhe des Films

Parameter
Movie	= identity of a movie
       Identität eines Films

return value
height as integer, or if not open #False
Höhe als Integer , oder im Fehlerfall #False


MP_MovieWidth()

Syntax

MP_MovieWidth(Movie)

Beschreibung

The function MP_MovieWidth gets the width of the Movie

Die Funktion MP_MovieWidth ermittelt die Bildbreite des Films

Parameter
Movie	= identity of a movie
       Identität eines Films

return value
widht as integer, or if not open #False
Breite als Integer , oder im Fehlerfall #False


MP_MovieNumFrames()

Syntax

MP_MovieNumFrames(Movie)

Beschreibung

The function MP_MovieNumFrames gets the count of movie frames of the Movie

Die Funktion MP_MovieWMovieNumFrames ermittelt die Bilderanzahl des Films

Parameter
Movie	= identity of a movie
       Identität eines Films

return value
frames as integer, or if not open #False
Bilder als Integer , oder im Fehlerfall #False


MP_FrameToMovie()

Syntax

MP_FrameToMovie(Movie, Frame)

Beschreibung

The function MP_FrameToMovie generated from a DX9 screen a  frame of a movie.

Die Funktion MP_FrameToMovie erzeugt aus dem DC9 Screen ein Filmframe.

Parameter
Movie	= identity of a movie
       Identität eines Films
Frame	= frame of the movie
       Bild eines Films

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_MovieToTexture()

Syntax

MP_MovieToTexture(Movie, Texture, Frame)

Beschreibung

The function MP_MovieToTexture generated from a  frame of a movie a Texture.

Die Funktion MP_MovieToTexture erzeugt aus einem Film frame eine Texture.

Parameter
Movie	= identity of a movie
       Identität eines Films
Texture	= identity of the texture
       Identität der Texture
Frame	= frame of a movie
       Bild eines Films Films

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


MP_CloseMovie()

Syntax

MP_CloseMovie(Movie)

Beschreibung

The function MP_CloseMovie closed an Avi file

Die Funktion MP_CloseMovie schließt eine Avi

Parameter
Movie	= identity of a movie
       Identität eines Films

return value
#True on success or #False on failure
#True oder im Fehlerfall #False


Tipps und Tricks

Move Windows / Fenster verschieben
To move the MP_Windows () you can use the following command
Um das MP_Windows() zu verschieben kann man folgenden Befehl benutzen

MP_Graphics3D(...
x = Position auf X Achse
y = Position auf Y Achse
SetWindowPos_(WindowID(0), 0, x , y, 0, 0, #SWP_NOSIZE)

Create menus / Menüs erzeugen
You can easily create menus, the MP3D engine can used the standard menu commands
Man kann ganz einfach Menüs erstellen, da die MP 3D Engine auf die Standard Menü Befehle aufbaut

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels")

  If CreateMenu(0, WindowID(0)) ; Menü erstellen/Create Menu
    MenuTitle("Tausche Mesh")
      MenuItem( 1, "Wähle Cube")
      MenuItem( 2, "Wähle TeaPot")
  EndIf

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,5) ; Position des Würfels

While Not MP_KeyDown(#PB_Key_Escape) ; Esc abfrage / SC pushed?

    Select WindowEvent()  ; WindowsEvent abfrage
      Case #PB_Event_Menu
        Select EventMenu()  ; Welches Menü? / Menuquestion
         Case 1 ; Erzeuge Cube
            MP_FreeEntity (Mesh)
            Mesh=MP_CreateCube()
            MP_PositionEntity (Mesh,0,0,5)
         Case 2 ; 3D Objekt als Directx File laden /
            MP_FreeEntity (Mesh)
            Mesh=MP_CreateTeapot()
            MP_PositionEntity (Mesh,0,0,5)
         EndSelect
      Case #PB_Event_CloseWindow
         End
   EndSelect

   MP_TurnEntity (Mesh,0.1,0.1,0.1)
   MP_RenderWorld() ; Erstelle die Welt
   MP_Flip () ; Stelle Sie dar

Wend

Mouse query / Mausabfrage
The window can normally be accessed with the mouse
Das Fenster kann ganz normal mit der Maus abgefragt werden

MP_Graphics3D (640,480,0,1) ; Erstelle ein WindowsFenster #Window = 0

SetWindowTitle(0, "Mausabfrage Bildschirm")

camera=MP_CreateCamera() ; Kamera erstellen

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

   If GetFocus_()<>WindowID(0)
    ;Focus = 0
     MP_DrawText (100,40,$ffffff00,"Fenster ist nicht aktiv",0)
   Else
    ;Focus = 1
     MP_DrawText (100,40,$ffffff00,"Mauskkordinaten MausX = "+Str(WindowMouseX(0))+ " MausY = "+Str(WindowMouseX(0)),0)
   EndIf

   MP_RenderWorld() ; Erstelle die Welt

   MP_Flip () ; Stelle Sie dar

Wend

ImagePlugins
Image plugins are basically ONLY required for image files and functions and increase the EXE file much. Therefore, I recommend always load the mp3d commands to use the image files.
ImagePlugins werden prinzipiell NUR für Image Dateien und Funktionen benötigt und vergrössern die Exe Datei sehr. Daher empfehle ich immer die MP3D Befehle zum laden und speichern der Grafikdateien zu benutzen.


DX9_Vorlage library license

This purebasic user library is provided 'as-is', without any express or implied warranty.
In no event will the author be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial
applications, and redistribute it freely.