From de7f667dd04ca339ae984bb7bd1cede959508a77 Mon Sep 17 00:00:00 2001 From: fabjuuuh Date: Fri, 18 Sep 2020 16:01:39 +0200 Subject: [PATCH 1/4] Terrain --- RH-Engine/CreateGraphics.cs | 2 +- RH-Engine/Program.cs | 37 +++++++++++++++++++++++-------------- RH-Engine/RH-Engine.csproj | 3 ++- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/RH-Engine/CreateGraphics.cs b/RH-Engine/CreateGraphics.cs index 3c0c5d0..062908c 100644 --- a/RH-Engine/CreateGraphics.cs +++ b/RH-Engine/CreateGraphics.cs @@ -23,7 +23,7 @@ namespace RH_Engine this.tunnelID = tunnelID; } - public string TerrainCommand(int[] sizeArray, int[] heightsArray) + public string TerrainCommand(int[] sizeArray, float[] heightsArray) { dynamic payload = new { diff --git a/RH-Engine/Program.cs b/RH-Engine/Program.cs index cc2de69..95a4b46 100644 --- a/RH-Engine/Program.cs +++ b/RH-Engine/Program.cs @@ -1,4 +1,5 @@ -using Newtonsoft.Json; +using LibNoise.Primitive; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.IO; @@ -13,15 +14,15 @@ namespace RH_Engine internal class Program { private static PC[] PCs = { - new PC("DESKTOP-TV73FK0", "woute"), + //new PC("DESKTOP-TV73FK0", "woute"), + new PC("DESKTOP-M2CIH87", "Fabian"), + //new PC("T470S", "Shinichi"), + //new PC("DESKTOP-DHS478C", "semme"), + //new PC("NA", "Ralf"), + //new PC("NA", "Bart"), //new PC("DESKTOP-M2CIH87", "Fabian"), //new PC("T470S", "Shinichi"), //new PC("DESKTOP-DHS478C", "semme"), - new PC("NA", "Ralf"), - new PC("NA", "Bart"), - //new PC("DESKTOP-M2CIH87", "Fabian"), - //new PC("T470S", "Shinichi"), - new PC("DESKTOP-DHS478C", "semme"), //new PC("DESKTOP-TV73FKO", "Wouter"), //new PC("NA", "Ralf"), //new PC("NA", "Bart") @@ -103,24 +104,32 @@ namespace RH_Engine command = createGraphics.SkyboxCommand(DateTime.Now.Millisecond % 24); Console.WriteLine("tunnelID is: " + tunnelID); + float x = 0f; + float[] height = new float[256*256]; + ImprovedPerlin improvedPerlin = new ImprovedPerlin(0, LibNoise.NoiseQuality.Best); + for(int i=0; i<256*256; i++) + { + height[i] = improvedPerlin.GetValue(x/10,x/10,x*100)+1; + x += 0.001f; + } - WriteTextMessage(stream, createGraphics.TerrainCommand(new int[] { 256, 256 }, null)); + WriteTextMessage(stream, createGraphics.TerrainCommand(new int[] { 256, 256 }, height)); Console.WriteLine(ReadPrefMessage(stream)); WriteTextMessage(stream, createGraphics.AddNodeCommand()); Console.WriteLine(ReadPrefMessage(stream)); - command = createGraphics.AddBikeModel(); + //command = createGraphics.AddBikeModel(); - WriteTextMessage(stream, command); + //WriteTextMessage(stream, command); - Console.WriteLine(ReadPrefMessage(stream)); + //Console.WriteLine(ReadPrefMessage(stream)); - command = createGraphics.AddModel("car", "data\\customModels\\TeslaRoadster.fbx"); + //command = createGraphics.AddModel("car", "data\\customModels\\TeslaRoadster.fbx"); - WriteTextMessage(stream, command); + //WriteTextMessage(stream, command); - Console.WriteLine(ReadPrefMessage(stream)); + //Console.WriteLine(ReadPrefMessage(stream)); diff --git a/RH-Engine/RH-Engine.csproj b/RH-Engine/RH-Engine.csproj index 7d2f521..0c92efb 100644 --- a/RH-Engine/RH-Engine.csproj +++ b/RH-Engine/RH-Engine.csproj @@ -1,4 +1,4 @@ - + Exe @@ -7,6 +7,7 @@ + From c837af039215d700522c04327b8ca84d899eea02 Mon Sep 17 00:00:00 2001 From: Logophilist Date: Fri, 18 Sep 2020 16:06:35 +0200 Subject: [PATCH 2/4] attempt for road on route --- RH-Engine/CreateGraphics.cs | 16 ++++++++++++++-- RH-Engine/JSONParser.cs | 9 +++++++++ RH-Engine/Program.cs | 19 ++++++++++++++----- 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/RH-Engine/CreateGraphics.cs b/RH-Engine/CreateGraphics.cs index c4331ba..6da32bc 100644 --- a/RH-Engine/CreateGraphics.cs +++ b/RH-Engine/CreateGraphics.cs @@ -250,9 +250,21 @@ namespace RH_Engine return ""; } - public string RoadCommand() + public string RoadCommand(string uuid_route) { - return ""; + dynamic payload = new + { + id = "scene/road/add", + data = new + { + route = uuid_route, + diffuse = "data/NetworkEngine/textures/tarmac_diffuse.png", + normal = "data/NetworkEngine/textures/tarmac_normale.png", + specular = "data/NetworkEngine/textures/tarmac_specular.png", + heightoffset = 0.01 + } + }; + return JsonConvert.SerializeObject(Payload(payload))); } public string GetSceneInfoCommand() diff --git a/RH-Engine/JSONParser.cs b/RH-Engine/JSONParser.cs index d2e167f..2f1f903 100644 --- a/RH-Engine/JSONParser.cs +++ b/RH-Engine/JSONParser.cs @@ -60,6 +60,15 @@ namespace RH_Engine return null; } + public static string GetRouteID(string json) + { + dynamic jsonData = JsonConvert.DeserializeObject(json); + if (jsonData.data.status == "ok") + { + return jsonData.data.uuid; + } + return null; + } } } diff --git a/RH-Engine/Program.cs b/RH-Engine/Program.cs index 6ae1d64..7328292 100644 --- a/RH-Engine/Program.cs +++ b/RH-Engine/Program.cs @@ -104,11 +104,20 @@ namespace RH_Engine CreateGraphics createGraphics = new CreateGraphics(tunnelID); WriteTextMessage(stream, createGraphics.RouteCommand()); - Console.WriteLine("data: " + ReadPrefMessage(stream)); - //WriteTextMessage(stream, createGraphics.GetSceneInfoCommand()); - //add monkey head - //WriteTextMessage(stream, createGraphics.AddModel("Face", "data\\vrlib\\rendermodels\\face\\face.obj", new float[] { 0, 3, 0 }, 10, new float[] { 0, 0, 0 })); - //string headUuid = getUUIDFormResponse(ReadPrefMessage(stream)); + + string routeResponse = ReadPrefMessage(stream); + + string routeID = JSONParser.GetTunnelID(tunnelResponse); + if (routeID == null) + { + Console.WriteLine("could not find a valid route uuid!"); + return; + } + + WriteTextMessage(stream, createGraphics.RoadCommand(routeID)); + + //string groundId = GetId("GroundPlane", stream, createGraphics); + //Console.WriteLine("ground id: " + groundId); From 92d95eb6a671fb61c54560c7776f212b6c1ebc97 Mon Sep 17 00:00:00 2001 From: fabjuuuh Date: Fri, 18 Sep 2020 16:29:26 +0200 Subject: [PATCH 3/4] Made method for terrain no longer in createconnection --- RH-Engine/Program.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/RH-Engine/Program.cs b/RH-Engine/Program.cs index 4206933..2d1c533 100644 --- a/RH-Engine/Program.cs +++ b/RH-Engine/Program.cs @@ -119,7 +119,7 @@ namespace RH_Engine WriteTextMessage(stream, createGraphics.TerrainCommand(new int[] { 256, 256 }, null)); Console.WriteLine(ReadPrefMessage(stream)); - + string command; command = createGraphics.AddBikeModel(); @@ -172,6 +172,24 @@ namespace RH_Engine } + public static void CreateTerrain(NetworkStream stream, CreateGraphics createGraphics) + { + float x = 0f; + float[] height = new float[256 * 256]; + ImprovedPerlin improvedPerlin = new ImprovedPerlin(0, LibNoise.NoiseQuality.Best); + for (int i = 0; i < 256 * 256; i++) + { + height[i] = improvedPerlin.GetValue(x / 10, x / 10, x * 100) + 1; + x += 0.001f; + } + + WriteTextMessage(stream, createGraphics.TerrainCommand(new int[] { 256, 256 }, height)); + Console.WriteLine(ReadPrefMessage(stream)); + + WriteTextMessage(stream, createGraphics.AddNodeCommand()); + Console.WriteLine(ReadPrefMessage(stream)); + } + /// /// gets all the children in the current scene /// From 9f675844eddf39374e264d88b72fe2f08809f439 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Fri, 18 Sep 2020 16:29:39 +0200 Subject: [PATCH 4/4] road showing --- RH-Engine/CreateGraphics.cs | 5 +++-- RH-Engine/Program.cs | 15 +++++---------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/RH-Engine/CreateGraphics.cs b/RH-Engine/CreateGraphics.cs index 6da32bc..8d6c732 100644 --- a/RH-Engine/CreateGraphics.cs +++ b/RH-Engine/CreateGraphics.cs @@ -252,6 +252,7 @@ namespace RH_Engine public string RoadCommand(string uuid_route) { + Console.WriteLine("road"); dynamic payload = new { id = "scene/road/add", @@ -261,10 +262,10 @@ namespace RH_Engine diffuse = "data/NetworkEngine/textures/tarmac_diffuse.png", normal = "data/NetworkEngine/textures/tarmac_normale.png", specular = "data/NetworkEngine/textures/tarmac_specular.png", - heightoffset = 0.01 + heightoffset = 1f } }; - return JsonConvert.SerializeObject(Payload(payload))); + return JsonConvert.SerializeObject(Payload(payload)); } public string GetSceneInfoCommand() diff --git a/RH-Engine/Program.cs b/RH-Engine/Program.cs index 7328292..af74ca3 100644 --- a/RH-Engine/Program.cs +++ b/RH-Engine/Program.cs @@ -1,6 +1,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; +using System.Globalization; using System.IO; using System.Net.Sockets; using System.Runtime.Intrinsics.X86; @@ -103,18 +104,12 @@ namespace RH_Engine CreateGraphics createGraphics = new CreateGraphics(tunnelID); - WriteTextMessage(stream, createGraphics.RouteCommand()); - string routeResponse = ReadPrefMessage(stream); + WriteTextMessage(stream, createGraphics.ResetScene()); + ReadPrefMessage(stream); + string routeid = CreateRoute(stream, createGraphics); - string routeID = JSONParser.GetTunnelID(tunnelResponse); - if (routeID == null) - { - Console.WriteLine("could not find a valid route uuid!"); - return; - } - - WriteTextMessage(stream, createGraphics.RoadCommand(routeID)); + WriteTextMessage(stream, createGraphics.RoadCommand(routeid)); //string groundId = GetId("GroundPlane", stream, createGraphics); //Console.WriteLine("ground id: " + groundId);