64 lines
1.2 KiB
C++
64 lines
1.2 KiB
C++
#include "meshbuilder.h"
|
|
|
|
void MeshBuilder::addPosition(float x, float y, float z)
|
|
{
|
|
addPosition(glm::vec3(x, y, z));
|
|
}
|
|
|
|
void MeshBuilder::addPosition(const glm::vec3 &position)
|
|
{
|
|
positions3D.push_back(position);
|
|
}
|
|
|
|
void MeshBuilder::addNormal(float x, float y, float z)
|
|
{
|
|
addNormal(glm::vec3(x, y, z));
|
|
}
|
|
|
|
void MeshBuilder::addNormal(const glm::vec3 &normal)
|
|
{
|
|
normals.push_back(normal);
|
|
}
|
|
|
|
void MeshBuilder::addTexCoord(float u, float v)
|
|
{
|
|
addTexCoord(glm::vec2(u, v));
|
|
}
|
|
|
|
void MeshBuilder::addTexCoord(const glm::vec2 &texCoord)
|
|
{
|
|
texCoords.push_back(texCoord);
|
|
}
|
|
|
|
|
|
void MeshBuilder::addVertex(const glm::vec3 &position, const glm::vec3 &normal)
|
|
{
|
|
addPosition(position);
|
|
addNormal(normal);
|
|
}
|
|
|
|
void MeshBuilder::addVertex(const glm::vec3 &position, const glm::vec2 &texCoord)
|
|
{
|
|
addPosition(position);
|
|
addTexCoord(texCoord);
|
|
}
|
|
|
|
void MeshBuilder::addVertex(const glm::vec3 &position, const glm::vec3 &normal, const glm::vec2 &texCoord)
|
|
{
|
|
addVertex(position, normal);
|
|
addTexCoord(texCoord);
|
|
}
|
|
|
|
|
|
void MeshBuilder::addTriangle(int i1, int i2, int i3)
|
|
{
|
|
indices.push_back(i1);
|
|
indices.push_back(i2);
|
|
indices.push_back(i3);
|
|
}
|
|
|
|
void MeshBuilder::setMaterial(Material* myMaterial)
|
|
{
|
|
material = myMaterial;
|
|
}
|