Hi Benjamin,

No problem, I understand.  Any way I can contribute would be great!  I'll
also look at using your Shader implementation in ratcave (no need to
reinvent the wheel and all, and I think your implementation is very well
done!); in either case, ratcave doesn't rely on a given shader
implementation--it just catches the OpenGl error if a shader isn't bound
when it tries to send uniforms--so any user that wants to mix and match
packages won't have any problems.

And thank you for offering to add the project on the Pyglet page, that
would be great!

Title: Ratcave: A Simple Python 3D Graphics Engine extension for Pyglet,
Psychopy, and PyGame.
Link: https://github.com/neuroneuro15/ratcave
Description: Ratcave provides a simple OOP interface for loading,
positioning, and drawing 3D scenes in OpenGL windows.  It's a great fit for
simple games and scientific behavioral experiments!

Best wishes,

Nick


On Mon, Feb 5, 2018 at 3:31 AM, Benjamin Moran <benmora...@gmail.com> wrote:

> Hi Nick,
>
> Firstly, nice progress you've made. I would be happy to add your library
> to the projects section in the documentation:
> https://pyglet.readthedocs.io/en/latest/index.html#projects-using-pyglet
> Just let me know the description and preferred link, and I'll add it in.
> It's not much, but we don't have a proper website at the moment.
>
> About this model module, it's mainly just about getting the abstractions
> right, such as what attributes make sense to expose. We should also ensure
> the codec system makes sense for adding additional model parsers. Similar
> to the Sprite class in scope.
>
> As you might know we are planning to move pyglet's core to GL3+ in the
> future. I would be very interested in talking with you regarding this work.
> Some necessary internal classes for supporting everything are necessary,
> such as shader/shader program abstractions. These are duplicated in
> projects like yours, but in the future it would be nice to ensure the
> built-in classes are useful by other projects as well. The current rough
> implementation of the shader module for example, is here:
> https://bitbucket.org/HigashiNoKaze/pyglet/src/
> aec97ee54c670ce983041b39284b9794f78ceac0/pyglet/graphics/
> shader.py?at=shaders&fileviewer=file-view-default
>
>
>
>
> On Saturday, February 3, 2018 at 5:58:54 PM UTC+9, Nick Del Grosso wrote:
>>
>> Hi,
>>
>> In response to this addition,  I'd like to recommend my 3d model package
>> Ratcave again as an extension package for Pyglet and Pygame users. It has
>> been quite improved since I last suggested it on this mailing list, with a
>> cleaner interface and more tests. It uses modern opengl and shaders to stay
>> performant, and it works as a drop-in extension to any opengl context.
>> Models are drawn with draw(), cameras, lights, shaders, etc. use context
>> managers, which keep things cclean-lookin, and it also includes an OBJ file
>> parser. Finally, deferred rendering is made simple with context manager
>> FBOs and Textures, which has made it an effective teaching tool for
>> shaders.
>>
>> https://github.com/neuroneuro15/ratcave
>>
>> https://ratcave.readthedocs.io/en/latest/tutorial1.html
>>
>> For simple games and apps, it has been more than enough.  There's
>> certainly still room for improvement, of course. Any contributions and
>> suggestions are welcome!
>>
>> Best wishes,
>>
>> Nick
>>
>>
>> On Friday, February 2, 2018, Benjamin Moran <benmo...@gmail.com> wrote:
>>
>>> Hi everyone,
>>>
>>> I know this has been quiet for a while, but I figured it was a good time
>>> to think about merging in the basic framework for the model class. I think
>>> this work gets a lot more interesting with GL3+, but at least we can get
>>> some things worked out in the mean time. You can find my pull request here,
>>> and feedback would be greatly appreciated:
>>> https://bitbucket.org/pyglet/pyglet/pull-requests/108/3dmodel/diff
>>>
>>> This consists of a new pyglet.model module. The structure is very
>>> similar to pyglet.image. There is also a single codec for obj files, which
>>> was based on some older /contrib code. This codec is crude and unfinished,
>>> but works well enough for a placeholder.
>>>
>>> The pyglet.model.__init__ file contains the new `Model` class, as well
>>> as two Groups (for textured, or non-textured meshes). The main thing we
>>> need to flesh out is the `Model` class. In particular, which attributes we
>>> need to consider. Currently there is a `vertex_list_map`, which contains a
>>> mapping of the vertex lists and which Groups they are using (as some models
>>> have multiple meshes with different properties).
>>>
>>> I'm thinking at the least we should add an `add_to_texture_bin` method,
>>> similar to Animations. This would also be useful for the resource module,
>>> so models loaded through there could optionally be added to the interal
>>> resource module texture bins (as Animations can be).
>>>
>>> I'm not an expert on these things, so any feedback is appreciated!
>>>
>>> -Ben
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Tuesday, July 18, 2017 at 4:08:42 PM UTC+9, Nick Del Grosso wrote:
>>>>
>>>> Hi Benjamin,
>>>>
>>>> That makes sense. Thank you for taking a look at ratcave!
>>>>
>>>> Best wishes,
>>>>
>>>> Nick
>>>>
>>>> On Jul 11, 2017 10:24 AM, "Benjamin Moran" <benmo...@gmail.com> wrote:
>>>>
>>>> As a follow up Nick,
>>>>
>>>> You've recreated a lot of things that will potentially end up in pyglet
>>>> core at some point. This is more related to the other thread about an
>>>> eventual move of the pyglet codebase to GL3+. It looks like we can leverage
>>>> most of the existing pyglet.graphics module when we move forward with that,
>>>> so it makes sense for the Model framework to use the existing API for a
>>>> start.
>>>>
>>>> I see that you've written a nice obj loader, which is a lot cleaner
>>>> than the quick one I've hacked together :)
>>>>
>>>>
>>>>
>>>>
>>>> On Thursday, July 6, 2017 at 11:36:19 PM UTC+9, Nick Del Grosso wrote:
>>>>
>>>>> Hi Benjamin,
>>>>>
>>>>> Thank you for the compliment!
>>>>>
>>>>> Best wishes,
>>>>> NIck
>>>>>
>>>>> On Thu, Jun 29, 2017 at 9:06 AM, Benjamin Moran <benmo...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Nick,
>>>>>>
>>>>>> I was browsing through your code, and it looks like a nice project.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wednesday, June 28, 2017 at 5:35:32 PM UTC+9, Nick Del Grosso
>>>>>> wrote:
>>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> The ratcave package I wrote (https://github.com/neuroneuro15/ratcave)
>>>>>>> and use in my virtual reality research is exactly this.
>>>>>>>
>>>>>>> Documentation and Tutorials:  http://ratcave.readthedocs.io
>>>>>>> /en/latest/introduction.html#features
>>>>>>>
>>>>>>> Best wishes,
>>>>>>>
>>>>>>> Nick
>>>>>>>
>>>>>>> On Mon, Jun 19, 2017 at 4:29 AM, Benjamin Moran <benmo...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> I still plan on merging in the basic framework for Models, but
>>>>>>>> first I'm going over Steve's work on the documentation.
>>>>>>>>
>>>>>>>> Regarding loading the files, I realize we'll have to do something
>>>>>>>> regarding binary versus ascii formats. My initial thinking is that we
>>>>>>>> should default to loading as binary for everything, and just decode to
>>>>>>>> ascii inside the ModelDecoders if necessary. This would prevent a bit 
>>>>>>>> of
>>>>>>>> waste inside the load and resource methods.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Friday, June 9, 2017 at 12:46:36 AM UTC+9, Benjamin Moran wrote:
>>>>>>>>>
>>>>>>>>> Other modules support loading resources from either a file object
>>>>>>>>> or just a filename, which the model one does as well.
>>>>>>>>>
>>>>>>>>> The obj codec (so far) uses the os module to find the base path of
>>>>>>>>> the file object, and locates the other material and image files that 
>>>>>>>>> way.
>>>>>>>>>
>>>>>>>>> There might be some hiccups that will pop up once trying to use
>>>>>>>>> the resource module, but nothing we can't solve. Any suggestions 
>>>>>>>>> welcome,
>>>>>>>>> as always.
>>>>>>>>>
>>>>>>>>> --
>>>>>>>> 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 pyglet-users...@googlegroups.com.
>>>>>>>> To post to this group, send email to pyglet...@googlegroups.com.
>>>>>>>> Visit this group at https://groups.google.com/group/pyglet-users.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>> 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 pyglet-users...@googlegroups.com.
>>>>>> To post to this group, send email to pyglet...@googlegroups.com.
>>>>>> Visit this group at https://groups.google.com/group/pyglet-users.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>> 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 pyglet-users...@googlegroups.com.
>>>> To post to this group, send email to pyglet...@googlegroups.com.
>>>> Visit this group at https://groups.google.com/group/pyglet-users.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>> --
>>> 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 pyglet-users...@googlegroups.com.
>>> To post to this group, send email to pyglet...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/pyglet-users.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> 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 pyglet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to pyglet-users@googlegroups.com.
> Visit this group at https://groups.google.com/group/pyglet-users.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 pyglet-users+unsubscr...@googlegroups.com.
To post to this group, send email to pyglet-users@googlegroups.com.
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