public override void Draw(GraphicsDevice device) { Menu parent = ((Menu)this.parent); float fade_value = parent.fade_value; float selected = parent.curr_option == index ? parent.selected_intensity : Menu.default_intensity; Color bar_color, slider_color; if (IsActive()) { bar_color = new Color(Menu.default_intensity - 0.1f + 0.5f, Menu.default_intensity - 0.1f, Menu.default_intensity - 0.1f, fade_value); slider_color = new Color(Menu.default_intensity + 0.5f, Menu.default_intensity, Menu.default_intensity, fade_value * 0.8f); } else { bar_color = new Color(selected - 0.1f, selected - 0.1f, selected - 0.1f, fade_value); slider_color = new Color(selected, selected, selected, fade_value * 0.8f); } SpriteRenderer spriterenderer = SpriteRenderer.GetInstance(device); spriterenderer.Begin(null); spriterenderer.Add(Resources.white_texture_region, bar_color, x + offset, y - bar_height, bar_width, bar_height, 0); spriterenderer.Add(Resources.white_texture_region, slider_color, x + offset + bar_width * new_value - 0.5f * slider_width, y - slider_height * 0.75f, slider_width, slider_height, 0); spriterenderer.End(); }
public void Draw(GraphicsDevice device) { PostProcessor postprocessor = PostProcessor.GetInstance(device); device.SetRenderTargets(postprocessor.color_rt, postprocessor.depth_rt); device.Clear(ClearOptions.Target | ClearOptions.DepthBuffer | ClearOptions.Stencil, Application.CLEAR_COLOR, 1.0f, 0); device.BlendState = BlendState.Opaque; device.DepthStencilState = DepthStencilState.Default; level.Draw3dEntities(device, camera); postprocessor.DepthOfField(postprocessor.color_rt, postprocessor.result_rt, postprocessor.depth_rt, camera, DepthOfFieldType.DiscBlur, player.position.Z, 5, total_time); device.SetRenderTarget(postprocessor.color_rt); device.Clear(ClearOptions.Target, Application.CLEAR_COLOR, 1, 0); device.BlendState = BlendState.AlphaBlend; level.Draw2dEntities(device, camera); device.DepthStencilState = DepthStencilState.DepthRead; particlemanager.Draw(device, camera); device.DepthStencilState = DepthStencilState.Default; level.DrawBubbleReflections(device, camera); device.SetRenderTargets(postprocessor.result_rt); SpriteRenderer spriterenderer = SpriteRenderer.GetInstance(device); spriterenderer.Begin(null); spriterenderer.Add(new TextureRegion(postprocessor.color_rt, 0, 0, postprocessor.color_rt.Width, postprocessor.color_rt.Height), Color.White, 0, 0, postprocessor.color_rt.Width, postprocessor.color_rt.Height, 0); spriterenderer.End(); }
public override void Draw(GraphicsDevice device) { game.Draw(device); int curr_size = game.character.curr_size; int num_bubbles = game.character.num_bubbles[curr_size]; int num_collected = game.character.num_collected; int size = 20; int space = 10; int display_width = num_bubbles * size + num_bubbles * space + (num_bubbles / 3) * space; float center = device.PresentationParameters.BackBufferWidth / 2; float on = 0.8f + (float)Math.Sin(time * MathHelper.Pi) * 0.4f; float off = 0.1f; device.DepthStencilState = DepthStencilState.None; SpriteRenderer spriterenderer = SpriteRenderer.GetInstance(device); spriterenderer.Begin(null); for (int i = 0; i < num_bubbles; i++) { spriterenderer.Add(Resources.particle_texture_region, new Color(1, 0, 1, off), center - (display_width / 2) + i * space + i * size, 20, size, size, 0); } for (int i = 0; i < num_collected; i++) { spriterenderer.Add(Resources.particle_texture_region, new Color(1, 0, 1, on), center - (display_width / 2) + i * space + i * size, 20, size, size, 0); } TextureRegion logo = Resources.logo_texture_region; float x, y, scale; scale = 0.3f; x = device.PresentationParameters.BackBufferWidth - logo.width * scale - 20; y = device.PresentationParameters.BackBufferHeight - logo.height * scale - 20; spriterenderer.Add(logo, new Color(1f, 1f, 1f, 0.1f), x, y, logo.width * scale, logo.height * scale, 0); spriterenderer.End(); device.DepthStencilState = DepthStencilState.Default; }
public override void Draw(GraphicsDevice device, Camera camera) { SpriteRenderer spriterenderer = SpriteRenderer.GetInstance(device); spriterenderer.Begin(camera); spriterenderer.Add(region, color, position.X, position.Y, position.Z, size.X, size.Y, rotation.X, rotation.Y, rotation.Z); spriterenderer.End(); }
public override void OnUpdate(float deltatime) { int ConsoleWidth = window.Width; int ConsoleHeight = window.Height; if (CW != ConsoleWidth || CH != ConsoleHeight) { Console.WriteLine("Window Size Changed"); Transform transform1 = new Transform(new Vector3(0, 0, 0), Vector3.Zero, new Vector3(window.Width, window.Height, 30)); Texture texture1 = new Texture("res\\textures\\CustomBackground.png"); _renderer.Remove(_background); _background = new Sprite(texture1, transform1); _renderer.Add(_background); foreach (Button button in buttons) { button.RemoveToRenderer(_renderer); button.AddToRenderer(_renderer); } _renderer.Remove(buttonBackground); _renderer.Add(buttonBackground); foreach (Sprite Font in info.TextArray) { MenuState._renderer.Remove(Font); MenuState._renderer.Add(Font); } } CW = ConsoleWidth; CH = ConsoleHeight; bool TextCount = KeyboardInput.IsAnyDown(); if (NewTextCount != TextCount) { if (NewTextCount == false) { info.AddText(); } } NewTextCount = TextCount; KeyboardInput.Update(); foreach (Button button in buttons) { button.Update(window); } }
public override void Draw(Microsoft.Xna.Framework.Graphics.GraphicsDevice device) { base.Draw(device); SpriteRenderer spriterenderer = SpriteRenderer.GetInstance(device); spriterenderer.Begin(null); spriterenderer.Add(Resources.controls_region, new Color(1f, 1f, 1f, 0.8f), GetOptionPositionX(0) + 350, GetOptionPositionY(0) - 100, Resources.controls_region.width, Resources.controls_region.height, 0); spriterenderer.End(); }
public void DrawReflection(GraphicsDevice device, Camera camera) { if (popped) { return; } float size = (body.aabb.max - body.aabb.min).Length() * 0.7f; SpriteRenderer spriterenderer = SpriteRenderer.GetInstance(device); spriterenderer.Begin(camera); spriterenderer.Add(Resources.bubble_reflection_texture_region, new Color(1f, 1f, 1f, 0.8f), body.aabb.min.X + size * 0.09f, body.aabb.min.Y, 0.001f, size, size, 0, 0, 0); spriterenderer.End(); }
public override void Draw(GraphicsDevice device) { PostProcessor postprocessor = PostProcessor.GetInstance(device); postprocessor.Blur(postprocessor.result_rt, postprocessor.result_rt, 0.5f + 8 * background); float x, y; x = (device.PresentationParameters.BackBufferWidth - logo.width) / 2f; y = (device.PresentationParameters.BackBufferHeight - logo.height) / 2f; SpriteRenderer spriterenderer = SpriteRenderer.GetInstance(device); spriterenderer.Begin(null); spriterenderer.Add(logo, new Color(1f, 1f, 1f, alpha), x, y, logo.width, logo.height, 0); spriterenderer.End(); }
public static void Do() { SpriteRenderer[] spriteRenderers = new SpriteRenderer[0]; foreach (Transform trs in Selection.transforms) { SpriteRenderer spriteRenderer = trs.GetComponent <SpriteRenderer>(); if (spriteRenderer != null) { foreach (SpriteRenderer previousSpriteRenderer in spriteRenderers) { if (previousSpriteRenderer.bounds.Intersects(spriteRenderer.bounds)) { } } spriteRenderers = spriteRenderers.Add(spriteRenderer); } } }
public Game(GameWindow window) { _window = window; window.UpdateFrame += Update; window.RenderFrame += Draw; _renderer = new SpriteRenderer(new ShaderProgram(new Shader[] { new Shader(ShaderType.FragmentShader, File.ReadAllText("defaultShader.frag")), new Shader(ShaderType.VertexShader, File.ReadAllText("defaultShader.vert")) })); _testSprite = new Sprite() { Color = new Vector4(0.0f, 1.0f, 1.0f, 1.0f) }; _renderer.Add(_testSprite); }
public override void OnUpdate(float deltatime) { _count += deltatime; if (_count >= BEGIN_TIME) { _fade -= deltatime * SPEED_FADE; if (_fade <= 0.0f) { RequestState(new MenuState()); } } Colour color1 = new Colour(_fade, _fade, _fade); _sprite1.Colour = color1; _renderer.Add(_sprite1); _sprite1.Transform = _transform1; ; }
public void AddToRenderer(SpriteRenderer renderer) { renderer.Add(_sprite); }
public static Animation AddAnimation(this SpriteRenderer spriteRenderer, List <Sprite> sprites) { return(spriteRenderer.Add <Animation>().Init((s) => { spriteRenderer.sprite = s; }, sprites)); }
public override void OnCreate() { //Make WinImage //Process cmd = new Process(); //cmd.StartInfo.FileName = @"C:\Users\mikel\Desktop\runFIRST.cmd"; //cmd.StartInfo.RedirectStandardInput = true; //cmd.StartInfo.RedirectStandardOutput = true; //cmd.StartInfo.CreateNoWindow = true; //cmd.StartInfo.UseShellExecute = false; //cmd.Start(); //Get usernames //Text.FontList(); //var a = Dns.GetHostEntry(Dns.GetHostName()); //Console.WriteLine(a.HostName); //var b = a.AddressList; //foreach (var adress in b) //{ // Console.WriteLine(adress); //} //List<string> usernames = new List<string>(); //string text = File.ReadAllText(@"res\variables.txt"); //string[] splitUsernames = text.Split(','); //foreach (string username in splitUsernames) //{ // Console.WriteLine(username); // usernames.Add(username); //} try { Shader spriteVertexShader = new Shader(ShaderType.VertexShader, ShaderPreprocessor.Execute(@"res\shaders\ui\vertex.glsl")); Shader spriteFragmentShader = new Shader(ShaderType.FragmentShader, ShaderPreprocessor.Execute(@"res\shaders\ui\fragment.glsl")); _renderer = new SpriteRenderer(new ShaderProgram(new[] { spriteVertexShader, spriteFragmentShader })); } catch (Exception ex) { Console.WriteLine(ex.ToString()); throw; } Transform transform1 = new Transform(new Vector3(0, 0, 0), Vector3.Zero, new Vector3(window.Width, window.Height, 30)); Texture texture1 = new Texture("res\\textures\\CustomButton1.png"); Texture texture2 = new Texture("res\\textures\\babyyodasoup.png"); Texture texture3 = new Texture("res\\textures\\yodawithsword.png"); Colour color1 = new Colour(1, 1, 1); Colour color2 = new Colour(0, 0, 255); Colour color3 = new Colour(255, 0, 0, .5f); Colour color4 = new Colour(0, 255, 0, .5f); _background = new Sprite(texture1, transform1); _background.Colour = color1; _renderer.Add(_background); int buttonWidth = 400; int buttonHeight = 200; int gedeeldDoor = 5; int gedeeldDoor2 = 5; int toBelow = 50; _playbutton = new Button(texture1, new Transform(new Vector3(-window.Width / gedeeldDoor, -window.Height / gedeeldDoor2 - toBelow, 0), Vector3.Zero, new Vector3(buttonWidth, buttonHeight, 0)), color2); _playbutton2 = new Button(texture1, new Transform(new Vector3(window.Width / gedeeldDoor, -window.Height / gedeeldDoor2 - toBelow, 0), Vector3.Zero, new Vector3(buttonWidth, buttonHeight, 0))); _playbutton3 = new Button(texture1, new Transform(new Vector3(-window.Width / gedeeldDoor, window.Height / gedeeldDoor2 - toBelow, 0), Vector3.Zero, new Vector3(buttonWidth, buttonHeight, 0)), color4); _playbutton4 = new Button(texture1, new Transform(new Vector3(window.Width / gedeeldDoor, window.Height / gedeeldDoor2 - toBelow, 0), Vector3.Zero, new Vector3(buttonWidth, buttonHeight, 0)), color3); Colour colorBackground = new Colour(0, 0, 255); Texture textureBackground = texture2; Transform transformationBackground = new Transform(new Vector3(-window.Width / 2 + 225, window.Height / gedeeldDoor2 + 130, 0), Vector3.Zero, new Vector3(buttonWidth, buttonHeight / 4, 0)); buttonBackground = new Sprite(textureBackground, transformationBackground, colorBackground); _renderer.Add(buttonBackground); buttons.Add(_playbutton); buttons.Add(_playbutton2); buttons.Add(_playbutton3); buttons.Add(_playbutton4); foreach (Button button in buttons) { //Console.WriteLine(button); button.AddToRenderer(_renderer); } _playbutton.OnClick += _playbutton_OnClick; _playbutton2.OnClick += _playbutton2_OnClick; _playbutton3.OnClick += _playbutton3_OnClick; _playbutton4.OnClick += _playbutton4_OnClick; //foreach (string font in fontPictures) //{ // Texture textureFont = new Texture(font); // AddFont(i, 0, textureFont); // i += 200; //} if (!string.IsNullOrEmpty(sayString)) { //Adds text that sayString holds string[] sayStringSplit = sayString.Split(' '); int verPos = 0; int newdit = 0; int totLenght = 0; foreach (string word in sayStringSplit) { info.AddStringText(word, window, verPos); totLenght += word.Length; if (totLenght > 5) { verPos += 15; info.posSayString = 0; totLenght = 0; } else { info.AddStringText(" ", window, verPos); } } } }
public override void OnCreate() { try { Console.WriteLine(ShaderPreprocessor.Execute(@"res\shaders\raytracing\fragment.glsl")); Shader voxelVertexShader = new Shader(ShaderType.VertexShader, ShaderPreprocessor.Execute(@"res\shaders\raytracing\vertex.glsl")); Shader voxelFragmentShader = new Shader(ShaderType.FragmentShader, ShaderPreprocessor.Execute(@"res\shaders\raytracing\fragment.glsl")); Shader scaleFragmentShader = new Shader(ShaderType.FragmentShader, ShaderPreprocessor.Execute(@"res\shaders\raytracing\scale.glsl")); _voxelRenderer = new VoxelRenderer(new ShaderProgram(new[] { voxelVertexShader, voxelFragmentShader }), new ShaderProgram(new[] { voxelVertexShader, scaleFragmentShader })); Shader spriteVertexShader = new Shader(ShaderType.VertexShader, ShaderPreprocessor.Execute(@"res\shaders\ui\vertex.glsl")); Shader spriteFragmentShader = new Shader(ShaderType.FragmentShader, ShaderPreprocessor.Execute(@"res\shaders\ui\fragment.glsl")); _spriteRenderer = new SpriteRenderer(new ShaderProgram(new[] { spriteVertexShader, spriteFragmentShader })); } catch (Exception ex) { Console.WriteLine(ex.ToString()); throw; } _voxelRenderer.GenerateFramebuffer(window); //List<Material> materials = new List<Material>(); //for (int i = 0; i < 256; i++) // materials.Add(new Material(Vector3.One, 1.5f)); //_voxelRenderer.Materials = materials; Console.WriteLine("Shader compiled <o/"); //epic it work _model = _voxelRenderer.CreateModel(32, 32, 32, new Transform(new Vector3(24.0f, 0.0f, 0.0f), Vector3.Zero, new Vector3(0.5f))); for (int x = 0; x < 32; x++) { for (int y = 0; y < 32; y++) { for (int z = 0; z < 32; z++) { _model[x, y, z] = (byte)((x + y + z) & 1);//new Voxel((ushort) ((x + y + z) & 1)); } } } MyVoxLoader CastleVox = new MyVoxLoader(); VoxReader r = new VoxReader(@"res\maps\map.vox", CastleVox); r.Read(); //Use palette of castlevox List <Material> materials = new List <Material>(); for (int i = 0; i < 256; i++) { Vector3 color = new Vector3((float)CastleVox._materials[i].r / 255f, (float)CastleVox._materials[i].g / 255f, (float)CastleVox._materials[i].b / 255f); float ior = 1.01f; if (i == 252) { ior = 1.1f; } if (i == 254) { ior = 1.1f; } //Vector3 color = new Vector3(1f, 0f, 0f); materials.Add(new Material(color, ior)); } _voxelRenderer.Materials.Set(materials); _model2 = _voxelRenderer.CreateModel(CastleVox.Width, CastleVox.Height, CastleVox.Depth, new Transform(new Vector3(-24.0f, 0.0f, 0.0f), new Vector3(0.0f, 0.1f, 0.0f), new Vector3(0.5f))); //for (int x = -16; x < 16; x++) //for (int y = -16; y < 16; y++) //for (int z = -16; z < 16; z++) // _model2[x + 16, y + 16, z + 16] = (x * x + y * y + z * z < 16 * 16) ? (byte)1 : (byte)0; for (int x = 0; x < CastleVox.Width; x++) { for (int y = 0; y < CastleVox.Height; y++) { for (int z = 0; z < CastleVox.Depth; z++) { _model2[x, y, z] = CastleVox._data[x, y, z]; } } } Console.WriteLine("Epic"); //int s = 512; //VoxelModel model3 = _voxelRenderer.CreateModel(s,1,s, // new Transform(new Vector3(0.0f, -48.0f, 0.0f), Vector3.Zero, new Vector3(1.0f))); //for (int x = 0; x < s; x++) //for (int y = 0; y < 1; y++) //for (int z = 0; z < s; z++) // model3[x,y,z] = (byte)1; Console.WriteLine("Epic"); Sprite crosshair = new Sprite(new Texture("res/textures/crosshair.png", TextureMinFilter.Linear, TextureMagFilter.Linear)); _spriteRenderer.Add(crosshair); crosshair.Colour = new Colour(1.0f, 1.0f, 1.0f, 1.0f); crosshair.Transform.Scale = new Vector3(128.0f, 128.0f, 0.25f); List <DirectionalLight> dirLights = new List <DirectionalLight>(); var sun = new DirectionalLight(); sun.direction = new Vector3(-0.5f, 1.5f, -1.0f); sun.intensity = 0.8f; sun.colour = new Vector3(1f, 1f, 1f); dirLights.Add(sun); var sun2 = new DirectionalLight(); sun2.direction = new Vector3(-0.4f, 1.5f, 0.8f); sun2.intensity = 0.6f; sun2.colour = new Vector3(0.7f, 0.8f, 1f); dirLights.Add(sun2); var sun3 = new DirectionalLight(); sun3.direction = new Vector3(0.4f, 0.1f, 0.2f); sun3.intensity = 0.6f; sun3.colour = new Vector3(0.4f, 0.8f, 1f); dirLights.Add(sun3); _voxelRenderer.DirectionalLights = dirLights; List <PointLight> pointLights = new List <PointLight>(); var pointlight = new PointLight(); pointlight.position = new Vector3(0f, 0f, -20f); pointlight.intensity = 0.5f; pointlight.colour = new Vector3(1f, 0.0f, 0.0f); pointLights.Add(pointlight); _voxelRenderer.PointLights = pointLights; MyVoxLoader CharBodyVox = new MyVoxLoader(); VoxReader rCharBody = new VoxReader(@"res\char1_body.vox", CharBodyVox); rCharBody.Read(); //Use palette of castlevox //List<Material> materialsChar = new List<Material>(); //for (int i = 0; i < 256; i++) //{ // Vector3 color = new Vector3((float)CharBodyVox._materials[i].r / 255f, (float)CharBodyVox._materials[i].g / 255f, (float)CharBodyVox._materials[i].b / 255f); // float ior = 1.01f; // if (i == 252) ior = 1.1f; // if (i == 254) ior = 1.1f; // //Vector3 color = new Vector3(1f, 0f, 0f); // materialsChar.Add(new Material(color, ior)); //} //_voxelRenderer.Materials.Set(materialsChar); TcpConnection connection = new TcpConnection(IPAddress.Parse("127.0.0.1"), 42069, (IConnection c, byte[] data) => { //Console.WriteLine("Received packet..."); if (data.Length > 1) { if (data[0] == 1) { Console.WriteLine("Received our player id!"); _playerId = BitConverter.ToUInt64(data, 1); _mainPlayer = new Player(data[1], _playerId, true); _mainPlayer._world = _model2; _mainPlayer._modelBody = _voxelRenderer.CreateModel(CharBodyVox.Width, CharBodyVox.Height, CharBodyVox.Depth, new Transform(new Vector3(-24.0f, 0.0f, 0.0f), new Vector3(0.0f, 0.1f, 0.0f), new Vector3(0.5f))); //for (int x = 0; x < CharBodyVox.Width; x++) // for (int y = 0; y < CharBodyVox.Height; y++) // for (int z = 0; z < CharBodyVox.Depth; z++) // _mainPlayer._modelBody[x, y, z] = CharBodyVox._data[x, y, z]; //Commenting this line out will give you access to the FreeCamera //_camera = _mainPlayer.camera; _entityManager.Add(_mainPlayer); } else if (data[0] == 0) { //Not sure if myId should be data[5] or _playerId if (NetworkEntity.HandlePacket(_entityManager, data, _playerId) == false) { //Player doesn't exist yet Console.WriteLine("Adding new player"); Player player = new Player(data[1], data[5], false); player._modelBody = _voxelRenderer.CreateModel(CharBodyVox.Width, CharBodyVox.Height, CharBodyVox.Depth, new Transform(new Vector3(-24.0f, 0.0f, 0.0f), new Vector3(0.0f, 0.1f, 0.0f), new Vector3(0.5f))); for (int x = 0; x < CharBodyVox.Width; x++) { for (int y = 0; y < CharBodyVox.Height; y++) { for (int z = 0; z < CharBodyVox.Depth; z++) { player._modelBody[x, y, z] = CharBodyVox._data[x, y, z]; } } } _entityManager.Add(player); } } } }); _packetSender.AddReceiver(connection); }