Example #1
0
        public Backend(ResourceManager resourceManager, int width, int height, OpenTK.Platform.IWindowInfo windowInfo)
        {
            if (resourceManager == null)
                throw new ArgumentNullException("resourceManager");

            Width = width;
            Height = height;

            ResourceManager = resourceManager;

            // Setup the render system
            RenderSystem = new Renderer.RenderSystem(windowInfo, ProcessQueue.Enqueue);
            Watch = new System.Diagnostics.Stopwatch();

            DefaultSampler = RenderSystem.CreateSampler(new Dictionary<SamplerParameterName, int>
            {
                { SamplerParameterName.TextureMinFilter, (int)TextureMinFilter.LinearMipmapLinear },
                { SamplerParameterName.TextureMagFilter, (int)TextureMagFilter.Linear },
                { SamplerParameterName.TextureMaxAnisotropyExt, 8 },
                { SamplerParameterName.TextureWrapS, (int)TextureWrapMode.Repeat },
                { SamplerParameterName.TextureWrapT, (int)TextureWrapMode.Repeat },
                { SamplerParameterName.TextureWrapR, (int)TextureWrapMode.Repeat }
            });

            DefaultSamplerNoFiltering = RenderSystem.CreateSampler(new Dictionary<SamplerParameterName, int>
            {
                { SamplerParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest },
                { SamplerParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest },
                { SamplerParameterName.TextureWrapS, (int)TextureWrapMode.ClampToEdge },
                { SamplerParameterName.TextureWrapT, (int)TextureWrapMode.ClampToEdge }
            });

            DefaultSamplerMipMapNearest = RenderSystem.CreateSampler(new Dictionary<SamplerParameterName, int>
            {
                { SamplerParameterName.TextureMinFilter, (int)TextureMinFilter.NearestMipmapNearest },
                { SamplerParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest },
                { SamplerParameterName.TextureWrapS, (int)TextureWrapMode.ClampToEdge },
                { SamplerParameterName.TextureWrapT, (int)TextureWrapMode.ClampToEdge }
            });

            ElapsedTime = 0;
        }