10 glm::vec3 suzannePosition = glm::vec3(0, 50, -200);
12 Ref<Vivid::Shader> lightShader;
31 Ref<Vivid::Shader> shader = MakeRef<Vivid::Shader>(
"./../assets/shaders/phong.vertexShader.glsl",
32 "./../assets/shaders/phong.pixelShader.glsl");
36 mesh1.BindShader(shader);
38 mesh1.Update(glm::translate(glm::mat4(1.0f), suzannePosition));
39 shader->SetUniform3f(
"lightColor", lightColor);
40 shader->SetUniform3f(
"lightPos", lightPos);
41 shader->SetUniform1f(
"intensity", 2.0f);
44 mesh1.Update(glm::translate(glm::mat4(1.0f), suzannePosition));
45 mesh1.Draw(Application::GetInstance()->GetCamera());
53 Ref<Vivid::Shader> shader = MakeRef<Vivid::Shader>(
"./../assets/shaders/phong.vertexShader.glsl",
54 "./../assets/shaders/phong.pixelShader.glsl");
58 mesh1.BindShader(shader);
60 shader->SetUniform3f(
"lightColor", lightColor);
61 shader->SetUniform3f(
"lightPos", lightPos);
62 shader->SetUniform1f(
"intensity", 2.0f);
65 mesh1.Update(glm::translate(glm::mat4(1.0f), suzannePosition));
66 mesh1.Draw(Application::GetInstance()->GetCamera());
74 ImGui::Begin(
"Debug");
75 ImGui::SliderFloat3(
"Translation Model 1", &suzannePosition.x, -500.0f, 500.0f);
76 ImGui::SliderFloat3(
"Light Position", &lightPos.x, -500.0f, 500.0f);
78 ImGui::Text(
"Application average %.3f ms/frame (%.1f FPS)",
79 1000.0f / ImGui::GetIO().Framerate, ImGui::GetIO().Framerate);
87 Application* app = Application::GetInstance(1920, 1080,
"Vivid: Suzanne Example");
94 return Vivid::main(0,
nullptr);
void Setup() override
Setup function.
void ImGuiRender() override
ImGuiRender function.
void Draw() override
Draw function.
RenderingInterface class.
static void Init(int reserveVertices=10000)
Initializes the Renderer2D.