Cleanup in vertex structures
parent
c280924c0e
commit
367dab9c5a
|
@ -37,13 +37,6 @@
|
||||||
namespace Gfx
|
namespace Gfx
|
||||||
{
|
{
|
||||||
|
|
||||||
enum VertexType
|
|
||||||
{
|
|
||||||
VERTEX_TYPE_NORMAL,
|
|
||||||
VERTEX_TYPE_TEX2,
|
|
||||||
VERTEX_TYPE_COL,
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \struct Vertex
|
* \struct Vertex
|
||||||
* \brief Vertex of a primitive
|
* \brief Vertex of a primitive
|
||||||
|
@ -57,8 +50,6 @@ enum VertexType
|
||||||
*/
|
*/
|
||||||
struct Vertex
|
struct Vertex
|
||||||
{
|
{
|
||||||
static constexpr VertexType VERTEX_TYPE = VERTEX_TYPE_NORMAL;
|
|
||||||
|
|
||||||
glm::vec3 coord = { 0, 0, 0 };
|
glm::vec3 coord = { 0, 0, 0 };
|
||||||
glm::vec3 normal = { 0, 0, 0 };
|
glm::vec3 normal = { 0, 0, 0 };
|
||||||
glm::vec2 texCoord = { 0, 0 };
|
glm::vec2 texCoord = { 0, 0 };
|
||||||
|
@ -74,8 +65,6 @@ struct Vertex
|
||||||
*/
|
*/
|
||||||
struct VertexCol
|
struct VertexCol
|
||||||
{
|
{
|
||||||
static constexpr VertexType VERTEX_TYPE = VERTEX_TYPE_COL;
|
|
||||||
|
|
||||||
glm::vec3 coord = { 0, 0, 0 };
|
glm::vec3 coord = { 0, 0, 0 };
|
||||||
Color color = Color();
|
Color color = Color();
|
||||||
};
|
};
|
||||||
|
@ -102,32 +91,6 @@ struct Vertex3D
|
||||||
glm::vec2 uv = { 0.0f, 0.0f };
|
glm::vec2 uv = { 0.0f, 0.0f };
|
||||||
glm::vec2 uv2 = { 0.0f, 0.0f };
|
glm::vec2 uv2 = { 0.0f, 0.0f };
|
||||||
glm::vec3 normal = { 0.0f, 0.0f, 1.0f };
|
glm::vec3 normal = { 0.0f, 0.0f, 1.0f };
|
||||||
|
|
||||||
Vertex3D() = default;
|
|
||||||
|
|
||||||
Vertex3D(const glm::vec3& position,
|
|
||||||
glm::u8vec4 color = { 255, 255, 255, 255 },
|
|
||||||
glm::vec2 uv = { 0.0f, 0.0f },
|
|
||||||
glm::vec2 uv2 = { 0.0f, 0.0f },
|
|
||||||
glm::vec3 normal = { 0.0f, 0.0f, 1.0f })
|
|
||||||
: position(position)
|
|
||||||
, color(color)
|
|
||||||
, uv(uv)
|
|
||||||
, uv2(uv2)
|
|
||||||
, normal(normal) {}
|
|
||||||
|
|
||||||
Vertex3D(const Vertex& vertex)
|
|
||||||
: position(vertex.coord)
|
|
||||||
, uv(vertex.texCoord)
|
|
||||||
, normal(vertex.normal)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
operator Vertex() const
|
|
||||||
{
|
|
||||||
return Vertex{ position, normal, uv };
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Gfx
|
} // namespace Gfx
|
||||||
|
|
|
@ -56,7 +56,7 @@ namespace ModelInput
|
||||||
std::vector<ModelTriangle> ReadOldModelV2(std::istream &stream, int totalTriangles);
|
std::vector<ModelTriangle> ReadOldModelV2(std::istream &stream, int totalTriangles);
|
||||||
std::vector<ModelTriangle> ReadOldModelV3(std::istream &stream, int totalTriangles);
|
std::vector<ModelTriangle> ReadOldModelV3(std::istream &stream, int totalTriangles);
|
||||||
|
|
||||||
Vertex ReadBinaryVertex(std::istream& stream);
|
Vertex3D ReadBinaryVertex(std::istream& stream);
|
||||||
Vertex3D ReadBinaryVertexTex2(std::istream& stream);
|
Vertex3D ReadBinaryVertexTex2(std::istream& stream);
|
||||||
Material ReadBinaryMaterial(std::istream& stream);
|
Material ReadBinaryMaterial(std::istream& stream);
|
||||||
|
|
||||||
|
@ -638,20 +638,20 @@ void ModelInput::ConvertFromOldRenderState(ModelTriangle& triangle, int state)
|
||||||
triangle.doubleSided = (state & static_cast<int>(ModelRenderState::TwoFace)) != 0;
|
triangle.doubleSided = (state & static_cast<int>(ModelRenderState::TwoFace)) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Vertex ModelInput::ReadBinaryVertex(std::istream& stream)
|
Vertex3D ModelInput::ReadBinaryVertex(std::istream& stream)
|
||||||
{
|
{
|
||||||
Vertex vertex;
|
Vertex3D vertex;
|
||||||
|
|
||||||
vertex.coord.x = ReadBinaryFloat(stream);
|
vertex.position.x = ReadBinaryFloat(stream);
|
||||||
vertex.coord.y = ReadBinaryFloat(stream);
|
vertex.position.y = ReadBinaryFloat(stream);
|
||||||
vertex.coord.z = ReadBinaryFloat(stream);
|
vertex.position.z = ReadBinaryFloat(stream);
|
||||||
|
|
||||||
vertex.normal.x = ReadBinaryFloat(stream);
|
vertex.normal.x = ReadBinaryFloat(stream);
|
||||||
vertex.normal.y = ReadBinaryFloat(stream);
|
vertex.normal.y = ReadBinaryFloat(stream);
|
||||||
vertex.normal.z = ReadBinaryFloat(stream);
|
vertex.normal.z = ReadBinaryFloat(stream);
|
||||||
|
|
||||||
vertex.texCoord.x = ReadBinaryFloat(stream);
|
vertex.uv.x = ReadBinaryFloat(stream);
|
||||||
vertex.texCoord.y = ReadBinaryFloat(stream);
|
vertex.uv.y = ReadBinaryFloat(stream);
|
||||||
|
|
||||||
return vertex;
|
return vertex;
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,9 +180,9 @@ struct OldModelTriangleV1
|
||||||
{
|
{
|
||||||
char used = 0;
|
char used = 0;
|
||||||
char selected = 0;
|
char selected = 0;
|
||||||
Vertex p1;
|
Vertex3D p1;
|
||||||
Vertex p2;
|
Vertex3D p2;
|
||||||
Vertex p3;
|
Vertex3D p3;
|
||||||
char texName[21] = {'\0'};
|
char texName[21] = {'\0'};
|
||||||
float min = 0;
|
float min = 0;
|
||||||
float max = 0;
|
float max = 0;
|
||||||
|
@ -198,9 +198,9 @@ struct OldModelTriangleV2
|
||||||
{
|
{
|
||||||
char used = 0;
|
char used = 0;
|
||||||
char selected = 0;
|
char selected = 0;
|
||||||
Vertex p1;
|
Vertex3D p1;
|
||||||
Vertex p2;
|
Vertex3D p2;
|
||||||
Vertex p3;
|
Vertex3D p3;
|
||||||
char texName[21] = {'\0'};
|
char texName[21] = {'\0'};
|
||||||
float min = 0.0f;
|
float min = 0.0f;
|
||||||
float max = 0.0f;
|
float max = 0.0f;
|
||||||
|
|
Loading…
Reference in New Issue