Hi Simon,
You almost got it. You have to create ctypes arrays like this: "a =
(GLfloat * 2)()". I know it looks a little funny, but oh well.
Also, if you want to print it, you have to type "print(a[:])". Here is a
working example:
for i in range(10):
glPointSize(i+0.5)
a = (GLfloat * 2)()
glGetFloatv(GL_POINT_SIZE_RANGE, a)
print(a[:])
glBegin(GL_POINTS)
glColor3f(1.0,1.0,0.0)
glVertex3f(i-5.0,1.0,0.0)
glEnd()
On Monday, December 5, 2016 at 2:20:26 PM UTC+9, Simon wrote:
>
> Hi, Ben,
>
> Many thanks for your detailed explaination, I think I get the ideas. Well,
> I think I have already meet ctype problems, I want to use glGet() to get
> values, and the code I wrote.
>
> for i in range(10):
> glPointSize(i+0.5)
> a = GLfloat() * 2
> glGetFloatv(GL_POINT_SIZE_RANGE,a)
> print(a)
> glBegin(GL_POINTS)
> glColor3f(1.0,1.0,0.0)
> glVertex3f(i-5.0,1.0,0.0)
> glEnd()
>
> It does not work, I think I meet the problem of ctypes, I read your code
> you showed to me, it is precise. I will check the Ctypes first, thank you
> very much!
>
> BTW, it seemed that my post is auto to be a maillist. ^ v ^ Maybe I can
> reply it by E-mail instead of VPN.
>
>
> 在 2016年12月4日星期日 UTC+8下午10:17:14,Benjamin Moran写道:
>>
>> Pyglet's OpenGL bindings should support very recent versions. (If not,
>> please file a bug so that they can be updated).
>>
>> Internally, Pyglet only uses "classic" OpenGL. This older OpenGL is much
>> simpler, and is enough for most simple games and applications. This is what
>> the pyglet text, sprite, and graphics modules are based on.
>> Modern OpenGL can be used by simply requesting a newer OpenGL context
>> when creating the window. However, you have to give up on the sprite and
>> graphics modules because they will try to call some older OpenGL functions
>> that may not be available with a newer context.
>>
>> Working with shaders does require knowing some ctypes, but there is a
>> nice library here that hides that: https://github.com/gabdube/pyshaders
>> I also wrote a very basic shader program wrapper here:
>> https://bitbucket.org/treehousegames/pyglet/src/28d33a50ba8c1f140613ca90de7791260a3d9daa/pyglet/graphics/shader.py?at=shader_class&fileviewer=file-view-default
>> I would probably not recommend the one i wrote, but it might give you an
>> idea of the ctypes involved. Ctypes is actually very easy to use, but if
>> you don't understand the basic C concepts it will be challenging.
>>
>>
>>
>>
>> On Sunday, December 4, 2016 at 9:33:27 PM UTC+9, [email protected] wrote:
>>>
>>> I can use from pyglet.gl import * to use OpenGL, in docs, it is said
>>> that *pyglet provides an interface to OpenGL and GLU. To use it you
>>> will need a good knowledge of OpenGL, C and ctypes. *To be honest, I
>>> know nothing about OpenGL, but I knew OpenGL has its own versions, and
>>> which version is used in pyglet? It seemed that there are modern OpenGL
>>> (OpenGL 3 and 4) , and “old” OpenGL (OpenGL 1 and 2). Is there much
>>> difference between them? Could I use pyglet to learn OpenGL, or only C++ is
>>> fine?
>>>
>>
--
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.