diff --git a/RH-Engine/CreateGraphics.cs b/RH-Engine/CreateGraphics.cs
index bb2d61e..03e3b1a 100644
--- a/RH-Engine/CreateGraphics.cs
+++ b/RH-Engine/CreateGraphics.cs
@@ -280,9 +280,22 @@ namespace RH_Engine
return "";
}
- public string RoadCommand()
+ public string RoadCommand(string uuid_route)
{
- return "";
+ Console.WriteLine("road");
+ 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 = 1f
+ }
+ };
+ 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 a0ad0f1..1bca7f7 100644
--- a/RH-Engine/Program.cs
+++ b/RH-Engine/Program.cs
@@ -1,6 +1,8 @@
-using Newtonsoft.Json;
+using LibNoise.Primitive;
+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 +105,26 @@ namespace RH_Engine
CreateGraphics createGraphics = new CreateGraphics(tunnelID);
- for (int i = 0; i < 10; i++)
- {
- string routeUUID = CreateRoute(stream, createGraphics);
- //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 = getUUIDFromResponse(ReadPrefMessage(stream));
- WriteTextMessage(stream, createGraphics.RouteFollow(routeUUID, headUuid, 5, new float[] { 0, 3, 0 }));
- ReadPrefMessage(stream);
+ WriteTextMessage(stream, createGraphics.ResetScene());
+ ReadPrefMessage(stream);
+ string routeid = CreateRoute(stream, createGraphics);
- }
+ WriteTextMessage(stream, createGraphics.TerrainCommand(new int[] { 256, 256 }, null));
+ Console.WriteLine(ReadPrefMessage(stream));
+ string command;
+
+ command = createGraphics.AddBikeModel();
+
+ WriteTextMessage(stream, command);
+
+ Console.WriteLine(ReadPrefMessage(stream));
+
+ command = createGraphics.AddModel("car", "data\\customModels\\TeslaRoadster.fbx");
+
+ WriteTextMessage(stream, command);
+
+ Console.WriteLine(ReadPrefMessage(stream));
@@ -155,6 +165,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
///
diff --git a/RH-Engine/RH-Engine.csproj b/RH-Engine/RH-Engine.csproj
index bb56f7b..0c92efb 100644
--- a/RH-Engine/RH-Engine.csproj
+++ b/RH-Engine/RH-Engine.csproj
@@ -1,4 +1,4 @@
-
+
Exe