X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Fmesh-builder.cpp;h=3a4e127b63924b5f1f5644651a97ddb04c5eff78;hp=4cc72bd9b21a7f8f99a0c3d61109f874e90cff08;hb=3807953d55f788a41339af3da14822c2c01c32e4;hpb=cdff9e083000486571111c31ae299b654a78a2b8 diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp index 4cc72bd..3a4e127 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,14 +14,15 @@ * limitations under the License. * */ + +// CLASS HEADER #include "mesh-builder.h" namespace Dali { - Shader CreateShader() { - return Shader::New( "vertexSrc", "fragmentSrc" ); + return Shader::New("vertexSrc", "fragmentSrc"); } TextureSet CreateTextureSet() @@ -29,21 +30,88 @@ TextureSet CreateTextureSet() return TextureSet::New(); } -TextureSet CreateTextureSet( Image image ) +TextureSet CreateTextureSet(Texture texture) { TextureSet textureSet = TextureSet::New(); - textureSet.SetImage( 0u, image ); + textureSet.SetTexture(0u, texture); return textureSet; } -PropertyBuffer CreatePropertyBuffer() +VertexBuffer CreateVertexBuffer() { Property::Map texturedQuadVertexFormat; texturedQuadVertexFormat["aPosition"] = Property::VECTOR2; - texturedQuadVertexFormat["aVertexCoord"] = Property::VECTOR2; + texturedQuadVertexFormat["aTexCoord"] = Property::VECTOR2; - PropertyBuffer vertexData = PropertyBuffer::New( texturedQuadVertexFormat ); + VertexBuffer vertexData = VertexBuffer::New(texturedQuadVertexFormat); return vertexData; } +Geometry CreateQuadGeometry(void) +{ + VertexBuffer vertexData = CreateVertexBuffer(); + const float halfQuadSize = .5f; + struct TexturedQuadVertex + { + Vector2 position; + Vector2 textureCoordinates; + }; + TexturedQuadVertex texturedQuadVertexData[4] = { + {Vector2(-halfQuadSize, -halfQuadSize), Vector2(0.f, 0.f)}, + {Vector2(halfQuadSize, -halfQuadSize), Vector2(1.f, 0.f)}, + {Vector2(-halfQuadSize, halfQuadSize), Vector2(0.f, 1.f)}, + {Vector2(halfQuadSize, halfQuadSize), Vector2(1.f, 1.f)}}; + vertexData.SetData(texturedQuadVertexData, 4); + + unsigned short indexData[6] = {0, 3, 1, 0, 2, 3}; + + Geometry geometry = Geometry::New(); + geometry.AddVertexBuffer(vertexData); + geometry.SetIndexBuffer(indexData, sizeof(indexData) / sizeof(indexData[0])); + + return geometry; +} + +Property::Map CreateModelVertexFormat() +{ + Property::Map modelVF; + modelVF["aPosition"] = Property::VECTOR3; + modelVF["aNormal"] = Property::VECTOR3; + modelVF["aTexCoord1"] = Property::VECTOR3; + modelVF["aTexCoord2"] = Property::VECTOR3; + modelVF["aBoneIndex[0]"] = Property::INTEGER; + modelVF["aBoneIndex[1]"] = Property::INTEGER; + modelVF["aBoneIndex[2]"] = Property::INTEGER; + modelVF["aBoneIndex[3]"] = Property::INTEGER; + modelVF["aBoneWeights[0]"] = Property::FLOAT; + modelVF["aBoneWeights[1]"] = Property::FLOAT; + modelVF["aBoneWeights[2]"] = Property::FLOAT; + modelVF["aBoneWeights[3]"] = Property::FLOAT; + return modelVF; +} + +Geometry CreateModelGeometry(Property::Map& vf) +{ + VertexBuffer vertexData = VertexBuffer::New(vf); + + struct Vertex + { + Vector3 position; + Vector3 diffuseTexCoords; + Vector3 metalRoughTexCoords; + int boneIndices[4]; + float boneWeights[4]; + }; + + Vertex verts[30]; + vertexData.SetData(verts, 30); + unsigned short indexData[40]; + + Geometry geometry = Geometry::New(); + geometry.AddVertexBuffer(vertexData); + geometry.SetIndexBuffer(indexData, sizeof(indexData) / sizeof(indexData[0])); + + return geometry; +} + } // namespace Dali