Тема: Wrapper для C#
Показать сообщение отдельно
Старый 09.02.2010, 11:00   #1
viper86
Нуждающийся
 
Аватар для viper86
 
Регистрация: 19.11.2008
Адрес: Украина, Луганск
Сообщений: 72
Написано 34 полезных сообщений
(для 123 пользователей)
Wrapper для C#

Всем доброго времени суток! Ни для кого не секрет, что разработчики 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();

}
__________________
Лечим заражение... одна пуля - один больной.
(Offline)
 
Ответить с цитированием
Эти 6 пользователя(ей) сказали Спасибо viper86 за это полезное сообщение:
den (30.12.2010), h1dd3n (09.02.2010), Igor (29.06.2010), pepel (16.01.2011), Randomize (23.02.2010), SBJoker (09.02.2010)