RenderMonkey exporter enhancement (submitted)

Threads related to Google Summer of Code
Post Reply
buddy
Google Summer of Code Student
Google Summer of Code Student
Posts: 78
Joined: Tue Mar 29, 2005 3:35 pm
Location: USA

RenderMonkey exporter enhancement (submitted)

Post by buddy » Thu May 04, 2006 9:44 am

Hello folks!

I am interested in enhancing RenderMonkey exporter stuff as a part of summerofcode project. As a contestant, because it so happened that I am a student now, and I have some time to spare for this summer :).

Yes, it was me who posted the original announcement about this exporter awhile back on this forum. Actually I am the guy who wrote the exporter code (except for later modifications after it became Ogre-hosted).

So would it be interesting for the OGRE project to enhance this exporter as a part of SoC 2006?

I have noticed some interest in the following features (from wiki):

* More flexibility to export scripts (different directories, different material names, ...)
* Persistence of the export options in the workspace file
* More variable types supported by Ogre (camera in world space, ambient light color, ...)
* Project files for more IDEs
* Import Ogre .mesh files into RenderMonkey

these would not be so hard to implement I think.
As for me, I also could suggest:
* .zip backend.
* preview with Ogre (e.g. how would the material look in OGRE, or even in some environment?)
* improving intelligence (better handling of multipass stuff)
* scripting exporter with python to add more flexibility.
* rewrite most logic in python (and bundle interpreter with the exporter), so that people do not need C++ compiler to fix and tweak things.
* installer for the stuff.

is there some interest in the features above? could you suggest anything else?
Last edited by buddy on Sun May 07, 2006 2:35 am, edited 1 time in total.
0 x

Joshua
Halfling
Posts: 90
Joined: Thu Dec 15, 2005 7:46 pm

Post by Joshua » Thu May 04, 2006 9:58 am

This is the #1 feature that our project could use, that is not yet scheduled for internal development. Definately interest here. :D

I believe Praetor made a similar post that you should check out. :wink:
0 x

User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19265
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 2
Contact:

Post by sinbad » Thu May 04, 2006 1:39 pm

Sounds like a worthy project to me, and being the original author you are ideally placed to do it.
0 x

buddy
Google Summer of Code Student
Google Summer of Code Student
Posts: 78
Joined: Tue Mar 29, 2005 3:35 pm
Location: USA

proposal

Post by buddy » Sun May 07, 2006 2:50 am

[Project: OGRE]
[Title/Summary: RmOgreExporter (v2), FxOgreExporter]
[Name: Vladimir Sukhoy]
[Email: vladimir.sukhoy<A_T>gmail.com]

[Time Dedication for the Project]
3-4h (at least) on weekdays. 5-8h on weekends.

[Deliverables/Goals]

Existing RmOgreExporter codebase will be used to enhance the tool to a newer level of usability. A better level of integration between existing major shader/material designer software and OGRE engine is a major goal.

[Detailed]
Following features are to be completed as a part of the project.

Major Features:
* [pylogic] rewrite exporter logic in Python and bundle interpreter code with the software, so that users will be able to contribute and tweak the exporter for their tasks.
* [import] add import capabilities to the plugin, so that people can edit their existing OGRE materials in shader designers (RenderMonkey) and then export the result back into OGRE.
* [scripting] add scripting capabilities for "batch" export.
* [previewer] add optional preview capability to the tool.
* [fxcomposer] design other features and adapt the codebase so that the tool can be used with another shader designer and eventually implement FX Composer plugin as the result of this effort.
* [doc] document the code being developed and come up with "User's Manual".

Minor Features:
* [rmogl] support OpenGL branch of RenderMonkey (it is not supported in current version).
* [exflex] - more flexibility to export scripts (different directories, different material names...)
* [persistence] - make export/import options persistent in the workspace file.
* [zipbackend] - implement zip backend for export/import.
* [improv] - Improve tool intelligence to deal with inherent differences in shader designer's material model and OGRE material framework.
* [idefiles] - More makefiles/project files/solutions for more IDEs (e.g. MSVS .NET 2005, and MinGW support)
* [meshimport] - Import OGRE's mesh geometry files (.mesh) into shader Designers.
* [varsup] - More variables supported by OGRE: (camera in world space, ambient light color, ...)
* [installer] - Package the tool and provide installer.

[Tentative Schedule]

May-June 2006: pylogic, rmogl, exflex, persistence, zipbackend,
exflex, varsup, previewer
July 2006: import, meshimport, improv, fxcomposer
August 2006: installer, scripting, idefiles, doc and catch-up.

[Background with OGRE]
The original version of RmOgreExporter was developed by me for VeritableSoft LLC in 2004-2005. In early 2005 the exporter was made available for OGRE community. A little later the source of the exporter was released under MIT license (with me in the copyright holder list). After being released, the code was somewhat modified by the community, but I couldn't detect any major changes.

The fact that I am the author of the existing codebase is the key element in my assurance of being the best person to do this project.

I also did some development with OGRE before creating RmOgreExporter, but I do not have proper authorization from related employers to disclose the details of the work.

[Experience/Bio]
My resume is available at http://sukhoy.public.iastate.edu/soc2006/resume.htm

To summarize:
* I have background in C/C++ development for Windows and long-term
experience using major tools involved (All Microsoft IDEs and make-like tools).
* I have some long-term experience with Python scripting language.
* I have some long-term experience with 3D Programming.
* I am familiar with CVS and newer source control systems, like Subversion.
* I have prior experience with Summer Of Code as a participant.
* I have experience writing FOSS since 1998.
* I am a graduate student for PhD in Applied Maths at Iowa State University, Ames, USA.

[SoC 2005]
I developed proactive I/O library for Python. The description is available at http://pyasynchio.berlios.de/pyasynchio-about.htm. My mentoring organization was PSF (Python Software Foundation) and Mark Hammond (the author of PyWin32) was my mentor for SoC 2005. The project was reported successful to Google. The idea was to generalize asynchronous I/O capabilities present in today's OSes and create useful and convenient interface for Python and maybe other scripting languages. Existing designs (most notably, ACE Proactor pattern by Doug Schmidt) were studied. Eventually a poll()-like interface was implemented and the library was released (unfortunately only the Windows version of the library is currently available, although I believe the interface developed is both general and useful enough to be reimplemented on other OSes).
0 x

Lioric
Google Summer of Code Mentor
Google Summer of Code Mentor
Posts: 295
Joined: Fri Aug 06, 2004 10:25 pm

Post by Lioric » Sun May 07, 2006 3:24 am

Im not sure this will be accepted as "you will need to do new work for the project"
0 x

buddy
Google Summer of Code Student
Google Summer of Code Student
Posts: 78
Joined: Tue Mar 29, 2005 3:35 pm
Location: USA

Post by buddy » Sun May 07, 2006 3:41 am

Lioric wrote:Im not sure this will be accepted as "you will need to do new work for the project"
Interesting.
You claim that the features I intend to implement are not new? I thought that they were not present in the plugin. And just in case - no, I do not want to get paid for "just" releasing the source code. None of the features above is implemented (at least by me or anyone I know :)) at this point, and you will have to trust me on this :).
0 x

Lioric
Google Summer of Code Mentor
Google Summer of Code Mentor
Posts: 295
Joined: Fri Aug 06, 2004 10:25 pm

Post by Lioric » Sun May 07, 2006 4:22 pm

0 x

User avatar
BlasterN
Gnome
Posts: 378
Joined: Thu Mar 24, 2005 1:07 am
Location: Spain
Contact:

Post by BlasterN » Sun May 07, 2006 5:47 pm

The original version of RmOgreExporter was developed by me for VeritableSoft LLC in 2004-2005.
You are the right person. Good Luck.

Remember this new feature when you have to do the impoter.
http://www.ogre3d.org/docs/manual/manual_20.html#SEC106 (3.1.6 Copying Materials)
0 x
Works:
MapToMesh | Bengine B9 @ www.sourceforge.net/projects/maptoogremesh/
3DWorldStudio exporter@ www.blastern.info

nfz
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 1263
Joined: Wed Sep 24, 2003 4:00 pm
Location: Halifax, Nova Scotia, Canada

Post by nfz » Sun May 07, 2006 5:53 pm

I've used the current RM Ogre exporter a fair bit, looked at the code, and the items listed in Major and Minor features are definately new.
0 x

buddy
Google Summer of Code Student
Google Summer of Code Student
Posts: 78
Joined: Tue Mar 29, 2005 3:35 pm
Location: USA

Post by buddy » Sun May 07, 2006 8:14 pm

BlasterN wrote: Remember this new feature when you have to do the impoter.
Thanks. It seems I will have to catch-up with OGRE a little bit, since it seems that these docs/features were not available when I did the original plugin.
0 x

buddy
Google Summer of Code Student
Google Summer of Code Student
Posts: 78
Joined: Tue Mar 29, 2005 3:35 pm
Location: USA

Post by buddy » Sun May 07, 2006 8:29 pm

I read the FAQ/Terms for SoC 2005 and I read the FAQ/Terms for SoC 2006 too. If I didn't do so, I would not probably insist on my eligibility.
Lioric wrote:Please read the student faq
I suppose you mean this one:
Yes, as long as you meet all other requirements for program eligibility. Also, please be sure to note in your application your previous relationship with the project. For Summer of Code 2006, you'll need to do new work for the project.
Ok, but I assume that I am eligible, since I am a full-time PhD student and I am not from Cuba etc.
It seems that I noted in my app my previous relationship with the project.
As for new work - I intend to do several major features, which, I think, in the code will translate to 2x or 3x (or more?) size of the codebase of the original stuff I submitted and I hope the result should be quite a bit more usable and comprehensive compared to what we have at the moment. Does this qualify for the "new work"? I am pretty sure it does.

I really do not understand the reason why you claim I am probably not eligible. Could you clarify the exact reason you think I fail to understand something with the above FAQ or anything else related to SoC requirements?
0 x

gzmzhen
Halfling
Posts: 79
Joined: Mon Feb 20, 2006 2:08 am
Location: CMU, Pittsburgh PA
Contact:

Post by gzmzhen » Mon May 08, 2006 3:21 am

Hey buddy, from what I read in the faq, it seems like you will definitely be eligible; you only have to do something new as in not simply update your old project, but increase the capabilities. You are eligible from what you talk about in this topic.
0 x

User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19265
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 2
Contact:

Post by sinbad » Mon May 08, 2006 2:15 pm

I agree, extensions / new features on existing projects are definitely eligible.
0 x

Lioric
Google Summer of Code Mentor
Google Summer of Code Mentor
Posts: 295
Joined: Fri Aug 06, 2004 10:25 pm

Post by Lioric » Mon May 08, 2006 5:25 pm

Dont take it personal, i was just suggesting to take it into account, in case you dint, it can be relevant to your application as there are some threads in the SOC Administrators group where a similar cases was discussed
0 x

buddy
Google Summer of Code Student
Google Summer of Code Student
Posts: 78
Joined: Tue Mar 29, 2005 3:35 pm
Location: USA

Post by buddy » Mon May 08, 2006 10:11 pm

Lioric wrote:Dont take it personal, i was just suggesting to take it into account, in case you dint, it can be relevant to your application as there are some threads in the SOC Administrators group where a similar cases was discussed
I'm ok with that :).
I tried to find the relevant post in Summer-Discuss, but failed, only found this one:
http://groups.google.com/group/Summer-D ... ba9c37cbed
and the response from Chris is pretty much what I would expect him to answer.

So I assume you mean closed administrators group I have no access to. So how could I take into account something I never saw and never knew? Something that was not in FAQ and was not clarified explicitly (like "an author of some library cannot work on its major improvement as a part of SoC 2006"). I think there are *a lot* of improvement-oriented and rewriting and refining projects out there and I am pretty sure many of those will be accepted. Heck, I even think that the majority or closely so of SoCers won't start from scratch. I also remember dozens and dozens of such refinement projects from SoC 2005. So, I really have trouble understanding these matters.

I would understand that, if, say, I had all these features done and stored on my hard drive :) and just said in my app that I want to get paid for the release of their source code. Than definitely there is nothing to pay for because the work is already done. Other than that, (and one can go up to arbitrary high level of conspiracy theory, if has enough desire to do so :)) I see no reason to disqualify my entry because of "not being new work".

Ok, if other guy (not me) would submit the same or closely proposal, do you want to hint that he would be eligible? That is kind of... strange.
So I still insist that the work I propose is "new". Moreover, I still think that the amount of effort I will have to put into the features above is even greater than the effort required to build existing codebase (just to mention - I plan to rewrite that codebase in scripting language, and that is a first step).

Is it possible to disclose the information you claim was in that closed list? I would really like to see the reason behind my disqualification, just for my background for future or something.
0 x

Lioric
Google Summer of Code Mentor
Google Summer of Code Mentor
Posts: 295
Joined: Fri Aug 06, 2004 10:25 pm

Post by Lioric » Mon May 08, 2006 10:38 pm

Dont over-analize it, it was an advice
If you are aware of this, you are sure of your work, and you did some research about this, then its all ok

how wrote "desqualification" in the first place?

You need to keep this in its original context, just a suggestion so you take it into account
0 x

buddy
Google Summer of Code Student
Google Summer of Code Student
Posts: 78
Joined: Tue Mar 29, 2005 3:35 pm
Location: USA

Post by buddy » Mon May 08, 2006 11:27 pm

Lioric wrote:Dont over-analize it, it was an advice
If you are aware of this, you are sure of your work, and you did some research about this, then its all ok
I'm ok with that. Right now we are going into something which is likely to be classified as flame :).
Lioric wrote: You need to keep this in its original context, just a suggestion so you take it into account
Thanks. I tried my best to do so, but path of logic drove me into conspiracy theory and I hardly see any way I could avoid that. No offence intended, as I mentioned.
0 x

Post Reply