Re: As of 2016, what is state-of-the-art in 3D with Python?

Michael Bieri <[email protected]> Fri, 12 Aug 2016 12:00:33 +0200
Newsgroups gmane.comp.python.opengl.user
Message-ID <CAJQ3EXbbY3N8CANZ26cswmzBvE2uCcQbVuWexZbt+0ft37wBOA@mail.gmail.com>
--===============1552441566499873278==
Content-Type: multipart/alternative; boundary=047d7b6dc54e1007ed0539dcf410

--047d7b6dc54e1007ed0539dcf410
Content-Type: text/plain; charset=UTF-8

Thanks Nicolas for that list, there are some interesting project.

For the moment, I'd like to use rather simple, low-level stuff that gives
me good access and an unobstructed view to what's going on on the GPU, as I
might also want to do some non-graphic calculations closely related to the
geometry on it. So high-level visualisation APIs like Mayavi are not the
solution right now, as they also seem very "heavyweight" with a lot of
dependencies.

Is there a specific reason you did not recommend your own project, Glumpy?
It seems to be a lean but powerful library.


On Fri, Aug 12, 2016 at 11:24 AM, Nicolas P. Rougier <
[email protected]> wrote:

>
>
> GLFW is a good choice for the context handling since glut is now
> deprecated.
> You can find Python bindings at: https://github.com/rougier/pyglfw
>
>
> For scientific visualization, you might be interested in:
> http://glumpy.github.io and http://vispy.org
>
>
> Pyglet (https://pyglet.readthedocs.io/en/pyglet-1.2-maintenance/) is
> great but it seems unmaintained and it does not use the dynamic pipeline
> (a.k.a. shaders)
>
>
> For a very basic python tutorial on modern GL, you can have a look at:
> http://glumpy.readthedocs.io/en/latest/tutorial/introduction.html
>
>
> Next, you can look at library such as ogre (http://www.ogre3d.org) that
> provided python bindings.
> Mayavi (http://docs.enthought.com/mayavi/mayavi/) is also worth a look
> and may have already solved your problem.
>
>
>
> Nicolas
>
>
>
>
> > On 12 Aug 2016, at 11:10, Michael Bieri <[email protected]> wrote:
> >
> > Hi all
> >
> > I'm currently trying to dive into the world of 2D/3D graphics with
> OpenGL. I plan to use it for scientific visualisation. Normally I'll have
> data that's already close to input data for OpenGL, for example a list of
> points + a list of indices creating triangles form the points + a color
> value for each triangle. I plan to use it from Python.
> >
> > There's a lot of resources about OpenGL with Python, but I'm not quite
> sure what's state-of-the-art currently since some resources are several
> years old. So a few questions:
> > - Is pyopengl still state-of-the-art or are there better Python bindings
> for a new project?
> > - Which context library and which bindings is most recommended as of
> 2016? I think there's the choice between GLFW, OpenGL Context and GLUT,
> plus different bindings for each.
> >
> > It's relatively difficult to get good answers on these questions since
> not too many people do OpenGL with Python. So hopefully the mailing list
> can help a bit.
> >
> > Best regards
> > Michael
> > ------------------------------------------------------------
> ------------------
> > What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> > patterns at an interface-level. Reveals which users, apps, and protocols
> are
> > consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> > J-Flow, sFlow and other flows. Make informed decisions using capacity
> > planning reports. http://sdm.link/zohodev2dev___
> ____________________________________________
> > PyOpenGL Homepage
> > http://pyopengl.sourceforge.net
> > _______________________________________________
> > PyOpenGL-Users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/pyopengl-users
>
>

--047d7b6dc54e1007ed0539dcf410
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Thanks Nicolas for that list, there are some interesting p=
roject.<div><br></div><div>For the moment, I&#39;d like to use rather simpl=
e, low-level stuff that gives me good access and an unobstructed view to wh=
at&#39;s going on on the GPU, as I might also want to do some non-graphic c=
alculations closely related to the geometry on it. So high-level visualisat=
ion APIs like Mayavi are not the solution right now, as they also seem very=
 &quot;heavyweight&quot; with a lot of dependencies.</div><div><br></div><d=
iv>Is there a specific reason you did not recommend your own project, Glump=
y? It seems to be a lean but powerful library.<br></div><div><br></div></di=
v><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Fri, Aug 12,=
 2016 at 11:24 AM, Nicolas P. Rougier <span dir=3D"ltr">&lt;<a href=3D"mail=
to:[email protected]" target=3D"_blank">[email protected]</a>=
&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0=
 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
GLFW is a good choice for the context handling since glut is now deprecated=
.<br>
You can find Python bindings at: <a href=3D"https://github.com/rougier/pygl=
fw" rel=3D"noreferrer" target=3D"_blank">https://github.com/rougier/<wbr>py=
glfw</a><br>
<br>
<br>
For scientific visualization, you might be interested in:<br>
<a href=3D"http://glumpy.github.io" rel=3D"noreferrer" target=3D"_blank">ht=
tp://glumpy.github.io</a> and <a href=3D"http://vispy.org" rel=3D"noreferre=
r" target=3D"_blank">http://vispy.org</a><br>
<br>
<br>
Pyglet (<a href=3D"https://pyglet.readthedocs.io/en/pyglet-1.2-maintenance/=
" rel=3D"noreferrer" target=3D"_blank">https://pyglet.readthedocs.<wbr>io/e=
n/pyglet-1.2-maintenance/</a>) is great but it seems unmaintained and it do=
es not use the dynamic pipeline (a.k.a. shaders)<br>
<br>
<br>
For a very basic python tutorial on modern GL, you can have a look at:<br>
<a href=3D"http://glumpy.readthedocs.io/en/latest/tutorial/introduction.htm=
l" rel=3D"noreferrer" target=3D"_blank">http://glumpy.readthedocs.io/<wbr>e=
n/latest/tutorial/<wbr>introduction.html</a><br>
<br>
<br>
Next, you can look at library such as ogre (<a href=3D"http://www.ogre3d.or=
g" rel=3D"noreferrer" target=3D"_blank">http://www.ogre3d.org</a>) that pro=
vided python bindings.<br>
Mayavi (<a href=3D"http://docs.enthought.com/mayavi/mayavi/" rel=3D"norefer=
rer" target=3D"_blank">http://docs.enthought.com/<wbr>mayavi/mayavi/</a>) i=
s also worth a look and may have already solved your problem.<br>
<br>
<br>
<br>
Nicolas<br>
<div><div class=3D"h5"><br>
<br>
<br>
<br>
&gt; On 12 Aug 2016, at 11:10, Michael Bieri &lt;<a href=3D"mailto:mibieri@=
gmail.com">[email protected]</a>&gt; wrote:<br>
&gt;<br>
&gt; Hi all<br>
&gt;<br>
&gt; I&#39;m currently trying to dive into the world of 2D/3D graphics with=
 OpenGL. I plan to use it for scientific visualisation. Normally I&#39;ll h=
ave data that&#39;s already close to input data for OpenGL, for example a l=
ist of points + a list of indices creating triangles form the points + a co=
lor value for each triangle. I plan to use it from Python.<br>
&gt;<br>
&gt; There&#39;s a lot of resources about OpenGL with Python, but I&#39;m n=
ot quite sure what&#39;s state-of-the-art currently since some resources ar=
e several years old. So a few questions:<br>
&gt; - Is pyopengl still state-of-the-art or are there better Python bindin=
gs for a new project?<br>
&gt; - Which context library and which bindings is most recommended as of 2=
016? I think there&#39;s the choice between GLFW, OpenGL Context and GLUT, =
plus different bindings for each.<br>
&gt;<br>
&gt; It&#39;s relatively difficult to get good answers on these questions s=
ince not too many people do OpenGL with Python. So hopefully the mailing li=
st can help a bit.<br>
&gt;<br>
&gt; Best regards<br>
&gt; Michael<br>
</div></div>&gt; ------------------------------<wbr>-----------------------=
-------<wbr>------------------<br>
&gt; What NetFlow Analyzer can do for you? Monitors network bandwidth and t=
raffic<br>
&gt; patterns at an interface-level. Reveals which users, apps, and protoco=
ls are<br>
&gt; consuming the most bandwidth. Provides multi-vendor support for NetFlo=
w,<br>
&gt; J-Flow, sFlow and other flows. Make informed decisions using capacity<=
br>
&gt; planning reports. <a href=3D"http://sdm.link/zohodev2dev______________=
_________________________________" rel=3D"noreferrer" target=3D"_blank">htt=
p://sdm.link/zohodev2dev___<wbr>______________________________<wbr>________=
______</a><br>
&gt; PyOpenGL Homepage<br>
&gt; <a href=3D"http://pyopengl.sourceforge.net" rel=3D"noreferrer" target=
=3D"_blank">http://pyopengl.sourceforge.<wbr>net</a><br>
&gt; ______________________________<wbr>_________________<br>
&gt; PyOpenGL-Users mailing list<br>
&gt; <a href=3D"mailto:[email protected]">PyOpenGL-Users=
@lists.<wbr>sourceforge.net</a><br>
&gt; <a href=3D"https://lists.sourceforge.net/lists/listinfo/pyopengl-users=
" rel=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/<wbr>l=
ists/listinfo/pyopengl-users</a><br>
<br>
</blockquote></div><br></div>

--047d7b6dc54e1007ed0539dcf410--


--===============1552441566499873278==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
--===============1552441566499873278==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
PyOpenGL Homepage
http://pyopengl.sourceforge.net
_______________________________________________
PyOpenGL-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pyopengl-users

--===============1552441566499873278==--