Honestly I can't really say as I don't know, I only really use Maratis for simple games and I use it to teach game development to my kids other than that I use my own engine a"Horde3D" fork, or Ogre3D
-- Create Window Object
win = Window()
win:init()
win:openWindow(800, 600, 8, 8, 8, 8, 24, 0, 0) -- Open Window, Set Max Colors, Alpha, Depth, Stencel
win:setWindowTitle("Hydra Example v0.0.1a") -- Set Window Title
win:clearColor(0.50, 0.0, 0.0, 1.0) -- Set Window RGBA background color
-- Create GraphicsEngine Object
graphics = GraphicsEngine()
graphics:init()
graphics:setOption(7, 1)
graphics:setOption(5, 0)
graphics:setOption(8, 0)
graphics:setOption(4, 4)
graphics:setOption(9, 2048)
forwardPipeRes = graphics:addResource(9, "pipelines/forward.pipeline.xml", 0)
knightres = graphics:addResource(1, "models/knight/knight.scene.xml", 0)
logoMatRes = graphics:addResource(4, "overlays/logo.material.xml", 0)
lightMatRes = graphics:addResource(4, "materials/light.material.xml", 0)
envRes = graphics:addResource(1, "models/platform/platform.scene.xml", 0)
skyBoxRes = graphics:addResource(1, "models/skybox/skybox.scene.xml", 0)
graphics:loadResourcesFromDisk("../content")
cam = graphics:addCameraNode(1, "Camera", forwardPipeRes)
graphics:setNodeTransform( cam, 10, 50, 200, 0, 0, 0, 1, 1, 1 )
env = graphics:addNodes(1, envRes)
graphics:setNodeTransform(env, 0, 0, 0, 0, 0, 0, 5, 5, 5)
sky = graphics:addNodes(1, skyBoxRes)
graphics:setNodeTransform(sky, 0, 0, 0, 2, 2, 2, 500, 500, 500)
graphics:setNodeFlags( sky, 2, true )
knight = graphics:addNodes(1, knightres )
graphics:setNodeTransform( knight, 0, 0, 40, 0, 0, 0, 1, 1, 1 )
light = graphics:addLightNode(1, "Light1", lightMatRes, "LIGHTING", "SHADOWMAP" )
graphics:setNodeTransform( light, 0, 100, 50, -30, 0, 0, 10, 10, 10 )
graphics:setNodeParamF( light, 501, 0, 200 )
graphics:setNodeParamF( light, 502, 0, 90 )
graphics:setNodeParamI( light, 505, 3 )
graphics:setNodeParamF( light, 506, 0, 0.9 )
graphics:setNodeParamF( light, 507, 0, 0.001 )
graphics:setNodeParamF( light, 503, 0, 0.9 )
graphics:setNodeParamF( light, 503, 1, 0.7 )
graphics:setNodeParamF( light, 503, 2, 0.75 )
graphics:setNodeParamI( cam, 609, 0 );
graphics:setNodeParamI( cam, 610, 0 );
graphics:setNodeParamI( cam, 611, 800 );
graphics:setNodeParamI( cam, 612, 600 );
graphics:setupCameraView(cam, 45.0, 800 / 600, 0.5, 2048.0);
graphics:resizePipelineBuffers( forwardPipeRes, 800, 600 );
-- Create 3D Sound Object
sound = Sound()
sound:init() -- Initalize it
sound:createSound("../content/sounds/Scoldt-From_My_Guts.mp3") -- Load Music File
sound:setMode(0) -- Set Mode
sound:play() -- Play Music
sound:upDateSystem() -- Update Sound System
-- Create Network Client Object
networkClient = NetworkClient()
networkClient:init("testgame","1") -- Initalize it
networkClient:setAddress("81.168.26.50") -- Set Network Address
-- Start Game Loop
i = 0
while i == 0 do
win:clear(0) -- Clear Window
i = win:getKey(257) or win:getWindowParam(0) -- Get ESC and Window Close Button Click
-- Rendering code goes here --
graphics:render( cam )
graphics:finalizeFrame()
graphics:clearOverlays()
win:swapBuffers() -- Swap Graphic Buffers
end