Всем доброго времени суток! Ни для кого не секрет, что разработчики Xors3D решили уйти от блитца (с чём я полностью согласен) и переписать полностью движок, не копируя команды блитца. Блитц уж слишком ограниченый язык. Враппер для C# вообще уже существеут, но он просто предоставляет набор функций и всё. Я же решил написать свою обёртку для Xors3D со встроенной справкой для всех команд, в которой всё сделано классами, структурами и тд. В своём враппере я не стараюсь точно повторять название функций ксорса, но в общем всё узнаваемо. Также я добавляю свою функциональность, как, например, встроеная синхронизация, каждый экземпляр класса Entity содержит ссылки на все сюрфейсы и текстуры, несколько типов камер и тд. Но я бы хотел знать, кого-нибудь интересует подобный проэкт, потому как чисто для себя писать это очень долго и нудно (в частности меня волнует заинтересованность самих разработчиков ксорса). Приведу коротенький пример:
Graphics.SetAntiAliasType(AATypes.AA4SAMPLES);
Graphics.CreateGraphics3D(640, 480, 32, false, false);
Graphics.SetBuffer(Graphics.BackBuffer());
Graphics.AntiAlias(true);
Camera cam = new Camera();
cam.SetPosition(0, 0, -10); //или можна так cam.z = -10;
Entity cube = Entity.CreateCube();
Sync.SetUpdatesPerSecond(100);
int t = Time.Millisecs;
float starttime=0,rendertime=0;
while (!WinMessage("WM_CLOSE"))
{
while(Sync.DoWork())
{
//logic
cube.pitch += 0.1f;
}
starttime = Time.MillisecsAccurate;
Graphics.RenderWorld();
Text.DrawText(10, 10, "FPS " + Graphics.FPS);
if (Time.Millisecs - t > 100)
{ t = Time.Millisecs; rendertime = Time.MillisecsAccurate - starttime; }
Text.DrawText(10, 30, "Render " + rendertime);
Graphics.Flip();
Sync.Wait();
}