Re: [pygame] GSoC Easy simple software 3d
hi, @Mike: would you like to be put down as a backup part time mentor? I could probably go as the full time/other mentor in that case. It would be a very useful project for people making opengl games/programs who want backup software rendering, as well as being useful in its own right. cheers, On Wed, Apr 1, 2009 at 9:35 AM, Mike C. Fletcher wrote: > Ian Mallett wrote: >> >> There is an .obj loader on pygame.org already in the cookbook... >> > > There's also one in Pyglet with a modified version in OpenGLContext: > > > http://bazaar.launchpad.net/~mcfletch/openglcontext/trunk/annotate/head%3A/OpenGLContext/loaders//obj.py > > Regarding the proposal in general, it sounds fine. BTW, I can't > realistically commit to being a full-time mentor this summer, but I'd be > willing to help out with mentoring and/or answering questions. > > HTH, > Mike > > -- > > Mike C. Fletcher > Designer, VR Plumber, Coder > http://www.vrplumber.com > http://blog.vrplumber.com > >
Re: [pygame] GSoC Easy simple software 3d
Also, there's one in cgkit. I think the cgkit one worked the best for complex maya obj files last I tried. However I haven't tried the blender one recently. cu, On Wed, Apr 1, 2009 at 9:35 AM, Mike C. Fletcher wrote: > Ian Mallett wrote: >> >> There is an .obj loader on pygame.org already in the cookbook... >> > > There's also one in Pyglet with a modified version in OpenGLContext: > > > http://bazaar.launchpad.net/~mcfletch/openglcontext/trunk/annotate/head%3A/OpenGLContext/loaders//obj.py > > Regarding the proposal in general, it sounds fine. BTW, I can't > realistically commit to being a full-time mentor this summer, but I'd be > willing to help out with mentoring and/or answering questions. > > HTH, > Mike > > -- > > Mike C. Fletcher > Designer, VR Plumber, Coder > http://www.vrplumber.com > http://blog.vrplumber.com > >
Re: [pygame] GSoC Easy simple software 3d
Ian Mallett wrote: There is an .obj loader on pygame.org already in the cookbook... There's also one in Pyglet with a modified version in OpenGLContext: http://bazaar.launchpad.net/~mcfletch/openglcontext/trunk/annotate/head%3A/OpenGLContext/loaders//obj.py Regarding the proposal in general, it sounds fine. BTW, I can't realistically commit to being a full-time mentor this summer, but I'd be willing to help out with mentoring and/or answering questions. HTH, Mike -- Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com
Re: [pygame] GSoC Easy simple software 3d
Yes. It's fairly robust. I use a modified version which puts everything into NumPy/Numeric arrays for easy integration into vertex arrays/VBOs.
Re: [pygame] GSoC Easy simple software 3d
http://www.pygame.org/wiki/OBJFileLoader?parent=CookBook -- - pymike
Re: [pygame] GSoC Easy simple software 3d
There is an .obj loader on pygame.org already in the cookbook...
Re: [pygame] GSoC Easy simple software 3d
On, Tue Mar 31, 2009, Campbell Barton wrote: > The OBJ loader for blender3d could quite easily be modified to have > the blender parts removed, > OBJ looks like a simple format but there are quite a few corner cases > that we had to account for in blender to support OBJs for lots of > different programs. > > Main drawback with OBJ is no lights or vertex colors. Does the license of the code portion match our needs (LGPL or more free)? Regards Marcus pgpxELBsl65IR.pgp Description: PGP signature
Re: [pygame] GSoC Easy simple software 3d
The OBJ loader for blender3d could quite easily be modified to have the blender parts removed, OBJ looks like a simple format but there are quite a few corner cases that we had to account for in blender to support OBJs for lots of different programs. Main drawback with OBJ is no lights or vertex colors. On Mon, Mar 30, 2009 at 1:08 PM, René Dudfield wrote: > Hi, > > your application looks pretty good. > > +1 for obj rather than 3ds. Obj has more wide spread editor support. > However, it sounds like you have written a 3ds loader/renderer already > - so that knowledge will be useful. > > I'd note in the title it will be opengl based, since then you will > likely get more support from the non-pygame people too. > > Also, unittests will be required, so please mention them in your > outline. It's good for the tests to be written as you go, rather than > at the end. > > > cheers, > > > > On Tue, Mar 31, 2009 at 6:25 AM, Marcus von Appen wrote: >> On, Mon Mar 30, 2009, Kurucsai Istvan wrote: >> >> [...] >> >>> About My Project >>> >>> 1. My project is about implementing "Easy Simple Software 3D" support >>> for >>> pygame. It would be capable of loading and rendering 3D models and >>> handling >>> basic OpenGL functionality like lighting. I divided the task into 3 >>> subprojects: >>> >>> I. Choosing/wrapping an appropriate software OpenGL implementation. >>> There are several candidates for this (tinygl, sdl-tinygl, >>> vincent). >>> The chosen implementation has to be fast, reasonably bug-free >>> and >>> appropriately licensed. >>> >>> II. Choosing a model format and developing a loader for it. >>> 3ds and obj are the most likely to be used. Both of them has >>> plenty >>> of documentation/example code, obj is simpler but I already have >>> some experience with 3ds. >> >> I'd recommend to focus on the obj format here. It's even more common >> than 3ds and most modelers support export/import facilities for it. If >> you have enough time at your hands later on, you can go ahead and add >> 3ds support or whatever else, so you should add an optional task about >> adding more loaders. >> >>> III. Writing the engine. >>> The main goal is to make the interface of the engine as simple >>> as >>> possible while retaining functionality. Loading and displaying a >>> model should be as simple as 2 function calls. >> >> The internals of the engine should be nicely layered (using as less >> complexity as possible to keep it fast), so it can be exchanged easily >> with another software engine or even hardware bindings. >> >> Besides that, your proposal looks all good to me. >> >> Regards >> Marcus >> > -- - Campbell
Re: [pygame] GSoC Easy simple software 3d
Hi, your application looks pretty good. +1 for obj rather than 3ds. Obj has more wide spread editor support. However, it sounds like you have written a 3ds loader/renderer already - so that knowledge will be useful. I'd note in the title it will be opengl based, since then you will likely get more support from the non-pygame people too. Also, unittests will be required, so please mention them in your outline. It's good for the tests to be written as you go, rather than at the end. cheers, On Tue, Mar 31, 2009 at 6:25 AM, Marcus von Appen wrote: > On, Mon Mar 30, 2009, Kurucsai Istvan wrote: > > [...] > >> About My Project >> >> 1. My project is about implementing "Easy Simple Software 3D" support for >> pygame. It would be capable of loading and rendering 3D models and >> handling >> basic OpenGL functionality like lighting. I divided the task into 3 >> subprojects: >> >> I. Choosing/wrapping an appropriate software OpenGL implementation. >> There are several candidates for this (tinygl, sdl-tinygl, >> vincent). >> The chosen implementation has to be fast, reasonably bug-free and >> appropriately licensed. >> >> II. Choosing a model format and developing a loader for it. >> 3ds and obj are the most likely to be used. Both of them has >> plenty >> of documentation/example code, obj is simpler but I already have >> some experience with 3ds. > > I'd recommend to focus on the obj format here. It's even more common > than 3ds and most modelers support export/import facilities for it. If > you have enough time at your hands later on, you can go ahead and add > 3ds support or whatever else, so you should add an optional task about > adding more loaders. > >> III. Writing the engine. >> The main goal is to make the interface of the engine as simple as >> possible while retaining functionality. Loading and displaying a >> model should be as simple as 2 function calls. > > The internals of the engine should be nicely layered (using as less > complexity as possible to keep it fast), so it can be exchanged easily > with another software engine or even hardware bindings. > > Besides that, your proposal looks all good to me. > > Regards > Marcus >
Re: [pygame] GSoC Easy simple software 3d
On, Mon Mar 30, 2009, Kurucsai Istvan wrote: [...] > About My Project > > 1. My project is about implementing "Easy Simple Software 3D" support for > pygame. It would be capable of loading and rendering 3D models and > handling > basic OpenGL functionality like lighting. I divided the task into 3 > subprojects: > > I. Choosing/wrapping an appropriate software OpenGL implementation. > There are several candidates for this (tinygl, sdl-tinygl, > vincent). > The chosen implementation has to be fast, reasonably bug-free and > appropriately licensed. > > II. Choosing a model format and developing a loader for it. > 3ds and obj are the most likely to be used. Both of them has > plenty > of documentation/example code, obj is simpler but I already have > some experience with 3ds. I'd recommend to focus on the obj format here. It's even more common than 3ds and most modelers support export/import facilities for it. If you have enough time at your hands later on, you can go ahead and add 3ds support or whatever else, so you should add an optional task about adding more loaders. > III. Writing the engine. > The main goal is to make the interface of the engine as simple as > possible while retaining functionality. Loading and displaying a > model should be as simple as 2 function calls. The internals of the engine should be nicely layered (using as less complexity as possible to keep it fast), so it can be exchanged easily with another software engine or even hardware bindings. Besides that, your proposal looks all good to me. Regards Marcus pgpRc3yns5rv7.pgp Description: PGP signature
Re[4]: [pygame] GSoC Easy simple software 3d
Hello, I have attached my proposal. Any comments are welcome. Regards, IstvanAbout me 1. Name: Istvan Kurucsai 2. Contact: e-mail: pistu...@gmail.com irc: pistukem @ Freenode MSN: gurth...@linuxmail.org 3. Time Zone: CET Preferred Language: English 4. Time Commitment: I am finishing my exams in May and I have got no other work or school-related commitment in the summer, so I can spend most of it working on the project. I am going on a one week vacation in the end of July but the exact date is not yet fixed. 5. Programming Experience: I have been programming in C/C++ for several years now and started using Python a few months ago. I worked mainly on university related and small personal projects involving 3D graphics programming/theory, web development and reverse engineering. I have used OpenGL in several applications and I also have some experience with DirectX. Some of my projects: - 3ds loader and renderer written in C using OpenGL - software and fixed function pipeline implementation of a few 3d effects (cel shading, shadowing) in C/OpenGL - small web applications in Python using Django 6. Pygame Experience: Simple programs using pygame Familiarity with some of the previous years GSoC projects 7. Other Skills: Strong backgorund in Mathematics. Reverse engineering experience. About My Project 1. My project is about implementing "Easy Simple Software 3D" support for pygame. It would be capable of loading and rendering 3D models and handling basic OpenGL functionality like lighting. I divided the task into 3 subprojects: I. Choosing/wrapping an appropriate software OpenGL implementation. There are several candidates for this (tinygl, sdl-tinygl, vincent). The chosen implementation has to be fast, reasonably bug-free and appropriately licensed. II. Choosing a model format and developing a loader for it. 3ds and obj are the most likely to be used. Both of them has plenty of documentation/example code, obj is simpler but I already have some experience with 3ds. III. Writing the engine. The main goal is to make the interface of the engine as simple as possible while retaining functionality. Loading and displaying a model should be as simple as 2 function calls. 2. What existing or future need does your proposed project fulfill? 3D support is a great feature for any game development library. The OpenGL wrapper and the loader could be easily used by other projects too. The software-based nature of this project ensures that a wide range of platforms and hardware configurations can use it adequately. 3. Timeline: Pre-coding period: familiarizing myself with pygame internals, OpenGL implementations and model formats. Weeks 1-3: wrapping the OpenGL functions, documenting and testing them Weeks 4-5: choosing a model format, developing the loader Weeks 6-7: creating basic engine functionality, with documentation and tests Mid-term: the OpenGL and model loader parts finished, some engine functions available Weeks 8-11: more functionality, documentation and tests Weeks 12-14: testing on different platforms, fixing bugs, writing examples 4. Describe how you have brought your project proposal to the Pygame community, their reactions to your proposal, and revisions you have made based on those reactions. I have discussed the project idea with the pygame developers on the pygame-users mailing list and based on their replies I included time to test other platforms in the timeline and considered using the obj format.
Re: Re[2]: [pygame] GSoC Easy simple software 3d
Hi, I think that's probably enough work for 3 months. You should include time in your proposal for fixing any major bugs, and for getting it working on different platforms(windows, linux, etc). Perhaps loading and displaying a specific type of model would be good. I think a basic format like obj would be a good one to load, and display. There's already python, and C code around the place which you might be able to use (assuming the licence is compatible with pygame). Feel free to send Marcus, Nirav, and I your proposal for feedback -- or send it to the mailing list if you like. Also, a note for all people making proposals for pygame... since there's been heaps of interest this year, I think we can only have two/three accepted proposals(depending on how generous google/PSF are). So it's in your interest to also make a separate proposal about another subject. On Wed, Mar 25, 2009 at 2:59 AM, Kurucsai Istvan wrote: > I am thinking about wrapping sdl-tinygl, implementing/wrapping/simply > using a model loader (depending on the availabity of libraries for the > chosen format) and creating the drawing code. Is this enough for the > project or should I include other things in my proposal too (scene > graphing, special effects, something else)? > > -- > Regards, > Istvan Kurucsai mailto:pistu...@gmail.com > > > indeed. Note that this is a software 3d engine though... not hardware > opengl. > > > cu, > > > > On Fri, Mar 20, 2009 at 3:10 PM, Zack Schilling > > wrote: > >> One of the most important things for an OpenGL - Python interface is > good > >> support for VBOs, PBOs and FBOs. It's very important to wrap as much of > the > >> data handing as possible to ensure there are ways for Python developers > to > >> update massive models without having to push 100,000 vertices from their > >> Python code to the C wrapper and then to the GPU. > >> > >> -Zack > >> > >> On Mar 19, 2009, at 11:48 PM, René Dudfield wrote: > >> > > >
Re[2]: [pygame] GSoC Easy simple software 3d
I am thinking about wrapping sdl-tinygl, implementing/wrapping/simply using a model loader (depending on the availabity of libraries for the chosen format) and creating the drawing code. Is this enough for the project or should I include other things in my proposal too (scene graphing, special effects, something else)? -- Regards, Istvan Kurucsai mailto:pistu...@gmail.com > indeed. Note that this is a software 3d engine though... not hardware opengl. > cu, > On Fri, Mar 20, 2009 at 3:10 PM, Zack Schilling > wrote: >> One of the most important things for an OpenGL - Python interface is good >> support for VBOs, PBOs and FBOs. It's very important to wrap as much of the >> data handing as possible to ensure there are ways for Python developers to >> update massive models without having to push 100,000 vertices from their >> Python code to the C wrapper and then to the GPU. >> >> -Zack >> >> On Mar 19, 2009, at 11:48 PM, René Dudfield wrote: >>
Re: [pygame] GSoC Easy simple software 3d
indeed. Note that this is a software 3d engine though... not hardware opengl. cu, On Fri, Mar 20, 2009 at 3:10 PM, Zack Schilling wrote: > One of the most important things for an OpenGL - Python interface is good > support for VBOs, PBOs and FBOs. It's very important to wrap as much of the > data handing as possible to ensure there are ways for Python developers to > update massive models without having to push 100,000 vertices from their > Python code to the C wrapper and then to the GPU. > > -Zack > > On Mar 19, 2009, at 11:48 PM, René Dudfield wrote: > >> TinyGLSDL would be a good one to wrap. It has some basic opengl >> constructs. >> >> Or an appropriately licenced software OpenGLES implementation could be >> good too. >> >> cu, >> >> >> On Fri, Mar 20, 2009 at 10:10 AM, Kurucsai Istvan >> wrote: >>> >>> Hello, >>> >>> My name is Istvan, a second year computer science student from >>> Budapest, Hungary. I am writing to introduce myself a bit and to get >>> a better idea of the project I would like to do. I have been >>> programming in C and C++ for some years now, mostly small >>> 3D/game-development related stuff. I have used OpenGL in several >>> projects and also have some experience with DirectX. I started using >>> Python and Pygame a few months ago. I have a strong background in Math >>> (esp. in linear algebra and calculus). >>> >>> Based on my skillset I decided to apply for the "Easy simple software >>> 3d" project, as it is both interesting and useful and I think I am >>> able to finish it in time. There is no mentor assigned to it on the >>> ideas page, who would mentor it? I have got some questions and I don't >>> know if I should ask them here or ask the mentor. >>> >>> Don't hesitate to reply with any comment you might have. >>> >>> -- >>> Regards, >>> Istvan Kurucsai mailto:pistu...@gmail.com >>> >>> > >
Re: [pygame] GSoC Easy simple software 3d
One of the most important things for an OpenGL - Python interface is good support for VBOs, PBOs and FBOs. It's very important to wrap as much of the data handing as possible to ensure there are ways for Python developers to update massive models without having to push 100,000 vertices from their Python code to the C wrapper and then to the GPU. -Zack On Mar 19, 2009, at 11:48 PM, René Dudfield wrote: TinyGLSDL would be a good one to wrap. It has some basic opengl constructs. Or an appropriately licenced software OpenGLES implementation could be good too. cu, On Fri, Mar 20, 2009 at 10:10 AM, Kurucsai Istvan wrote: Hello, My name is Istvan, a second year computer science student from Budapest, Hungary. I am writing to introduce myself a bit and to get a better idea of the project I would like to do. I have been programming in C and C++ for some years now, mostly small 3D/game-development related stuff. I have used OpenGL in several projects and also have some experience with DirectX. I started using Python and Pygame a few months ago. I have a strong background in Math (esp. in linear algebra and calculus). Based on my skillset I decided to apply for the "Easy simple software 3d" project, as it is both interesting and useful and I think I am able to finish it in time. There is no mentor assigned to it on the ideas page, who would mentor it? I have got some questions and I don't know if I should ask them here or ask the mentor. Don't hesitate to reply with any comment you might have. -- Regards, Istvan Kurucsai mailto:pistu...@gmail.com
Re: [pygame] GSoC Easy simple software 3d
TinyGLSDL would be a good one to wrap. It has some basic opengl constructs. Or an appropriately licenced software OpenGLES implementation could be good too. cu, On Fri, Mar 20, 2009 at 10:10 AM, Kurucsai Istvan wrote: > Hello, > > My name is Istvan, a second year computer science student from > Budapest, Hungary. I am writing to introduce myself a bit and to get > a better idea of the project I would like to do. I have been > programming in C and C++ for some years now, mostly small > 3D/game-development related stuff. I have used OpenGL in several > projects and also have some experience with DirectX. I started using > Python and Pygame a few months ago. I have a strong background in Math > (esp. in linear algebra and calculus). > > Based on my skillset I decided to apply for the "Easy simple software > 3d" project, as it is both interesting and useful and I think I am > able to finish it in time. There is no mentor assigned to it on the > ideas page, who would mentor it? I have got some questions and I don't > know if I should ask them here or ask the mentor. > > Don't hesitate to reply with any comment you might have. > > -- > Regards, > Istvan Kurucsai mailto:pistu...@gmail.com > >
Re: [pygame] GSoC Easy simple software 3d
Istvan, Feel free to bring up your questions here on the list. Nirav On Thu, Mar 19, 2009 at 7:10 PM, Kurucsai Istvan wrote: > Hello, > > My name is Istvan, a second year computer science student from > Budapest, Hungary. I am writing to introduce myself a bit and to get > a better idea of the project I would like to do. I have been > programming in C and C++ for some years now, mostly small > 3D/game-development related stuff. I have used OpenGL in several > projects and also have some experience with DirectX. I started using > Python and Pygame a few months ago. I have a strong background in Math > (esp. in linear algebra and calculus). > > Based on my skillset I decided to apply for the "Easy simple software > 3d" project, as it is both interesting and useful and I think I am > able to finish it in time. There is no mentor assigned to it on the > ideas page, who would mentor it? I have got some questions and I don't > know if I should ask them here or ask the mentor. > > Don't hesitate to reply with any comment you might have. > > -- > Regards, > Istvan Kurucsai mailto:pistu...@gmail.com > >
[pygame] GSoC Easy simple software 3d
Hello, My name is Istvan, a second year computer science student from Budapest, Hungary. I am writing to introduce myself a bit and to get a better idea of the project I would like to do. I have been programming in C and C++ for some years now, mostly small 3D/game-development related stuff. I have used OpenGL in several projects and also have some experience with DirectX. I started using Python and Pygame a few months ago. I have a strong background in Math (esp. in linear algebra and calculus). Based on my skillset I decided to apply for the "Easy simple software 3d" project, as it is both interesting and useful and I think I am able to finish it in time. There is no mentor assigned to it on the ideas page, who would mentor it? I have got some questions and I don't know if I should ask them here or ask the mentor. Don't hesitate to reply with any comment you might have. -- Regards, Istvan Kurucsai mailto:pistu...@gmail.com