2
3
4
5
10#include "Systems/SlateSystem.h"
15 const std::string& panelName ,
26
27
28 if (ImGui::BeginMenu(
"Create"))
33
34
38 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_POLYMER, Mesh)))
40 if (ImGui::MenuItem(
"Cone")) {}
41 if (ImGui::MenuItem(
"Cube"))
44 auto pack = std::make_shared<
CubePack>();
45 pack->SetMaterial(
"BasePassRenderer.Mesh.Default");
46 return Mesh::Builder().AddPack(pack).Build();
49 if (ImGui::MenuItem(
"Cylinder")) {}
50 if (ImGui::MenuItem(
"Disk")) {}
51 if (ImGui::MenuItem(
"Plane"))
54 auto pack = std::make_shared<
PlanePack>();
55 pack->SetMaterial(
"BasePassRenderer.Mesh.Default");
56 return Mesh::Builder().AddPack(pack).Build();
59 if (ImGui::MenuItem(
"Sphere"))
63 pack->SetMaterial(
"BasePassRenderer.Mesh.Default");
64 return Mesh::Builder().AddPack(pack).Build();
67 if (ImGui::MenuItem(
"Torus")) {}
69 if (ImGui::MenuItem(
"Settings")) {}
76
77
81 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_FORMAT_SHAPES, Shape)))
83 if (ImGui::MenuItem(
"Capsule")) {}
84 if (ImGui::MenuItem(
"Cone")) {}
85 if (ImGui::MenuItem(
"Cube")) {}
86 if (ImGui::MenuItem(
"Cylinder")) {}
87 if (ImGui::MenuItem(
"Sphere")) {}
89 bool isHighQuality =
true;
90 if (ImGui::Checkbox(
"High Quality", &isHighQuality)) {}
97
98
102 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_WB_TWIGHLIGHT, Light)))
104 if (ImGui::MenuItem(
"Cylinder Light")) {}
105 if (ImGui::MenuItem(
"Disk Light")) {}
106 if (ImGui::MenuItem(
"Distance Light")) {}
107 if (ImGui::MenuItem(
"Dome Light")) {}
108 if (ImGui::MenuItem(
"Rect Light")) {}
109 if (ImGui::MenuItem(
"Sphere Light")) {}
116
117
121 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_MULTITRACK_AUDIO, Audio)))
123 if (ImGui::MenuItem(
"Spatial Sound")) {}
124 if (ImGui::MenuItem(
"Non-Spatial Sound")) {}
125 if (ImGui::MenuItem(
"Listener")) {}
132
133
134 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_VIDEO_CAMERA_FRONT, Camera))) {}
137
138
139 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_FOLDER, Scope))) {}
142
143
144 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_LINE_AXIS, Xform))) {}
147
148
152 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_PANORAMA_PHOTOSPHERE_SELECT, Material)))
154 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
155 ImGui::SeparatorText(
"Advanced");
156 ImGui::PopStyleColor();
157 if (ImGui::MenuItem(
"Surface")) {}
158 if (ImGui::MenuItem(
"SurfaceBlend")) {}
159 if (ImGui::MenuItem(
"SurfaceLite")) {}
160 if (ImGui::BeginMenu(
"SurfacePresets"))
162 if (ImGui::MenuItem(
"Surface IncandescentBulb")) {}
163 if (ImGui::MenuItem(
"Surface BrushMetal")) {}
164 if (ImGui::MenuItem(
"Surface Chrome")) {}
165 if (ImGui::MenuItem(
"Surface Copper")) {}
166 if (ImGui::MenuItem(
"Surface Gold")) {}
167 if (ImGui::MenuItem(
"Surface Foam")) {}
168 if (ImGui::MenuItem(
"Surface Rubber")) {}
169 if (ImGui::MenuItem(
"Surface CarPaint")) {}
170 if (ImGui::MenuItem(
"Surface CarPaintMetallic")) {}
171 if (ImGui::MenuItem(
"Surface GlossyPaint")) {}
172 if (ImGui::MenuItem(
"Surface TwoToneCarPaint")) {}
173 if (ImGui::MenuItem(
"Surface Default")) {}
174 if (ImGui::MenuItem(
"Surface PeanutButter")) {}
175 if (ImGui::MenuItem(
"Surface SkimMilk")) {}
176 if (ImGui::MenuItem(
"Surface WholeMilk")) {}
177 if (ImGui::MenuItem(
"Surface Ceramic")) {}
178 if (ImGui::MenuItem(
"Surface Clay")) {}
179 if (ImGui::MenuItem(
"Surface Plastic")) {}
180 if (ImGui::MenuItem(
"Surface Skin1")) {}
181 if (ImGui::MenuItem(
"Surface Skin2")) {}
182 if (ImGui::MenuItem(
"Surface Skin3")) {}
183 if (ImGui::MenuItem(
"Surface Skin4")) {}
184 if (ImGui::MenuItem(
"Surface Velvet")) {}
185 if (ImGui::MenuItem(
"Surface Honey")) {}
186 if (ImGui::MenuItem(
"Surface MapleSyrup")) {}
187 if (ImGui::MenuItem(
"Surface OrangeJuice")) {}
188 if (ImGui::MenuItem(
"Surface DustedGlass")) {}
189 if (ImGui::MenuItem(
"Surface FrostedGlass")) {}
190 if (ImGui::MenuItem(
"Surface Glass")) {}
191 if (ImGui::MenuItem(
"Surface Blood")) {}
192 if (ImGui::MenuItem(
"Surface Bubble")) {}
193 if (ImGui::MenuItem(
"Surface Wax")) {}
194 if (ImGui::MenuItem(
"Surface Polyethylene")) {}
195 if (ImGui::MenuItem(
"Surface Diamond")) {}
196 if (ImGui::MenuItem(
"Surface Jade")) {}
197 if (ImGui::MenuItem(
"Surface ClearWater")) {}
198 if (ImGui::MenuItem(
"Surface DeepWater")) {}
202 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
203 ImGui::SeparatorText(
"Base");
204 ImGui::PopStyleColor();
205 if (ImGui::MenuItem(
"Glass")) {}
206 if (ImGui::MenuItem(
"PBR")) {}
207 if (ImGui::MenuItem(
"PBRBase")) {}
208 if (ImGui::MenuItem(
"PBR ClearCoat")) {}
209 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
210 ImGui::SeparatorText(
"Hair");
211 ImGui::PopStyleColor();
212 if (ImGui::MenuItem(
"Hair")) {}
213 if (ImGui::BeginMenu(
"HairPresets"))
215 if (ImGui::MenuItem(
"Hair Blonde")) {}
216 if (ImGui::MenuItem(
"Hair Brown")) {}
217 if (ImGui::MenuItem(
"Hair Auburn")) {}
218 if (ImGui::MenuItem(
"Hair Black")) {}
219 if (ImGui::MenuItem(
"Hair Wet")) {}
223 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
224 ImGui::SeparatorText(
"SimReady");
225 ImGui::PopStyleColor();
226 if (ImGui::MenuItem(
"SimPBR")) {}
227 if (ImGui::MenuItem(
"SimPBR Translucent")) {}
228 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
229 ImGui::SeparatorText(
"Volumes");
230 ImGui::PopStyleColor();
231 if (ImGui::MenuItem(
"VolumeDensity")) {}
232 if (ImGui::BeginMenu(
"VolumeNoise"))
234 if (ImGui::MenuItem(
"VolumeWorleyNoise")) {}
235 if (ImGui::MenuItem(
"VolumePerlinNoise")) {}
239 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
240 ImGui::SeparatorText(
"Usd Materials");
241 ImGui::PopStyleColor();
242 if (ImGui::MenuItem(
"USD Preview Surface")) {}
243 if (ImGui::MenuItem(
"USD Preview Surface Texture")) {}
244 if (ImGui::MenuItem(
"Add MDL File")) {}
245 if (ImGui::MenuItem(
"Create MDL Graph")) {}
252
253
257 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_WATERFALL_CHART, Physics)))
259 if (ImGui::MenuItem(
"Physics Scene")) {}
260 if (ImGui::MenuItem(
"Ground Plane")) {}
261 if (ImGui::MenuItem(
"Physical Material")) {}
262 if (ImGui::MenuItem(
"Collision Group")) {}
263 if (ImGui::BeginMenu(
"Joint"))
265 if (ImGui::MenuItem(
"D6 Joint")) {}
266 if (ImGui::MenuItem(
"Fixed Joint")) {}
267 if (ImGui::MenuItem(
"Revolute Joint")) {}
268 if (ImGui::MenuItem(
"Prismatic Joint")) {}
269 if (ImGui::MenuItem(
"Spherical Joint")) {}
270 if (ImGui::MenuItem(
"Distance Joint")) {}
271 if (ImGui::MenuItem(
"Gear Joint")) {}
272 if (ImGui::MenuItem(
"Rack and Pinion Joint")) {}
276 if (ImGui::MenuItem(
"Particle System")) {}
277 if (ImGui::MenuItem(
"Vehicle")) {}
278 if (ImGui::MenuItem(
"Tire Friction Table")) {}
285
286
290 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_FLOOD, Flow)))
292 if (ImGui::MenuItem(
"Sphere Emitter")) {}
293 if (ImGui::MenuItem(
"Box Emitter")) {}
294 if (ImGui::MenuItem(
"Point Emitter")) {}
295 if (ImGui::MenuItem(
"Mesh Emitter")) {}
296 if (ImGui::MenuItem(
"Texture Emitter")) {}
297 if (ImGui::MenuItem(
"NanoVDB Emitter")) {}
299 if (ImGui::MenuItem(
"Simulate Properties")) {}
300 if (ImGui::MenuItem(
"Offscreen Properties")) {}
301 if (ImGui::MenuItem(
"Render Properties")) {}
302 if (ImGui::MenuItem(
"Isosurface Properties")) {}
311
312
316 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_FORMAT_SHAPES, Particles)))
318 if (ImGui::MenuItem(
"with Geometry Replicator")) {}
319 if (ImGui::MenuItem(
"with Point Instancer")) {}
320 if (ImGui::MenuItem(
"with Particle Visualizer")) {}
321 if (ImGui::MenuItem(
"Point Cloud Flow Emitter")) {}
322 if (ImGui::MenuItem(
"Material")) {}
323 if (ImGui::MenuItem(
"Sprite")) {}
324 if (ImGui::MenuItem(
"Mesh")) {}
325 if (ImGui::MenuItem(
"PointInstancer")) {}
326 if (ImGui::MenuItem(
"Prototypes")) {}
327 if (ImGui::MenuItem(
"Slate")) {}
328 if (ImGui::MenuItem(
"FlowEmitterPoint")) {}
335
336
337 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_VIDEO_CAMERA_FRONT, Sequence))) {}
340
341
345 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_NAVIGATION, Navigation)))
347 if (ImGui::MenuItem(
"NavMesh Volume")) {}
354
355
359 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_JAVASCRIPT, Visual Scripting)))
361 if (ImGui::MenuItem(
"Action Graph")) {}
362 if (ImGui::MenuItem(
"Push Graph")) {}
363 if (ImGui::MenuItem(
"Lazy Graph")) {}
370
371
375 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_POLYLINE, BasisCurves)))
377 if (ImGui::MenuItem(
"Create Curve Deformer")) {}
378 if (ImGui::BeginMenu(
"Graph"))
380 if (ImGui::MenuItem(
"Curve from Xformables")) {}
381 if (ImGui::MenuItem(
"Extract Curve Data")) {}
382 if (ImGui::MenuItem(
"Tag Curves with Ramp")) {}
383 if (ImGui::MenuItem(
"Resample Curves")) {}
387 if (ImGui::MenuItem(
"New Curve")) {}
394
395
399 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_ANIMATION, Animation)))
401 if (ImGui::MenuItem(
"Animation Graph")) {}
408
409
413 if (ImGui::BeginMenu(
ICON_TEXT(ICON_MD_SQUARE, UI)))
415 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
416 ImGui::SeparatorText(
"Containers");
417 ImGui::PopStyleColor();
425 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
426 ImGui::SeparatorText(
"Widgets");
427 ImGui::PopStyleColor();
437 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
438 ImGui::SeparatorText(
"Style");
439 ImGui::PopStyleColor();
443 ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.5f, 0.5f, 0.5f, 1.0f));
444 ImGui::SeparatorText(
"Window");
445 ImGui::PopStyleColor();
447 if (ImGui::MenuItem(
"Viewport Frame")) {}
448 if (ImGui::MenuItem(
"Window Frame")) {}
455
456
457 if (ImGui::MenuItem(
ICON_TEXT(ICON_MD_INSERT_PHOTO, AOV))) {}
461
462
#define ICON_TEXT(icon, text)
#define SPICES_PROFILE_ZONEN(...)
#define SPICES_PROFILE_ZONE
CubePack Class. This class defines box type mesh pack.
static FrameInfo & Get()
Get FrameInfo.
FrameInfo Class. This class defines the FrameInfo data.
static void MainMenuTitleSeparator()
Draw main menu titile separator.
The ImGuiH Class. This class defines helper function for slate render.
virtual void OnRender() override
This interface is called On SlateRenderer Render.
ImguiCreateEntity(const std::string &panelName, FrameInfo &frameInfo)
Constructor Function.
The ImguiCreateEntity Class. This class defines how to render a Create.
ImguiSlate(const std::string &panelName, FrameInfo &frameInfo)
Constructor Function. Init with Slate's name.
This Class defines the basic behaves of specific slate. When we add an new Slate, we need inherit fro...
PlanePack Class. This class defines plane type mesh pack.
SpherePack Class. This class defines sphere type mesh pack.