;i> ddlTddlmZ ddlmZn#e$r ddlmZYnwxYwddlZddlZdZ iZ dZ Gdde Z Gd d e ZGd d e ZGd de ZGddeZe dS))*)shaders)NullFunctionErrorNc rtdgtdtdtdgtdtdtdgtdtdtdgtdtdtd gtd tdtd gtd td tdgdgditdtdggadS)Nballoonaq varying vec3 normal; void main() { // compute here for use in fragment shader normal = normalize(gl_NormalMatrix * gl_Normal); gl_FrontColor = gl_Color; gl_BackColor = gl_Color; gl_Position = ftransform(); } a* varying vec3 normal; void main() { vec4 color = gl_Color; color.w = min(color.w + 2.0 * color.w * pow(normal.x*normal.x + normal.y*normal.y, 5.0), 1.0); gl_FragColor = color; } viewNormalColoraY varying vec3 normal; void main() { vec4 color = gl_Color; color.x = (normal.x + 1.0) * 0.5; color.y = (normal.y + 1.0) * 0.5; color.z = (normal.z + 1.0) * 0.5; gl_FragColor = color; } normalColora_ varying vec3 normal; void main() { // compute here for use in fragment shader normal = normalize(gl_Normal); gl_FrontColor = gl_Color; gl_BackColor = gl_Color; gl_Position = ftransform(); } shadeda varying vec3 normal; void main() { float p = dot(normal, normalize(vec3(1.0, -1.0, -1.0))); p = p < 0. ? 0. : p * 0.8; vec4 color = gl_Color; color.x = color.x * (0.2 + p); color.y = color.y * (0.2 + p); color.z = color.z * (0.2 + p); gl_FragColor = color; } edgeHilighta varying vec3 normal; void main() { vec4 color = gl_Color; float s = pow(normal.x*normal.x + normal.y*normal.y, 2.0); color.x = color.x + s * (1.0-color.x); color.y = color.y + s * (1.0-color.y); color.z = color.z + s * (1.0-color.z); gl_FragColor = color; } heightColora varying vec4 pos; void main() { gl_FrontColor = gl_Color; gl_BackColor = gl_Color; pos = gl_Vertex; gl_Position = ftransform(); } a uniform float colorMap[9]; varying vec4 pos; //out vec4 gl_FragColor; // only needed for later glsl versions //in vec4 gl_Color; void main() { vec4 color = gl_Color; color.x = colorMap[0] * (pos.z + colorMap[1]); if (colorMap[2] != 1.0) color.x = pow(color.x, colorMap[2]); color.x = color.x < 0. ? 0. : (color.x > 1. ? 1. : color.x); color.y = colorMap[3] * (pos.z + colorMap[4]); if (colorMap[5] != 1.0) color.y = pow(color.y, colorMap[5]); color.y = color.y < 0. ? 0. : (color.y > 1. ? 1. : color.y); color.z = colorMap[6] * (pos.z + colorMap[7]); if (colorMap[8] != 1.0) color.z = pow(color.z, colorMap[8]); color.z = color.z < 0. ? 0. : (color.z > 1. ? 1. : color.z); color.w = 1.0; gl_FragColor = color; } colorMap) rrrg?rrrr)uniforms pointSpritez void main() { gl_FrontColor=gl_Color; gl_PointSize = gl_Normal.x; gl_Position = ftransform(); } ) ShaderProgram VertexShaderFragmentShaderShadersLC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/opengl/shaders.py initShadersr s dB i       "   . '        *   0 m        &   2 h        !   4 m        &   > m      $& H !>!>!>?I$ A$ A$ AJ m   &   WBGGGrc&tj|SN)rnames)names rgetShaderProgramrs  t $$rceZdZdZdZdS)Shaderc0||_||_d|_dSr) shaderTypecodecompiled)selfr!r"s r__init__zShader.__init__s$  rc |jT tj|j|j|_n-#t $rt dt$r}t|j dkr|j \}}}| ds|d d d}| d\}}}|dz}tjdd |}tjd d |}tjd d|}| d}d gt|z t!|D]\}}|}|d kr tjd |} | Lt'| d} | dz t+|dzfz | dz <|d|dz|fzz}d D t-t/t  fdt!|D}|d|z}t |d}~wwxYw|jS)NzmThis OpenGL implementation does not support shader programs; many OpenGL features in pyqtgraph will not work.zShader compile failurerutf_8 :zb'z'$z\\nrz(\d+\:)?\d+\((\d+)\)rz%d %s c8g|]}d|S),)join).0ns r z!Shader.shader..s"<<.sBlllQXQRTXGAJfS__.D)EELlllr)r#r compileShaderr"r!r Exception RuntimeErrorr4args startswithdecodesplit partitionresub enumeratestripmatchintgroupsstrmaxmapr.) r$excerrr"typcmsgsr5msgmr6r7r8s @@rshaderz Shader.shaderso = "  ' 5di Q Q $ Q Q Q!PQQQ   sx==A%%%(XNCs>>*BCC7>>'2288>>D#&==#5#5LCD*C6%400D6%400D6'$t44D::d++D!dSYY.G"+D// ; ;3!iikk"99$H%}s$2#IHIIN)__name__ __module__ __qualname__r%rRrrrrrs2 %%%%%rrceZdZdZdS)rcHt|t|dSr)rr%GL_VERTEX_SHADERr$r"s rr%zVertexShader.__init__s.55555rNrSrTrUr%rrrrrs#66666rrceZdZdZdS)rcHt|t|dSr)rr%GL_FRAGMENT_SHADERrYs rr%zFragmentShader.__init__ s0$77777rNrZrrrrr s#88888rrcJeZdZiZd dZdZdZdZdZdZ dZ d Z d Z dS) rNc||_|tj|<||_d|_i|_i|_||D] \}}|||< dSdSr)rrrrprog blockData uniformDataitems)r$rrrkvs rr%zShaderProgram.__init__su $( D!    ~~''  !Q   rc2| |j|=dS||j|<dSr)ra)r$ blockNamedatas r setBlockDatazShaderProgram.setBlockData s) <y)))(,DN9 % % %rc2| |j|=dS||j|<dSr)rb)r$ uniformNamerhs rsetUniformDatazShaderProgram.setUniformData&s+ < ---,0D [ ) ) )rc2|||dSrrl)r$itemvals r __setitem__zShaderProgram.__setitem__,s D#&&&&&rc2||ddSrrn)r$ros r __delitem__zShaderProgram.__delitem__/s D$'''''rc|j3 d|jD}tj||_n #d|_xYw|jS)Nc6g|]}|Sr)rR)r/ss rr1z)ShaderProgram.program..5s ===1AHHJJ===r)r`rcompileProgram)r$r#s rprogramzShaderProgram.program2sP 9  == ===#2H=   ys$. 8c t|jdkr|dkrt| |jD]n\}}||}|dkrtd|zt|t|tj |tj odS#tdxYwdSdS)Nrrwz$Could not find uniform variable "%s")dtype) r4rry glUseProgramrbrcuniformr: glUniform1fvnparrayfloat32)r$rkrhlocs r __enter__zShaderProgram.__enter__<s t|  q T\\^^r%9%9  ( ( (% )-)9)?)?)A)ASS%K,,{33Cbyy'(NQ\(\]]] c$ii$bj1Q1Q1QRRRR SSB QQ ! %9%9s BCC/cXt|jdkrtddSdS)Nr)r4rr|)r$r<s r__exit__zShaderProgram.__exit__is. t|  q OOOOO ! rclt||dS)zBReturn the location integer for a uniform variable in this programr()glGetUniformLocationryencode)r$rs rr}zShaderProgram.uniformms&#DLLNNDKK4H4HIIIrr) rSrTrUrr%rirlrqrsryrrr}rrrrrs E    --- 111 '''((()))ZJJJJJrrceZdZdZdS)HeightColorShadercTd}t|d}t|||td}t t |t t ttttt ||dS)Nrrg) glGetUniformBlockIndexryglUniformBlockBinding glGenBuffers glBindBufferGL_UNIFORM_BUFFER glBufferDatasizerhGL_DYNAMIC_DRAWglBindBufferBase)r$ bindPoint blockIndexbufs rrzHeightColorShader.__enter__ys ,DLLNNKHH  dllnnj)DDD1oo&,,,&dODDD *Is;;;;;rN)rSrTrUrrrrrrxs#<<<<rs/(((((((///......../ DDDN%%%+++++V+++Z66666666688888V888_J_J_J_J_JF_J_J_JP<<<<< <<<6 s  !!