Skip to content

Commit dfbc456

Browse files
committed
Add ImGui for rendering template
1 parent b70f72f commit dfbc456

File tree

4 files changed

+28
-1
lines changed

4 files changed

+28
-1
lines changed

templates/Aardvark.Template.Rendering.FSharp/paket.dependencies

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ nuget Aardvark.Base ~> 5.3.0
88
nuget Aardvark.Base.FSharp ~> 5.3.0
99

1010
nuget Aardvark.Rendering ~> 5.6.0
11+
nuget Aardvark.Rendering.ImGui ~> 5.6.0
1112
nuget Aardvark.SceneGraph ~> 5.6.0
1213
nuget Aardvark.Application.Slim ~> 5.6.0
1314
nuget Aardvark.Application.Slim.GL ~> 5.6.0

templates/Aardvark.Template.Rendering.FSharp/paket.lock

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ NUGET
109109
FShade (>= 5.7 < 5.8)
110110
FSharp.Core (>= 8.0)
111111
Unofficial.OpenTK (>= 3.0.21 < 3.1)
112+
Aardvark.Rendering.ImGui (5.6)
113+
Aardvark.Application.Slim (5.6)
114+
Aardvark.SceneGraph (5.6)
115+
FSharp.Core (>= 8.0)
116+
Hexa.NET.ImGui (>= 2.2.8.5 < 2.2.9)
112117
Aardvark.Rendering.Vulkan (5.6)
113118
Aardvark.Base.FSharp (>= 5.3.19 < 5.4)
114119
Aardvark.Base.Incremental (>= 5.3.19 < 5.4)
@@ -159,6 +164,9 @@ NUGET
159164
System.Reflection.Emit.Lightweight (>= 4.3)
160165
GLSLangSharp (0.5.1)
161166
FSharp.Core (>= 8.0)
167+
Hexa.NET.ImGui (2.2.8.5)
168+
HexaGen.Runtime (>= 1.1.21)
169+
HexaGen.Runtime (1.1.23)
162170
Microsoft.CSharp (4.7)
163171
Microsoft.DotNet.PlatformAbstractions (3.1.6)
164172
Microsoft.Extensions.DependencyModel (9.0.1)

templates/Aardvark.Template.Rendering.FSharp/src/Aardvark.Template.Rendering/Program.fs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
open System
22
open Aardvark.Base
33
open Aardvark.Rendering
4+
open Aardvark.Rendering.ImGui
45
open Aardvark.SceneGraph
56
open Aardvark.Application
67
open Aardvark.Application.Slim
@@ -16,6 +17,14 @@ let main argv =
1617
use app = new VulkanApplication()
1718
#endif
1819
use win = app.CreateGameWindow(4)
20+
use gui = win.InitializeImGui()
21+
22+
let backgroundColor = AVal.init C3f.Black
23+
24+
gui.Render <- fun () ->
25+
if ImGui.Begin("Settings", ImGuiWindowFlags.AlwaysAutoResize) then
26+
ImGui.ColorEdit3("Background color", backgroundColor, ImGuiColorEditFlags.NoInputs)
27+
ImGui.End()
1928

2029
let quadGeometry =
2130
IndexedGeometry(
@@ -32,7 +41,7 @@ let main argv =
3241
let view = initialView |> DefaultCameraController.control win.Mouse win.Keyboard win.Time
3342
let proj = win.Sizes |> AVal.map (fun s -> Frustum.perspective 60.0 0.1 100.0 (float s.X / float s.Y))
3443

35-
let sg =
44+
let quadSg =
3645
quadGeometry
3746
|> Sg.ofIndexedGeometry
3847
|> Sg.effect [
@@ -42,6 +51,14 @@ let main argv =
4251
|> Sg.viewTrafo (view |> AVal.map CameraView.viewTrafo)
4352
|> Sg.projTrafo (proj |> AVal.map Frustum.projTrafo)
4453

54+
let sg =
55+
RenderCommand.Ordered [
56+
RenderCommand.Clear backgroundColor
57+
RenderCommand.Render quadSg
58+
RenderCommand.Render gui
59+
]
60+
|> Sg.execute
61+
4562
let task =
4663
app.Runtime.CompileRender(win.FramebufferSignature, sg)
4764

templates/Aardvark.Template.Rendering.FSharp/src/Aardvark.Template.Rendering/paket.references

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FSharp.Core
22

33
Aardvark.Rendering
4+
Aardvark.Rendering.ImGui
45
Aardvark.Application.Slim
56
//#if (backend = "opengl")
67
Aardvark.Application.Slim.GL

0 commit comments

Comments
 (0)