From 72fc3d5e2c43f88a29a5fce3d4892423114def3f Mon Sep 17 00:00:00 2001 From: Epicalert Date: Sat, 2 Jan 2021 02:55:12 +0800 Subject: [PATCH] add support for multiple textures in one part Also added open/closed states for mouth --- face-eyes.png | Bin 0 -> 9011 bytes face-mouth-closed.png | Bin 0 -> 5399 bytes face-mouth-open.png | Bin 0 -> 8072 bytes face.png | Bin 30848 -> 0 bytes face.xcf | Bin 0 -> 111164 bytes head-face.png | Bin 9739 -> 0 bytes src/graphics.cpp | 12 +++++++++--- src/graphics.hpp | 2 +- src/main.cpp | 9 +++++++-- src/modelpart.cpp | 17 ++++++++++++++--- src/modelpart.hpp | 12 +++++++++++- 11 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 face-eyes.png create mode 100644 face-mouth-closed.png create mode 100644 face-mouth-open.png delete mode 100644 face.png create mode 100644 face.xcf delete mode 100644 head-face.png diff --git a/face-eyes.png b/face-eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..896359ec664ecc649d3ce292255c261b79df3c3c GIT binary patch literal 9011 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%0DsYz8ya(#QIjTx7 z(A_0UL`L*mox5~dHHvWb2NLbXG5J+?^P|p+**PYpdtx6w>zevXWI4L-?if;H$R6Xn zm~1;UXZ&d+kL_Fn8N$iXb@1`mq(>M5uP+GsNJqtmzCGGVXQ z9D(8Dxq+jjlz~$I6RL;ShKd6^*gtqj+dvd2=M~5pC?XPw{8L(&Kj|^cev$LICEA5g zN_SH>UPsNpA!0p;Rkm561n6O`VV|GN;_}fWH`PA5uIZYZbnY>VuqPo)NA7g7F1Lp< z6L(Z>+CVPGzUkJ`v7AFHyYu2| zpr%5)sYU3Dp1aIvJ!S}L==!;#@Y3WG?#&Z`uCl!g?ACmrQOgS(|>FBRY?| zWLeP+-lKhy{Zg1D-|f0Fi4&Ta}pLCep{X<<=L0M3cGB6lJL0{)Yc@KdSX%i zq@SoqIiZ}gn)^B4`RCg;T-Pdb|(HS9wx zN=Qb(-vaZ3L*?Tko~@9sZ-MQUjxx~{J|6Q93{fH{7jPw-!Y0>wtiw!|g5s9SscF(1 zkG{fLWvGk%n80Df^;pjsQu+g>UYGY@!)N>XlNK*Ur;_1iQKqm8k zeFD@|dj$NDySt=Rn{Lv%a*SVNT1K&~5L$k#Nz_Rih7{ecD{cdcr!PRH=0 zIFsr$X$qs$3hKFg?KmW-^EM4RzM2Zzt_S~#9G658xs~d*()C_EAEX{6GE{&crm8Ov zota-3O|#w{+A_(!@nFKTx`ula3H9`yO%fyv^`B>)`BtZVP%Gt5qXUuWClE&U(&1&k zedUE>kcla2#8{Lz6e1acG^3!1X9-7|7BX9NM>|2q4>0J)QMstZtlGL}M72aBI_~)2 zC^gk>SslPnnniyVTM1~=czPEL%rT)p!7vzE(hU{ve4Sm(-`=qZZgkCUGk0pC3wjZW zq_{cCUJe{eY2j6yWHJ&8{l9fE+(Gn04U|WA4i+aHIl}6_I~E<`vX=)EIM?tL+ymXY zHipSePgFqR+9HKz1lI#^yqr?T^?1n&;k?bcl1&hE5p`U4qTHK+&LlQKLQMrr^6culD`C_Y-=IXOgg zHhE=9*Kkx3jAp7f7#PzR+Za>SBJOM_7s9(dpjQrRgs7>m50%H(je zXZEgA*e3(vY^m+<4Ideui`zHkU z@8>rHzY+M2z;6WpR|tH^4qX+7Y7PLX@Q}kY|Eq0(@AF?pz>6t<0oni*{4cv9gaBLQmp;1{2%YEMnnJr literal 0 HcmV?d00001 diff --git a/face-mouth-closed.png b/face-mouth-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..175940ab79329383be651052cd5bbbeaacf15ea0 GIT binary patch literal 5399 zcmeH|doJvt{<;6`IeX4L=lss|`#sP1dEV#!yze=`j8jf_ zGTU}<0|3Zi?J+I@NI|bsV9RF6k=6840f1c&L8DJ$(P&guOk{9KSP%dQ@=5uY_Aiei zU-{x{HI?8;(uu!xTM*=w;(Bxyi*3r3JmQS%mJk$^y*dWDmqMGH^Ip+XvuYT!j7z8$ z*y#AwgDFjIfuYWmbl%8wjk#IN*&&z>^Nk5TRJxlua8i3TU|)moW*>Qsie-9$NANA< z{a7p!>AU=So@dZnV^O#oyF@q7f_;~taBJ5i$42X;wIQn1sV3CB(;~BUxb$HN&pAl`S zqXMt@MNVpMlln2`ct>USVyS~pP=iImXV)b2C)d3NZ_kihcYr#bk~ zGcj%6S?!I`v1|@FVTXY{WPEf38FE{r>2qHko1o;z#&YEm&66~2sHv`XWue)YV$?6#e4{Q+_1=RLT&lVLfv538SA zaRvg(N5&$PUl|V<3`9gXUSU>qC!!l-vwMkmNMWwdt^I@30(Vc1XCN6G=AMpWE=QPS z%)lGsyE;tY+!oC5Vp=T|nB>b{T=KxI(c;+b>VYqloTM> zPccqc;pyzEk`JbWq%|LsFUhsi_4SYgl=E_pJUvW|%4~QfNC>Q{_h#Zd8Xt;k?1R}? z*;+Ddi>`JcG#fs!G>k~fnCz$wCw>B%ftyx~4OG9}EbQv^VkdtCvrGAhT@ zmwI3~8>0l<&O5t=$q)m;IdkRArW zNd<6Dun7PZ^eG4a<`!2&g))#DboR8WY{Z}xkbpLHmuLJ{HIhvc&MB}qvip8wz$|9x7Y2)Sf*8F zQ-!)7d}BTbRd(2AKqV~-3B0VBjqaUVpbxo+b<(`^317IkR3OQ!KBxnA$Yj^?Gh?U} zJN7d*uSH=UM?dz~xKSUAKB6)BT8m}llEh%?%jNIq5JWn1DZr601Ryn

a3OTVjploM*>QFS=!bg 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 literal 0 HcmV?d00001 diff --git a/face.png b/face.png deleted file mode 100644 index 54771e3a4cc784ea03bf2323b98fec37582e742e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30848 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 diff --git a/face.xcf b/face.xcf new file mode 100644 index 0000000000000000000000000000000000000000..d55f84924b1ac3819cf22b900b0b871eab0ecb1e GIT binary patch literal 111164 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 literal 0 HcmV?d00001 diff --git a/head-face.png b/head-face.png deleted file mode 100644 index adb62eeb56ccd13dfff49507854724316c4643c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9739 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 diff --git a/src/graphics.cpp b/src/graphics.cpp index 6c59c4f..bc090f4 100644 --- a/src/graphics.cpp +++ b/src/graphics.cpp @@ -16,7 +16,7 @@ GLuint shader; //standard shader program used for all elements GLuint transUniform; //location of the "transMatrix" transformation matrix uniform in the shader //parts of the model (see modelpart.hpp) -ModelPart parts[2]; +ModelPart parts[3]; void display () { glClear(GL_COLOR_BUFFER_BIT); @@ -78,7 +78,9 @@ void initGraphics () { initShader(); parts[0] = ModelPart("head-base.png", transUniform); - parts[1] = ModelPart("head-face.png", transUniform); + parts[1] = ModelPart("face-eyes.png", transUniform); + parts[2] = ModelPart("face-mouth-closed.png", transUniform); + parts[2].addTexture("face-mouth-open.png", 1); //enable blending for alpha textures glEnable(GL_BLEND); @@ -173,10 +175,14 @@ void initModel () { } -void updateModel(glm::vec2 headPos, glm::vec2 facePos) { +void updateModel(glm::vec2 headPos, glm::vec2 facePos, bool mouthOpen) { //calculate transforms parts[0].setPosition(headPos); parts[1].setPosition(facePos); + parts[2].setPosition(facePos); + + //set mouth texture to open or closed + parts[2].selectTexture(mouthOpen ? 1 : 0); //tell FreeGLUT to schedule a screen update glutPostRedisplay(); diff --git a/src/graphics.hpp b/src/graphics.hpp index 8e7faa3..6c1bb0e 100644 --- a/src/graphics.hpp +++ b/src/graphics.hpp @@ -16,6 +16,6 @@ void initShader(); void printShaderCompileLog(GLuint shader); -void updateModel(glm::vec2 headPos, glm::vec2 facePos); +void updateModel(glm::vec2 headPos, glm::vec2 facePos, bool mouthOpen); #endif diff --git a/src/main.cpp b/src/main.cpp index f032a22..99b58bf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,10 +3,12 @@ #include +#include + int main () { initGraphics(); - cv::CascadeClassifier faceDetector ("haarcascade_frontalface_alt2.xml"); + cv::CascadeClassifier faceDetector ("lbpcascade_frontalface_improved.xml"); cv::Ptr facemark = cv::face::FacemarkLBF::create(); facemark->loadModel ("lbfmodel.yaml"); @@ -51,6 +53,8 @@ int main () { (landmarks[biggestFace][2].y + landmarks[biggestFace][14].y) / 2 ), 6, cv::Scalar(0, 0, 255)); cv::circle (frame, landmarks[biggestFace][30], 6, cv::Scalar (0, 255, 255)); + cv::circle (frame, landmarks[biggestFace][66], 3, cv::Scalar (0, 255, 0)); + cv::circle (frame, landmarks[biggestFace][62], 3, cv::Scalar (0, 255, 0)); //send control information to graphics updateModel(glm::vec2( @@ -62,7 +66,8 @@ int main () { glm::vec2( landmarks[biggestFace][30].x * 2 / (float)frame.cols - 1, landmarks[biggestFace][30].y * 2 / (float)frame.rows - 1 - )); + ), + landmarks[biggestFace][66].y - landmarks[biggestFace][62].y > 5); } graphicsFrame (); diff --git a/src/modelpart.cpp b/src/modelpart.cpp index 7ce88e9..380016b 100644 --- a/src/modelpart.cpp +++ b/src/modelpart.cpp @@ -14,18 +14,29 @@ ModelPart::ModelPart(const char* texPath, GLuint transUniformNum) { //create vbo, ebo, vao initBuffers(&vao); //create texture - initTexture(&tex, texPath); + initTexture(&tex[0], texPath); transUniform = transUniformNum; + + empty = false; } void ModelPart::bindAndDraw() { + if (empty) { return; } glBindVertexArray(vao); - glBindTexture(GL_TEXTURE_2D, tex); + glBindTexture(GL_TEXTURE_2D, tex[texSelection]); glUniformMatrix4fv(transUniform, 1, GL_FALSE, glm::value_ptr(transMatrix)); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); } void ModelPart::setPosition(glm::vec2 position) { - transMatrix = glm::translate(glm::mat4(1.0f), glm::vec3(position.x, position.y, 0.0f)); + transMatrix = glm::translate(glm::mat4(1.0f), glm::vec3(position.x, -position.y, 0.0f)); +} + +void ModelPart::addTexture(const char* texPath, size_t slot) { + initTexture(&tex[slot], texPath); +} + +void ModelPart::selectTexture(size_t slot) { + texSelection = slot; } diff --git a/src/modelpart.hpp b/src/modelpart.hpp index 68798a9..89222a4 100644 --- a/src/modelpart.hpp +++ b/src/modelpart.hpp @@ -4,8 +4,14 @@ #include class ModelPart { - GLuint vao, tex, transUniform; + GLuint vao, transUniform; + + GLuint tex[16]; //support 16 textures to switch between + size_t texSelection = 0; + glm::mat4 transMatrix = glm::mat4(1.0f); + + bool empty = true; public: ModelPart(); @@ -15,6 +21,10 @@ class ModelPart { void bindAndDraw(); void setPosition(glm::vec2 position); + + void addTexture(const char* texPath, size_t slot); + + void selectTexture(size_t slot); }; #endif