public Clipmap() { //_testMap = (Bitmap)Image.FromFile("height.png"); _testMap = (Bitmap)Image.FromFile(@"height.jpg"); //Position = new IntFloatVector2(new IntFloat(-_testMap.Width / 4), new IntFloat(-_testMap.Height / 4)); Locations = new PatchLocations(H, M); ClipmapLevel parent = null; for (var i = Levels - 1; i >= 0; i--) { _levels[i] = new ClipmapLevel(i, Scale, this, parent); parent = _levels[i]; } GenerateTestTexture(); ActiveMin = 0; ActiveMax = Levels; UpdatePosition(); Reset(); _initialized = true; }
public Clipmap() { //_testMap = (Bitmap)Image.FromFile("height.png"); _testMap = (Bitmap)Image.FromFile(@"height.jpg"); Position = new IntFloatVector2(new IntFloat(-_testMap.Width / 4), new IntFloat(-_testMap.Height / 4)); Locations = new PatchLocations(H, M); var scale = Scale; var scaleInt = 1; for (var i = 0; i < Levels; i++) { _levels[i] = new ClipmapLevel(scale, scaleInt, this); scale *= 2.0f; scaleInt *= 2; } GenerateTestTexture(); UpdatePosition(); Reset(); _initialized = true; }
public ClipmapLevel(int level, float scale, Clipmap clipmap, ClipmapLevel parent) { _d = clipmap.DValue; _n = _d - 1; _cache = new float[_d, _d]; _clipmap = clipmap; _parent = parent; _level = level; _scaleInt = 1 << _level; Scale = scale * _scaleInt; Heightmap = new Texture2D(_d, _d, 3, typeof(float)); Heightmap.Activate(); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.Repeat); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.Repeat); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest); Heightmap.Finish(); }
public ClipmapLevel(int level, float scale, Clipmap clipmap, ClipmapLevel parent) { _d = clipmap.DValue; _n = _d - 1; _cache = new float[_d, _d]; _clipmap = clipmap; _parent = parent; _level = level; _scaleInt = 1 << _level; Scale = scale * _scaleInt; Heightmap = new Texture2D(_d, _d, 3, typeof(float)); Heightmap.Activate(); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.Repeat); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.Repeat); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest); Heightmap.Finish(); }
public Clipmap() { //_testMap = (Bitmap)Image.FromFile("height.png"); _testMap = (Bitmap)Image.FromFile(@"height.jpg"); //Position = new IntFloatVector2(new IntFloat(-_testMap.Width / 4), new IntFloat(-_testMap.Height / 4)); Locations = new PatchLocations(H, M); ClipmapLevel parent = null; for (var i = Levels - 1; i >= 0; i--) { _levels[i] = new ClipmapLevel(i, Scale, this, parent); parent = _levels[i]; } GenerateTestTexture(); ActiveMin = 0; ActiveMax = Levels; UpdatePosition(); Reset(); _initialized = true; }