Skip to content

Commit 05dedfd

Browse files
authored
Merge pull request #54 from canhorn/feature/interop-version-update_0.2.3
Updated Interop Version to 0.2.3
2 parents 61baaa9 + 2958120 commit 05dedfd

File tree

8 files changed

+391
-89
lines changed

8 files changed

+391
-89
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
@page "/mesh/builder"
2+
3+
<h1>Mesh Builder!</h1>
4+
5+
<div>
6+
<canvas id="game-window" style="width:100%"></canvas>
7+
</div>
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
namespace EventHorizon.Blazor.BabylonJS.Pages
2+
{
3+
using System;
4+
using System.Collections.Generic;
5+
using System.Threading.Tasks;
6+
using BABYLON;
7+
using EventHorizon.Blazor.BabylonJS.Model;
8+
using EventHorizon.Blazor.Interop.Callbacks;
9+
10+
public partial class MeshBuilderExample : IDisposable
11+
{
12+
private Engine _engine;
13+
protected override void OnAfterRender(bool firstRender)
14+
{
15+
if (firstRender)
16+
{
17+
CreateScene();
18+
}
19+
}
20+
21+
public void Dispose()
22+
{
23+
_engine?.dispose();
24+
}
25+
26+
public void CreateScene()
27+
{
28+
var canvas = Canvas.GetElementById(
29+
"game-window"
30+
);
31+
var engine = new Engine(
32+
canvas,
33+
true
34+
);
35+
var scene = new Scene(
36+
engine
37+
);
38+
var light1 = new HemisphericLight(
39+
"HemisphericLight",
40+
new Vector3(1, 1, 0),
41+
scene
42+
);
43+
44+
var columns = 6m;
45+
var rows = 1m;
46+
47+
var faceUV = new Vector4[6];
48+
49+
for (var i = 0; i < 6; i++)
50+
{
51+
faceUV[i] = new Vector4(
52+
i / columns,
53+
0,
54+
(i + 1) / columns,
55+
1m / rows
56+
);
57+
}
58+
59+
var mat = new StandardMaterial(
60+
"mat",
61+
scene
62+
);
63+
var texture = new Texture(
64+
scene,
65+
"https://assets.babylonjs.com/environments/numbers.jpg"
66+
);
67+
mat.diffuseTexture = texture;
68+
69+
var alpha = 1;
70+
var red = new Color4(
71+
1,
72+
0,
73+
0,
74+
alpha
75+
);
76+
var blue = new Color4(
77+
0,
78+
0,
79+
1,
80+
alpha
81+
);
82+
var green = new Color4(
83+
0,
84+
1,
85+
0,
86+
alpha
87+
);
88+
89+
var options = new
90+
{
91+
faceUV,
92+
wrap = true,
93+
width = 1,
94+
height = 2,
95+
depth = 3,
96+
faceColors = new List<Color4> { green, green, green, green, blue, red }
97+
};
98+
99+
var box = MeshBuilder.CreateBox(
100+
"box",
101+
options,
102+
scene
103+
);
104+
box.material = mat;
105+
106+
var camera = new ArcRotateCamera(
107+
"ArcRotateCamera",
108+
(decimal)(Math.PI / 2),
109+
(decimal)(Math.PI / 4),
110+
10,
111+
new Vector3(0, 1, 0),
112+
scene
113+
);
114+
scene.activeCamera = camera;
115+
camera.attachControl(
116+
false
117+
);
118+
119+
engine.runRenderLoop(new ActionCallback(
120+
() => Task.Run(() => scene.render(true, false))
121+
));
122+
123+
_engine = engine;
124+
}
125+
}
126+
}

Sample/EventHorizon.Blazor.BabylonJS/Pages/MeshExample.razor

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
@page "/mesh"
1+
@page "/mesh/gltf"
22

3-
<h1>Mesh Loaded! Generated Code!</h1>
3+
<h1>glTF Mesh Loaded!</h1>
44

55
<div>
66
<canvas id="game-window" style="width:100%"></canvas>

Sample/EventHorizon.Blazor.BabylonJS/Pages/MeshExample.razor.cs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
4-
using System.Threading.Tasks;
5-
using BABYLON;
6-
using EventHorizon.Blazor.BabylonJS.Model;
7-
using EventHorizon.Blazor.Interop.Callbacks;
8-
91
namespace EventHorizon.Blazor.BabylonJS.Pages
102
{
3+
using System;
4+
using System.Threading.Tasks;
5+
using BABYLON;
6+
using EventHorizon.Blazor.BabylonJS.Model;
7+
using EventHorizon.Blazor.Interop.Callbacks;
8+
119
public partial class MeshExample : IDisposable
1210
{
1311
private Engine _engine;
@@ -54,12 +52,13 @@ public void CreateScene()
5452
),
5553
scene
5654
);
55+
5756
var house = SceneLoader.ImportMesh(
58-
null,
59-
"assets/",
60-
"House.gltf",
61-
scene
62-
);
57+
null,
58+
"assets/",
59+
"House.gltf",
60+
scene
61+
);
6362
var freeCamera = new FreeCamera(
6463
"FreeCamera",
6564
new Vector3(

Sample/EventHorizon.Blazor.BabylonJS/Shared/NavMenu.razor

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@
1313
</NavLink>
1414
</li>
1515
<li class="nav-item px-3">
16-
<NavLink class="nav-link" href="mesh">
17-
<span class="oi oi-home" aria-hidden="true"></span> Mesh
16+
<NavLink class="nav-link" href="mesh/gltf">
17+
<span class="oi oi-home" aria-hidden="true"></span> Mesh glTF
18+
</NavLink>
19+
</li>
20+
<li class="nav-item px-3">
21+
<NavLink class="nav-link" href="mesh/builder">
22+
<span class="oi oi-home" aria-hidden="true"></span> Mesh Builder
1823
</NavLink>
1924
</li>
2025
<li class="nav-item px-3">

0 commit comments

Comments
 (0)