From f469dff6561188fcf18a81776247d443889899c8 Mon Sep 17 00:00:00 2001 From: Anakin Date: Sat, 14 Jan 2017 17:20:50 +0100 Subject: [PATCH] added transparency support, need to sort the transparent things to the back --- QtMeshViewer/Resources/fshader.glsl | 4 +++- QtMeshViewer/Source/OglViewerWidget.cpp | 6 +++++- Release/Msh/2.tga | Bin 49196 -> 65580 bytes 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/QtMeshViewer/Resources/fshader.glsl b/QtMeshViewer/Resources/fshader.glsl index 12edc28..7e1dc1f 100644 --- a/QtMeshViewer/Resources/fshader.glsl +++ b/QtMeshViewer/Resources/fshader.glsl @@ -11,5 +11,7 @@ varying vec2 v_texcoord; void main() { // Set fragment color from texture - gl_FragColor = texture2D(texture, v_texcoord); + vec4 finalColor = vec4(texture2D(texture, v_texcoord)); + + gl_FragColor = finalColor; } diff --git a/QtMeshViewer/Source/OglViewerWidget.cpp b/QtMeshViewer/Source/OglViewerWidget.cpp index deadc89..67678a6 100644 --- a/QtMeshViewer/Source/OglViewerWidget.cpp +++ b/QtMeshViewer/Source/OglViewerWidget.cpp @@ -187,7 +187,11 @@ void OglViewerWidget::initializeGL() glEnable(GL_DEPTH_TEST); // Enable back face culling - glEnable(GL_CULL_FACE); + //glEnable(GL_CULL_FACE); + + // Enable transparency + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); m_dataEngine = new GeometryEngine(this); setConnections(); diff --git a/Release/Msh/2.tga b/Release/Msh/2.tga index 6943c437ac2669e9a7f1e7f5bd1396f7b18c1ed1..c2cdc5dff42a1c6ad7744e172e84178a42dc3019 100644 GIT binary patch literal 65580 zcmeI5O={dg5Jp8-IY15&yvrilc%9`03?TvM$2md3SMVw~S7=D#5+ka55e_y=d ze{5dxhkvC5^#5b~bS?hxPN$LAayd|Y1pJp{a81AA-zQhqDfq)*ae)5crzZ;gwg&$2 zuXI55PJNEC?lM1B4wdZNUg~w>dKp(WZz>1)FUvvYRlN@WeR5Sj>4pEthli2Za}MDD zoQorR0e|=_4$%Mm^h9Cb*1#YBiUV8!{CC7>d~{~&zt6gknEM#~;jcKL^!~Pn{=YAu z6!vWm{P)Gx_xNZI|9P(WkB{S?UlDU3gFpNg2aeYN_gwq!-hGWnbA^3d1OI(J414=h-(FYqD?Gg8%%#ub_Gy)q;3Xs+hX@|=zE=lNghK<1mpRga@u@G-T{sDGaSYdWBM>0OTIYTa0!Wn*RS z^ZY-5mcW17Z_G#4~I$&O9qw2AD zKbos`R$1H1Ug~{CXY(;NZ(05=Udg`gW&38MdJcc~Xs+g2VOF_Dy|3tOKBnd^%fH3p zPyerUz`V*v)no5|G*|1avbL4I)ccCg=3{E!viw`Tl0E(ZyqCbA&wq*ozQ&_D_5ZT( z|0pc3u_j{fWAKN+;($Hhv+-!p|7+B?a!p_3(OhBQ)@0l*4*%)T;S^R&tcjTW82st~ ziUU^P*+~6U|CJ78zFAyxxUKQMFPbmWlh@ocI-8HFd9yrcVth;ZOgsbRhH1;;P5q{b;^KO|H3TbT%JT^JaO@#!B|r?EgMTJ{NZ2efO(aTJ=EBi&yeNc;+5>%Ubb&GZaH^7+*_7^i^HG(U+I8(m5n{r z*p|I!@tr2^NMl)@7}kTmrC|+udSVr`-we- zf1ID*{eeIHD;?;)UV1xUCHuBlZ~5u{Jn*OgS31ypz4UgzO7`^s{q+*~?~hq!531(R zem5gIAO|>r12}*KIDi8oVEFg-{r<=4=iRrvuV3E(`gHgC H^kMi5Lbtx3 literal 49196 zcmeI2y^5Si6hsFNCFa(Cc5EueO;OYdv{Qf?l z&m{0U|HAN@SI=*MAu#;+K7-*u{Pz;rd;7fq;lG!_-rMK>5C6Rc_TE14|Go16=IK74 z7XtqMKJNVw{8s|QfA32e{=H4 z?G<;<44l0Y3G7uoE!(BylzQ6Sbmz>#*&FSp&D%XK+oj@^NVQkoIWutfMkKIT@w9B0 zic{)obJLwO17~mKwEzD1zWn1idRn$i#VL_$ueft&;Ovc@#&Y;ChJK@`WxG_IQcs(k z?wlDodn2bY{9nI|;s5%I__|VYN_^G5;?9|Y^Su98dOdA!4*z-otNt$Vzj6FeEB|z- z;;)pix>wveGjR4sPGc4G^zj=#E!(BylzQ6Sbmz>#*&8{H#*&8{H#*&8{H#*&8{H# z*&8{H#*&8{H#*&8{H#*&8{H#*&8{H#*&8{H#*&8{H<4-*;+oj@^NVQkoIWutfM#mHO8$B)CrQ(!&+T3*K%)r?jIgR5_JuTa% z;*?0WSKK)>aP~&W6ZRWDE!(BylzQ6Sbmz>#*&8{H<4-*;+oj@^NVQkoIWutfM#mHO z8$B)CrQ(!&+T3*K%)r?jIgR5_JuTa%;*?0WSKK)>aP~&W6ZRWDE!(BylzQ6Sbmz># z*&8{H<4-*;+oj@^NVQkoIWutfM#mHO8$B)CrQ(!&+T3*K%)r?jo$HkCQgKS8+AHpy z891Mdu%~6aRGd;zo15;O88~~RbDgqXDo%-1d&QkI1Lt!Q_Oxu5ic{)obJLwO17~k^ zu2Z&4#VL_$ueft&;CwE^o|f%WaY{XHZn|@3;Ovdgb;@?BI3-f;6?e`IoXCTzq%Cl1<)n0MuD>KjT zPN}EOO?S==SDu{`srHIHUzvG!cS=2NZn|@3xbp0jNVQko`O3_*yHo0EbJLwO!J zM5?{w&R1rh-JMcTo15;O8Lm7#B~tAbcfK<7?Cz9$+T3*KIc*4#YOgf@v*QGM+T3*K zIc*4#YOgf@v*QGM+T3*KIc*4#YOgf@v*QGM+T3*KIc*4#YOgf@v*QGM+T3*KIc*4# zYOgf@v*QGM+Os(XhQJUQ0z+U341pmq1cty67y?7!of5cx`t{p~-=F??{`L8npTGU< L$LF7(zPtSgP4D|(