[Bf-committers] Blender tangent space calculation

Eugene Minov minov.eug at gmail.com
Wed Nov 16 14:32:56 CET 2011


>
> >If you can get hold of the dm
> >(DerivedMesh)
> >on the c side of things then I can show you how to get the correct
normals
> >and tangents
> >and even help you get them welded should you want this.
>

Ok! Sounds good to me :)

So right now I in progress of checkout latest svn sources and compile
blender. (had problems with net)
Then first of I'll try to create test version of python/C interface. I've
not decided yet what names I'll use for it.
And finally will be trying to implement it looking in DerivedMesh.c,
I think that it's realy are a good example.

If or when I have a problem, I'll be glad to use your help :)
Many thanks for your kind cooperation!



On Tue, Nov 15, 2011 at 10:41 PM, Morten Mikkelsen <mikkelsen7 at gmail.com>wrote:

> I don't know anything about Python but if you can get hold of the dm
> (DerivedMesh)
> on the c side of things then I can show you how to get the correct normals
> and tangents
> and even help you get them welded should you want this.
>
>
>
>
> On Tue, Nov 15, 2011 at 10:43 AM, Eugene Minov <minov.eug at gmail.com>
> wrote:
>
> > Yes, I absolutely agree, hard faces obviously must be exported in the
> same
> > way how they seen in render.
> > I think they can welds along with tangents.
> >
> > On Tue, Nov 15, 2011 at 9:01 PM, Morten Mikkelsen <mikkelsen7 at gmail.com
> > >wrote:
> >
> > > There is no point in doing this unless you export the correct tangents
> > and
> > > normals. That is the ones
> > > that were used to bake the normal map.
> > >
> > > I realize it blows that there is no API function to get the render
> > normal.
> > > So what you have to do is produce it yourself
> > > like is done in
> > > DerivedMesh.c<
> > >
> >
> https://svn.blender.org/svnroot/bf-blender/trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
> > > >
> > > and
> > > many other places as well.
> > > An example in this file is the static function GetNormal() which is
> used
> > as
> > >  a call-back function by mikktspace.c
> > > and you can see how it uses the averaged normal if the face is set to
> > > smooth and it uses
> > > the face normal which it calculates itself if the face is set to flat.
> > >
> > > If you are going to make an api to export tangents I for one cannot
> > > emphasize enough
> > > that I prefer an all or nothing solution. Either do it right or don't
> do
> > it
> > > at all.
> > > The last thing we need is to introduce a new tangent space standard
> > within
> > > blender.
> > > Either export the correct basis that was used for baking (this includes
> > the
> > > normal)
> > > or don't try to do it at all.
> > > _______________________________________________
> > > Bf-committers mailing list
> > > Bf-committers at blender.org
> > > http://lists.blender.org/mailman/listinfo/bf-committers
> > >
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers
> >
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list