Hi Nick, I've added that description/link to the docs: https://pyglet.readthedocs.io/en/latest/index.html#third-party-libraries If you could give the Shader classes a try, that would be great. They have only really been tested with simple things that pyglet needs internally, so not all types are covered yet. Also, the code for setting/getting of Uniforms and UniformBufferObjects/UniformBlocks could definiltly use a review by someone who's better at this stuff than I am. Any feedback or suggestions would be most appreciated.
On Monday, February 5, 2018 at 8:08:31 PM UTC+9, Nick Del Grosso wrote: > > 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 <[email protected] > <javascript:>> 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 <[email protected]> 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" <[email protected]> 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 <[email protected]> >>>>>> 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 <[email protected] >>>>>>>> > 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 [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. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>> 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. >>>>>>> >>>>>> >>>>>> -- >>>>> 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. >>>>> >>>>> >>>>> -- >>>> 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. >>>> >>> -- >> 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] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> 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 [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.
