On Thursday, 8 June 2017 03:55:48 UTC+2, Benjamin Moran wrote:
>
> Hi Johan, I'm glad you were able to get the bindings to complete. If you 
> don't mind, can you share your changes to the build scripts? Either by 
> pasting here, or a pull request on Bitbucket.
>

Sure, but the only things I ended up changing was the URLs I listed 
previously. I did not look into python3 stuff or updating PLY.

Also, I completely forgot to ask if you're creating a higher level OpenGL 
> context. If not, this can be done by:
> >>> import pyglet
> >>> config = pyglet.gl.Config(major_version=4, minor_version=3)
> >>> window = pyglet.window.Window(config=config, visible=False)
> >>> print('OpenGL version:', window.context.get_info().get_version())
> OpenGL version: 4.3 (Core Profile) Mesa 17.1.1 
>
> Oh, I did not know about this! Unfortunately it does not quite work; I am 
able to request a higher version than 3.0, and print it out nicely like in 
your example,:

OpenGL Version 4.5 (Core Profile) Mesa 17.2.0-devel - padoka PPA

but when I try anything higher than 3.0 I get an error when I start the 
loop:

  File "game.py", line 320, in <module>
    main()
  File "game.py", line 316, in main
    pyglet.app.run()
  File 
"/home/jofo/anaconda3/envs/pyglet/lib/python3.6/site-packages/pyglet-1.3.0a1-py3.6.egg/pyglet/app/__init__.py"
, line 148, in run
  File 
"/home/jofo/anaconda3/envs/pyglet/lib/python3.6/site-packages/pyglet-1.3.0a1-py3.6.egg/pyglet/app/base.py"
, line 131, in run
  File 
"/home/jofo/anaconda3/envs/pyglet/lib/python3.6/site-packages/pyglet-1.3.0a1-py3.6.egg/pyglet/app/base.py"
, line 220, in _legacy_setup
  File 
"/home/jofo/anaconda3/envs/pyglet/lib/python3.6/site-packages/pyglet-1.3.0a1-py3.6.egg/pyglet/window/xlib/__init__.py"
, line 902, in dispatch_pending_events
  File 
"/home/jofo/anaconda3/envs/pyglet/lib/python3.6/site-packages/pyglet-1.3.0a1-py3.6.egg/pyglet/event.py"
, line 367, in dispatch_event
  File 
"/home/jofo/anaconda3/envs/pyglet/lib/python3.6/site-packages/pyglet-1.3.0a1-py3.6.egg/pyglet/window/__init__.py"
, line 748, in on_resize
  File 
"/home/jofo/anaconda3/envs/pyglet/lib/python3.6/site-packages/pyglet-1.3.0a1-py3.6.egg/pyglet/gl/lib.py"
, line 105, in errcheck
pyglet.gl.lib.GLException: b'invalid operation'

I've tried upgrading my mesa stuff and graphics drivers.

Any clues? I suppose the issue might just be that my cheap intel graphics 
card is not up to it...
 

>  
>
I'm not familiar with this extensions myself, but a good start might be 
> finding a bit of example C/C++ code that illustrates the usage.
>

Yep, I have found some simple examples that seem easy to adapt, it's just 
that I don't really get that far :)
 

> You can also have a look at your new gl bindings, and try to find the 
> corresponding code for this extension, just to be sure it's being wrapped 
> correctly. 
>

I'll start digging around there next!
 

>
>
> On Wednesday, June 7, 2017 at 11:57:52 PM UTC+9, Johan Forsberg wrote:
>>
>> Thanks, somehow I failed to look through the documentation :(
>>
>> Anyway, I managed to run the scripts under py2.7 as described (after 
>> updating the URLs) but it did not help with my problem. I then started 
>> wondering about how the GL extensions work; the 
>> GL_ARB_texture_buffer_object extension I believe I need is listed under 
>> "OpenGL core profile extensions" but not under "OpenGL extensions" in the 
>> glxinfo output, I guess there is a difference there..?
>>
>> /Johan
>>
>> On Thursday, 1 June 2017 04:12:43 UTC+2, Benjamin Moran wrote:
>>>
>>> Hi Johan, 
>>>
>>> Ah, that's a good catch.  There is a section in the documentation that 
>>> goes over generating the bindings:
>>>
>>> http://pyglet.readthedocs.io/en/latest/internal/generated.html#generating-gl-wrappers
>>> I think I just spotted some typos:    glext_abi and glxext_abi should 
>>> be _arb, not _abi
>>>
>>> One thing to be careful of is that the resulting binding files have 
>>> start and end markers in them, so the entire files are not re-written. If 
>>> the wrapping crashes you might end up with broken binding files, so It's 
>>> good to start with a fresh copy of the gl directory each time.
>>>
>>> I had a short look at the newest Ply, and it seems like the API has 
>>> changed a little bit. The Parser class has been renamed to LRParser, for 
>>> example. I think it will just require sitting down and reworking a bit of 
>>> the wrapping code. The entire thing is long in need of a cleanup, really. 
>>> If you're hacking on this, let us know how it goes! 
>>>
>>>
>>> On Thursday, June 1, 2017 at 6:41:00 AM UTC+9, Johan Forsberg wrote:
>>>>
>>>> Hi Ben!
>>>>
>>>> Thanks for your reply, this makes sense as buffer textures seems to be 
>>>> a relatively recent thing.
>>>>
>>>> I had a quick look at the stuff in tools, and tried running "python 
>>>> gengl.py glext_arb". It seems that the
>>>> parsing errors are due to some urls in the script being outdated so it 
>>>> tries to parse the HTML error
>>>> page :P 
>>>>
>>>> I changed to these URLs:
>>>> GLEXT_ABI_H = 'https://www.khronos.org/registry/OpenGL/api/GL/glext.h'
>>>> GLXEXT_ABI_H = 'https://www.khronos.org/registry/OpenGL/api/GL/glxext.h
>>>> '
>>>> WGLEXT_ABI_H = 'https://www.khronos.org/registry/OpenGL/api/GL/wglext.h
>>>> '
>>>>
>>>> After that the script passes fine. But there are other problems, most 
>>>> obviously the scripts are not python3 
>>>> compatible and neither is their output. The first is probably not too 
>>>> hard to fix with 2to3 or something. And
>>>> ply seems to be python 3 compatible now.
>>>>
>>>> I'm pretty much a noob when it comes to low level GL stuff though. Is 
>>>> there some documentation on what 
>>>> scripts needs to be run in order to completely update the bindings? 
>>>>
>>>> /Johan
>>>>
>>>> On Wednesday, 31 May 2017 06:15:40 UTC+2, Benjamin Moran wrote:
>>>>>
>>>>> Hi Johan, 
>>>>>
>>>>> This might be because the GL bindings are a little behind. These 
>>>>> extensions may not be fully wrapped.
>>>>> The bindings for pyglet should be regenerated from the header files 
>>>>> every so often, but unfortunately 
>>>>> the pyglet wrapping tools themselves are in need of an update. (These 
>>>>> are located in /pyglet/tools/).
>>>>> When I tried running them recently, they complained about some of the 
>>>>> syntax in the latest GL header files. 
>>>>>
>>>>> I was planning on reviewing/updating these tools at some point in the 
>>>>> future. It hasn't been a priority since the
>>>>> core pyglet modules are not using for any recent extensions, but it 
>>>>> definitely needs to be done. 
>>>>>
>>>>> Pyglet's wrapping tools are based on lex/yacc from the Ply project. If 
>>>>> anyone is interested in helping out with
>>>>> modernizing them, please get in touch or comment here. 
>>>>>
>>>>> -Ben
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wednesday, May 31, 2017 at 5:06:32 AM UTC+9, Johan Forsberg wrote:
>>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> I'm trying to use buffer textures to transfer 1d data to shaders, but 
>>>>>> I'm running into problems. I think my issue is with the 
>>>>>> "GL_ARB_texture_buffer_object" extension which appears to be necessary (
>>>>>> https://www.khronos.org/opengl/wiki/Buffer_Texture). 
>>>>>>
>>>>>> "glxinfo" reports that it's supported, and I see that it's defined in 
>>>>>> "pyglet/gl/glext_arb.py", but still 
>>>>>> 'gl.gl_info.have_extension("GL_ARB_texture_buffer_object")' reports 
>>>>>> False. 
>>>>>> Am I looking in the right places?
>>>>>>
>>>>>> This is on Ubuntu, using intel graphics, with python 3.6 and pyglet 
>>>>>> installed from bitbucket (updated today). I have the same issue with 
>>>>>> pyglet 
>>>>>> 1.2.4.
>>>>>>
>>>>>> Thanks!
>>>>>> /Johan
>>>>>>
>>>>>

-- 
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