1#include "Generators/ClearMeshGenerator.h"
2#include "Utils/Utils.h"
3#include "Data/ApplicationState.h"
18 if (appState->mode == ApplicationMode::TERRAIN)
20 kernels->SetKernelArg(
"clear_mesh_terrain", 0,
"mesh");
21 kernels->ExecuteKernel(
"clear_mesh_terrain", cl::NDRange(1), cl::NDRange(appState->models.coreTerrain->mesh->vertexCount));
24 else if (appState->mode == ApplicationMode::CUSTOM_BASE)
26 kernels->SetKernelArg(
"clear_mesh_custom_base", 0,
"mesh");
27 kernels->SetKernelArg(
"clear_mesh_custom_base", 1,
"mesh_copy");
28 kernels->ExecuteKernel(
"clear_mesh_custom_base", cl::NDRange(1), cl::NDRange(appState->models.customBase->mesh->vertexCount));
34 if (appState->mode == ApplicationMode::TERRAIN)
36 Mesh *mes = appState->models.coreTerrain->mesh;
37 int vc = mes->vertexCount;
39 for(
int i=0; i<vc; i++)
41 mes->vert[i].normal.x = mes->vert[i].normal.y = mes->vert[i].normal.z = mes->vert[i].position.y = 0.0f;
42 mes->vert[i].extras1.x = 0.0f;
43 mes->vert[i].extras1.y = 0.0f;
44 mes->vert[i].extras1.z = 0.0f;
48 else if (appState->mode == ApplicationMode::CUSTOM_BASE)
50 Mesh *mes = appState->models.customBase->mesh;
51 Mesh *mesC = appState->models.customBaseCopy->mesh;
52 int vc = mesC->vertexCount;
54 for(
int i=0; i<vc; i++)
56 mes->vert[i].normal.x = mes->vert[i].normal.y = mes->vert[i].normal.z = 0.0f;
57 mes->vert[i].position = mesC->vert[i].position;
58 mes->vert[i].extras1.x = 0.0f;
59 mes->vert[i].extras1.y = 0.0f;
60 mes->vert[i].extras1.z = 0.0f;
71 data[
"uiActive"] = uiActive;
72 data[
"useGPU"] = useGPU;
78 uiActive = data[
"uiActive"];
79 useGPU = data[
"useGPU"];
82void ClearMeshGenerator::ShowSettings()
84 if(ImGui::Checkbox(
"Use GPU##CMG", &useGPU))
88 ImGui::Checkbox(
"Use GPU For Normals(Flat Shading)##CMG", &appState->states.useGPUForNormals);
89 ImGui::Text(
"Time : %lf ms", time);
a class to store JSON values