From de7f667dd04ca339ae984bb7bd1cede959508a77 Mon Sep 17 00:00:00 2001 From: fabjuuuh Date: Fri, 18 Sep 2020 16:01:39 +0200 Subject: [PATCH 1/2] 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 92d95eb6a671fb61c54560c7776f212b6c1ebc97 Mon Sep 17 00:00:00 2001 From: fabjuuuh Date: Fri, 18 Sep 2020 16:29:26 +0200 Subject: [PATCH 2/2] 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 ///