#pragma once
namespace M3D
{
/**
 * Производит инициализацию библиотеки. Должна быть вызвана до любой другой функции библиотеки.
 * @author Denis A. Biryukov
 **/
void init();

class EngineLimits;
class EngineInterface;
/**
 * Создает новый инстанс движка и возвращает прокчи объект, который позволяет с ним работать.
 * @param w ширина OpenGL окна
 * @param h высота OpenGL окна
 * @param fov угол обзора в градусах
 * @return прокси объект
 * @author Denis A. Biryukov
 **/
EngineInterface* create_engine( EngineLimits *limits, int w, int h, float fov );

/**
 * Деинициализирует библиотеку. Уничтожает созданные объекты, освобождает память.
 * @author Denis A. Biryukov
 **/
void deinit();

}
