Re: [pygame] GSoC Easy simple software 3d

2009-04-01 Thread René Dudfield
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

2009-03-31 Thread René Dudfield
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

2009-03-31 Thread Mike C. Fletcher

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

2009-03-31 Thread Ian Mallett
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

2009-03-31 Thread pymike
http://www.pygame.org/wiki/OBJFileLoader?parent=CookBook
-- 
- pymike


Re: [pygame] GSoC Easy simple software 3d

2009-03-31 Thread Ian Mallett
There is an .obj loader on pygame.org already in the cookbook...


Re: [pygame] GSoC Easy simple software 3d

2009-03-31 Thread Marcus von Appen
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

2009-03-31 Thread Campbell Barton
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

2009-03-30 Thread René Dudfield
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

2009-03-30 Thread Marcus von Appen
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

2009-03-30 Thread Kurucsai Istvan
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

2009-03-24 Thread René Dudfield
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

2009-03-24 Thread Kurucsai Istvan
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

2009-03-19 Thread René Dudfield
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

2009-03-19 Thread Zack Schilling
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

2009-03-19 Thread René Dudfield
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

2009-03-19 Thread Nirav Patel
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

2009-03-19 Thread Kurucsai Istvan
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