Render Framebuffer Textures using a Full Screen Square
Create the Square
Add a public static method createSquare() in Mesh.h
// factory methods for creation of raw models
static std::shared_ptr<Mesh> createSquare();Define the method in Mesh.cpp
std::shared_ptr<Mesh> Mesh::createSquare()
{
std::shared_ptr<Mesh> obj = std::make_shared<Mesh>();
obj->vertices = {
{glm::vec3(-1.0f, -1.0f, 0.0f),
glm::vec3(0.0f, 0.0f, 1.0f),
glm::vec2(0.0f, 0.0f)
},
{
glm::vec3(1.0f, -1.0f, 0.0f),
glm::vec3(0.0f, 0.0f, 1.0f),
glm::vec2(1.0f, 0.0f)
},
{
glm::vec3(1.0f, 1.0f, 0.0f),
glm::vec3(0.0f, 0.0f, 1.0f),
glm::vec2(1.0f, 1.0f)
},
{
glm::vec3(-1.0f, 1.0f, 0.0f),
glm::vec3(0.0f, 0.0f, 1.0f),
glm::vec2(0.0f, 1.0f)
}
};
obj->indices = {
0, 1, 2, 0, 2, 3
};
obj->initBuffer();
return obj;
}Generate the square in main()
Last updated