The code I am currently trying to run is this, with the shader functions 
being examples I found on the internet:

> gauss = pyshaders.from_string('''attribute vec4 a_position;
> attribute vec2 a_texCoord;
>  
> varying vec2 v_texCoord;
> varying vec2 v_blurTexCoords[14];
>  
> void main()
> {
>     gl_Position = a_position;
>     v_texCoord = a_texCoord;
>     v_blurTexCoords[ 0] = v_texCoord + vec2(-0.028, 0.0);
>     v_blurTexCoords[ 1] = v_texCoord + vec2(-0.024, 0.0);
>     v_blurTexCoords[ 2] = v_texCoord + vec2(-0.020, 0.0);
>     v_blurTexCoords[ 3] = v_texCoord + vec2(-0.016, 0.0);
>     v_blurTexCoords[ 4] = v_texCoord + vec2(-0.012, 0.0);
>     v_blurTexCoords[ 5] = v_texCoord + vec2(-0.008, 0.0);
>     v_blurTexCoords[ 6] = v_texCoord + vec2(-0.004, 0.0);
>     v_blurTexCoords[ 7] = v_texCoord + vec2( 0.004, 0.0);
>     v_blurTexCoords[ 8] = v_texCoord + vec2( 0.008, 0.0);
>     v_blurTexCoords[ 9] = v_texCoord + vec2( 0.012, 0.0);
>     v_blurTexCoords[10] = v_texCoord + vec2( 0.016, 0.0);
>     v_blurTexCoords[11] = v_texCoord + vec2( 0.020, 0.0);
>     v_blurTexCoords[12] = v_texCoord + vec2( 0.024, 0.0);
>     v_blurTexCoords[13] = v_texCoord + vec2( 0.028, 0.0);
> }''','''precision mediump float;
>  
> uniform sampler2D s_texture;
>  
> varying vec2 v_texCoord;
> varying vec2 v_blurTexCoords[14];
>  
> void main()
> {
>     gl_FragColor = vec4(0.0);
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 0])*0.0044299121055113265;
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 1])*0.00895781211794;
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 2])*0.0215963866053;
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 3])*0.0443683338718;
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 4])*0.0776744219933;
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 5])*0.115876621105;
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 6])*0.147308056121;
>     gl_FragColor += texture2D(s_texture, v_texCoord         
> )*0.159576912161;
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 7])*0.147308056121;
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 8])*0.115876621105;
>     gl_FragColor += texture2D(s_texture, v_blurTexCoords[ 
> 9])*0.0776744219933;
>     gl_FragColor += texture2D(s_texture, 
> v_blurTexCoords[10])*0.0443683338718;
>     gl_FragColor += texture2D(s_texture, 
> v_blurTexCoords[11])*0.0215963866053;
>     gl_FragColor += texture2D(s_texture, 
> v_blurTexCoords[12])*0.00895781211794;
>     gl_FragColor += texture2D(s_texture, 
> v_blurTexCoords[13])*0.0044299121055113265;
> }''')
>

which gives the error

>   File 
> "C:\Users\Erik\Documents\Programming\workspace\drawingLessons\src\draw.py", 
> line 150, in <module>
>     }''')
>   File "C:\Users\Erik\Anaconda3\lib\site-packages\pyshaders.py", line 791, 
> in from_string
>     raise ShaderCompilationError(prog.logs)
> pyshaders.ShaderCompilationError: Shaders Errors: 
>
> ERROR: Definition for "void main()" not found.

Not sure what exactly is wrong here. 

On Friday, 22 July 2016 11:00:33 UTC-6, Erik Olson wrote:
>
> Actually, it probably would have helped if I were using the correct 
> version of python.  Oops.  I was still on 2.7 due to working with some 
> outdated libraries which I had long since abandoned, and just hadn't 
> thought to switch back.  It imports just fine now.
>
> On Friday, 22 July 2016 10:13:43 UTC-6, Erik Olson wrote:
>>
>> As best I can tell, the error occurs purely from trying to import 
>> pyshaders.  I tried running solely "import pyshaders" with no other code, 
>> and it still gave the same error.  It appears to be taking issue with:
>>
>>   File "C:\Users\Erik\Anaconda2\lib\site-packages\pyshaders.py", line 167
>>>     c_type, bcount, setter, *mat_size = UNIFORMS_DATA[type]
>>>
>> and in particular once it reaches the asterisk (which makes it a rather 
>> annoying error to try to search for on google).  I might indeed report this 
>> as a bug, if looking into those extensions doesn't yield anything. 
>>
>> On Thursday, 21 July 2016 19:43:28 UTC-6, Benjamin Moran wrote:
>>>
>>> I'm not very familiar with the library yet, but from what I can see it 
>>> requires activating some extensions for higher level GLSL support. If you 
>>> can share a copy of the code you're trying to run, I can give it a try 
>>> here. You might also consider just openening up a ticket on the project 
>>> page if it turns out to be a bug. 
>>>
>>>
>>>
>>> On Thursday, July 21, 2016 at 5:14:31 AM UTC+9, Erik Olson wrote:
>>>>
>>>> Thanks for the suggestion!  I'm currently looking it over.  I tried 
>>>> inserting the strings for an example vertex and fragment shader I found, 
>>>> but I haven't been able to get pyshaders to work.  It keeps giving the 
>>>> following error:
>>>>
>>>> Traceback (most recent call last):
>>>>>   File 
>>>>> "C:\Users\Erik\Documents\Programming\workspace\drawingLessons\src\draw.py",
>>>>>  
>>>>> line 12, in <module>
>>>>>     import pyshaders
>>>>>   File "C:\Users\Erik\Anaconda2\lib\site-packages\pyshaders.py", line 
>>>>> 167
>>>>>     c_type, bcount, setter, *mat_size = UNIFORMS_DATA[type]
>>>>>                                       ^
>>>>> SyntaxError: invalid syntax
>>>>>
>>>> Not really sure what's going on there.  As far as I can tell the error 
>>>> seems to be an issue with pyshaders itself. 
>>>>
>>>>  
>>>>
>>>> On Wednesday, 20 July 2016 02:57:32 UTC-6, Benjamin Moran wrote:
>>>>>
>>>>> Hi Erik, 
>>>>>
>>>>> I think the issue with shaders on pyglet at the moment is that you 
>>>>> need some ctypes knowlege in order to make use of the OpenGL bindings. 
>>>>> There aren't currently any built-in abstractions that make things easier. 
>>>>>
>>>>> However, Gabriel Dube has recently released a new shader library for 
>>>>> pyglet: https://github.com/gabdube/pyshaders
>>>>> That may do what you want. Have a look, and post back. 
>>>>>
>>>>> -Ben
>>>>>
>>>>>
>>>>> On Tuesday, July 19, 2016 at 2:02:41 AM UTC+9, Erik Olson wrote:
>>>>>>
>>>>>> Hello!  
>>>>>>
>>>>>> I am currently using pyglet for neuroscience research and have 
>>>>>> encountered an issue.  The program I currently have draws simple black 
>>>>>> primitives (triangle fans, etc.) to a blank white screen.  What I would 
>>>>>> like to do now is to be able to draw some of the primitives which 
>>>>>> represent 
>>>>>> a background, apply a gaussian blur using a shader, then draw the 
>>>>>> remaining 
>>>>>> objects on top, unblurred.  I have found extensive examples of shader 
>>>>>> classes to use in pyglet, along with resources stating how to write 
>>>>>> shaders 
>>>>>> in GLSL.  However, I have found practically nothing explaining how to 
>>>>>> use 
>>>>>> existing shaders to actually do things.  Currently I am working with 
>>>>>> Tristam McDonald's shader class, but I have no idea how I would actually 
>>>>>> get such shaders to apply to what appears on the screen.  
>>>>>>
>>>>>> What should the code actually look like?  Are there any good 
>>>>>> resources or examples (which I seem to be completely unable to find)?  
>>>>>> It 
>>>>>> seems like anywhere discussing how to use shaders glosses over this 
>>>>>> part, 
>>>>>> which makes me wonder if it's really obvious and I'm just an idiot.
>>>>>>
>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to