diff options
author | Karl Berry <karl@freefriends.org> | 2019-10-11 21:35:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-10-11 21:35:51 +0000 |
commit | bb3c09cc69221c47daba9c11dc3df8be2c66b465 (patch) | |
tree | 81536069fd3f879ad242ca8041920caec2ebcb95 /Build/source/utils/asymptote/bezierpatch.cc | |
parent | 253f0f12cb645ea1458b36bd24f863e67406f688 (diff) |
asy 2.58
1.00 sources
git-svn-id: svn://tug.org/texlive/trunk@52346 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/bezierpatch.cc')
-rw-r--r-- | Build/source/utils/asymptote/bezierpatch.cc | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/Build/source/utils/asymptote/bezierpatch.cc b/Build/source/utils/asymptote/bezierpatch.cc index a79749af696..8f7c607c2ae 100644 --- a/Build/source/utils/asymptote/bezierpatch.cc +++ b/Build/source/utils/asymptote/bezierpatch.cc @@ -910,29 +910,29 @@ void Triangles::queue(size_t nP, const triple* P, size_t nN, const triple* N, triple P0=P[PI0]; triple P1=P[PI1]; triple P2=P[PI2]; + const uint32_t *NI=NN[i]; + if(nC) { + const uint32_t *CI=CC[i]; + prc::RGBAColour C0=C[CI[0]]; + prc::RGBAColour C1=C[CI[1]]; + prc::RGBAColour C2=C[CI[2]]; + GLfloat c0[]={(GLfloat) C0.R,(GLfloat) C0.G,(GLfloat) C0.B, + (GLfloat) C0.A}; + GLfloat c1[]={(GLfloat) C1.R,(GLfloat) C1.G,(GLfloat) C1.B, + (GLfloat) C1.A}; + GLfloat c2[]={(GLfloat) C2.R,(GLfloat) C2.G,(GLfloat) C2.B, + (GLfloat) C2.A}; + transparent |= c0[3]+c1[3]+c2[3] < 765; + data.Vertices[PI0]=VertexData(P0,N[NI[0]],c0); + data.Vertices[PI1]=VertexData(P1,N[NI[1]],c1); + data.Vertices[PI2]=VertexData(P2,N[NI[2]],c2); + } else { + data.Vertices[PI0]=VertexData(P0,N[NI[0]]); + data.Vertices[PI1]=VertexData(P1,N[NI[1]]); + data.Vertices[PI2]=VertexData(P2,N[NI[2]]); + } triple Q[]={P0,P1,P2}; if(!offscreen(3,Q)) { - const uint32_t *NI=NN[i]; - if(nC) { - const uint32_t *CI=CC[i]; - prc::RGBAColour C0=C[CI[0]]; - prc::RGBAColour C1=C[CI[1]]; - prc::RGBAColour C2=C[CI[2]]; - GLfloat c0[]={(GLfloat) C0.R,(GLfloat) C0.G,(GLfloat) C0.B, - (GLfloat) C0.A}; - GLfloat c1[]={(GLfloat) C1.R,(GLfloat) C1.G,(GLfloat) C1.B, - (GLfloat) C1.A}; - GLfloat c2[]={(GLfloat) C2.R,(GLfloat) C2.G,(GLfloat) C2.B, - (GLfloat) C2.A}; - transparent |= c0[3]+c1[3]+c2[3] < 765; - data.Vertices[PI0]=VertexData(P0,N[NI[0]],c0); - data.Vertices[PI1]=VertexData(P1,N[NI[1]],c1); - data.Vertices[PI2]=VertexData(P2,N[NI[2]],c2); - } else { - data.Vertices[PI0]=VertexData(P0,N[NI[0]]); - data.Vertices[PI1]=VertexData(P1,N[NI[1]]); - data.Vertices[PI2]=VertexData(P2,N[NI[2]]); - } size_t i3=3*i; data.indices[i3]=PI0; data.indices[i3+1]=PI1; |