Where to add massive changes?

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

Post Reply
gtmacdonald
Posts: 0
Joined: Thu Sep 22, 2005 5:58 am
Location: Arlington, TX

Where to add massive changes?

Post by gtmacdonald »

Hi all,

I'm new to blender development and have just started adding lots of new object types in order to support OpenFlight. I already wrote a script to do this: http://sourceforge.net/projects/blight/, but found that it wasn't enough. So I'm adding special objects for point lights and level of detail nodes. About 5 in all, plus a few objects that will behave similar to materials in blender.

Development is going good so far, but I'm curious if I should be talking to someone about how to do this so that it gets included in the main tree. OpenFlight is used by the visual simulation industry (for flight sims, commercial airline trainers, combat sims, etc.), but not by anyone else really. Should I place a button in the info panel to turn on and off this functionality? Or will that make it easier for someone to break my code without noticing?

I'm concerned that someone might not like me adding complexity to the interface for functionality that only a subset of blender users will use. But I think if I can get this finished, it will be much better than the OpenFlight support offered by Maya and 3DStudio. If a project lead could give me some direction on how to proceed, I'd appreciate it.

Regards,
Greg MacDonald

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

Hi Greg,

subscribe to bf-committers and email an equivalent to your post here,

split your work into different patches, and place them in the patch tracker,

unless you submit patches in the very immediate future, they probably won't make it in this release cycle (given that release is in 3 weeks) and even if you do submit them immediately likely won't make it. Blender has a 3-4 month release cycle so it isn't too long a wait even then. Also since the intermediate builds tend to be very stable and have many neat new features a lot of users use CVS.

LetterRip

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

PS - I'm not a project lead :) Those are just the standard procedures for getting your patch included, other useful stuff is to visit IRC #blendercoders channel

LetterRip

gtmacdonald
Posts: 0
Joined: Thu Sep 22, 2005 5:58 am
Location: Arlington, TX

Post by gtmacdonald »

Thanks, that's all good to know. I'll give bf-committers a try.

I guess what I'm really curious about is what the process is for accepting or rejecting patches. I've heard that open source projects have a benevolent dictator. If that's true I'd like to consult the great one before I begin so I don't have to do things over. :)

stiv
Posts: 0
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Post by stiv »

If you are proposing massive changes, the traditional thing to do is submit a proposal. The Blender dev wiki is a good place for that. Link is to your left.

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

Ton is our 'benevolent dictator',

stivs makes a good point, I'd forgot about the wiki.

LetterRip

gtmacdonald
Posts: 0
Joined: Thu Sep 22, 2005 5:58 am
Location: Arlington, TX

Post by gtmacdonald »

Thanks for repsonding. I thought it was probably Ton. :)

I'll write a proposal, but I'm already coding. It would be very weird if I was working in parallel because I wrote a proposal that another developer picked up.

I'm just extending blender for a very specific purpose that only a few people will care about. Maybe I should've said in the title massive additions instead of changes. Maya handles this nicely with their architecture. The OpenFlight plugin for Maya only gets turned on if a user knows about it. The plugin creates a new object type and integrates seamlessly into Maya as if it was always there.

Maybe I should propose object plugins. Or maybe we could make everything in Blender a plugin - even the core functionality. That's how 3DStudio does it. I know as an open source project blender is automatically extensible, but it would help with situations like mine.

gta
Posts: 0
Joined: Wed Feb 07, 2007 4:48 pm

OpenFlight with Textures?

Post by gta »

Hello,
I have two issues:
1. can you also write lower versions of flt?
2. I desperately need textured models but it seems I can not get textures out

Am I doing something wrong?

Kind Regards

gtmacdonald
Posts: 0
Joined: Thu Sep 22, 2005 5:58 am
Location: Arlington, TX

Post by gtmacdonald »

Hi gta,

I haven't looked at the plugin for over a year. But when I wrote it, it did export image textures (not procedural) and it only supported version 16 of openflight.

It's also possible a recent release of blender broke the plugin.

-Greg

SirDude
Posts: 233
Joined: Sun Oct 13, 2002 7:37 pm
Location: University of Minnesota (USA)
Contact:

Post by SirDude »

Hi Greg,

Just some additional side comments. The proposal does a couple of things,
It gets you to think critically about how your project will integrate with
the current code both for the code and the end user. Allows others to
look at what your suggesting and comment on it, hopefully improving it and or giving you guidance on things you might have questions about.
Trying to describe it to others tends to show you areas you may be glossing over etc...

There are a couple of choices you can make to realize the project.
1. Create a blend file that is just a library and use Shift F1 to load objects
from the library. (I'm assuming you know about this and its not really a
good fit for what you want to do).

2. Create some sort of ENV var, or a toggle button in the User Prefs to enable your extended objects. This isn't too hard but might be less likely to be included into the source code. Its kind of like the yafray render engine though since its the first might be accepted with anticipation of choice #3 later.

3. Come up with an extensible way to add object sets(and or other things like materials... via python or shared libs or something). This is a lot of work but would be rewarding, and if done right would be added to the code base.

4. Do the stuff in python similar to the old make human, and or the crystal space people have done stuff. Basically use python to add a gui that adds extra functinality. This option falls somewhere inbetween 2 and 3, you would need to use python to do it, and may have to work around some issues with the python api...
(link to crystal space stuff: http://www.blender.org/cms/Pablo_Martin ... 806.0.html)

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

greg - now blender has custom properties and a number of useful 'gameengine' tools.

LetterRip

joeedh
Posts: 31
Joined: Wed Oct 16, 2002 10:30 pm
Contact:

Post by joeedh »

Blender isn't likely to get plugin support for custom object types for quite a while, due to internal design and frankly simply because bunches of other stuff (some of it planned anyway but yet to be implemented) would need to be done.

Joe

minghia
Posts: 0
Joined: Fri Aug 27, 2010 10:27 am

Update for Blender 2.5

Post by minghia »

Hi Greg,
Are you still maintaining the scripts to do the importing and exporting to OpenFlight? And are they going to be ported to Blender 2.53?

Post Reply