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=3d7c359c09af267d374c9a49bac77127cc26dc47;hb=3807953d55f788a41339af3da14822c2c01c32e4;hpb=01c086f17e2af89f6c6b1bd30a0240da2fda1e75 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 3d7c359..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) 2020 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. @@ -20,10 +20,9 @@ namespace Dali { - Shader CreateShader() { - return Shader::New( "vertexSrc", "fragmentSrc" ); + return Shader::New("vertexSrc", "fragmentSrc"); } TextureSet CreateTextureSet() @@ -31,7 +30,7 @@ TextureSet CreateTextureSet() return TextureSet::New(); } -TextureSet CreateTextureSet( Texture texture ) +TextureSet CreateTextureSet(Texture texture) { TextureSet textureSet = TextureSet::New(); textureSet.SetTexture(0u, texture); @@ -42,33 +41,77 @@ VertexBuffer CreateVertexBuffer() { Property::Map texturedQuadVertexFormat; texturedQuadVertexFormat["aPosition"] = Property::VECTOR2; - texturedQuadVertexFormat["aVertexCoord"] = Property::VECTOR2; + texturedQuadVertexFormat["aTexCoord"] = Property::VECTOR2; - VertexBuffer vertexData = VertexBuffer::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; }; + 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) } }; + {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 }; + 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]) ); + 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