7 std::string vertexShaderSource = R
"(
9 layout (location = 0) in vec3 position;
10 layout (location = 1) in vec3 color;
16 uniform mat4 uProjection;
21 gl_Position = uProjection * uView * uModel * vec4(position, 1.0);
25 std::string fragmentShaderSource = R"(
33 FragColor = vec4(vColor, 1.0);
38 auto shaderProgram = graphicsAPI.
CreateShaderProgram(vertexShaderSource, fragmentShaderSource);
40 auto material = std::make_shared<eng::Material>();
41 material->SetShaderProgram(shaderProgram);
43 std::vector<float> vertices =
45 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 0.0f,
46 -0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f,
47 -0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f,
48 0.5f, -0.5f, 0.5f, 1.0f, 1.0f, 0.0f,
50 0.5f, 0.5f, -0.5f, 1.0f, 0.0f, 0.0f,
51 -0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f,
52 -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, 1.0f,
53 0.5f, -0.5f, -0.5f, 1.0f, 1.0f, 0.0f
56 std::vector<unsigned int> indices =
94 vertexLayout.
stride =
sizeof(float) * 6;
96 auto mesh = std::make_shared<eng::Mesh>(vertexLayout, vertices, indices);