On Wed, Sep 17, 2008 at 11:49 PM, Drew Smathers <[EMAIL PROTECTED]> wrote:
>
> On Wed, Sep 17, 2008 at 8:51 AM, Ragzouken <[EMAIL PROTECTED]> wrote:
>>
>> I just found out about these from this mailing list and read briefly
>> about them from a PDF called 'Pyglet Programming Guide'. It seemed to
>> me that I should be able to just drop /static etc at the end of my
>> format strings like: 'v2i' -> 'v2i/static'. I tried that but it leads
>> to me getting an error about slice assignment:
>>
>> File "/usr/lib/python2.5/site-packages/pyglet/graphics/__init__.py",
>> line 348, in add
>>    vlist._set_attribute_data(i, array)
>>  File "/usr/lib/python2.5/site-packages/pyglet/graphics/
>> vertexdomain.py", line 407, in _set_attribute_data
>>    region.array[:] = data
>> ValueError: Can only assign sequence of same size
>>
>> Do I need to take special action when using static? My formats are
>> like so:
>> ('v2i/static', vertices),
>> ('t3f', texcoords),
>> ('c4B/static', colours)
>
> I was able to reproduce this as well.  It was in a more convoluted
> application, so I boiled it down to a test case:
>
> from pyglet.gl import *
> import pyglet
>
> window = pyglet.window.Window(100,100)
> quad = pyglet.graphics.Batch()
> quad.add(4, GL_QUADS, None,
>        ('v3f/static', (0,0,0, 100,0,0,
>                        100,100,0, 0,100,0)),
>        ('t2f/stream', (0,0, 1,0, 1,1, 0,1)),
>        ('c3f/static', (0,0,0, 1,0,0,
>                        0,1,0, 0,0,1)))
>
> @window.event
> def on_draw():
>    window.clear()
>    quad.draw()
> pyglet.app.run()
>
>
> Specifically, these combinations cause the same slice error:
>
> 1)
> v3f/static
> t2f/stream
> c3f/static
>
> 2)
> v3f/static
> t2f/stream
> c3f/stream
>
> 3)
> v3f/static
> t2f/stream
> c3f/static
>
> 4)
> v3f/static
> t2f/static
> c3f/stream
>
> 5)
> v3f/stream
> t2f/static
> c3f/stream
>
> Other combinations cause no issues. The trend almost seems that if
> there is a storage  type difference between texture coords and any
> other data, the error occurs.  But the following combination does
> *not* cause the problem:
>
> v3f/stream
> t2f/static
> c3f/static

Thanks, Drew and Ragzouken for the test cases.  The problem is fixed
in r2272 (pyglet-1.1-maintenance) and r2273 (trunk).

Alex.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pyglet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to