[Bf-committers] help with tessface, CustomData and MTFace

Tom Edwards contact at steamreview.org
Sun Jan 5 21:36:39 CET 2014


Built your patch and realised that cdl isn't MTFace**, which is what the 
fix I suggested is for. This is what you actually need:

MTFace *mtface = &((MTFace *) cdl)[i];

The original code was creating a ref to CustomDataLayer*, indexing into 
it, and only casting to MTFace* as the last step. The structs are 
different sizes so things ended up out of alignment.

I had to fix a heap corruption bug to get that far BTW...full patch at 
<http://pastebin.com/RR4GPQJN>. :-)

On 05/01/2014 6:25 PM, Dalai Felinto wrote:
> Hi,
>
>> This should fix it:
>> &(cdl[1])
> Sorry, but where would that be? Because If I do:
> (1) MTFace *mtface = (MTFace *)&cdl[i];
>
> As it is now, or if I do:
> (2) MTFace *mtface = (MTFace *)&(cdl[i]);
>
> They all produce the same result
>
> I just committed (bc3d601 in the branch) a temporary printf code to
> illustrate better how I'm getting the values:
> https://github.com/dfelinto/blender-git/blob/bake-cycles/source/blender/render/intern/source/bake_new.c#L142
>
> It produces this output:
> face: 0
> vec[0]: 0.50, 1.00
> vec[1]: 0.00, 0.00
> vec[2]: 1.00, 0.00
> vec[3]: 0.00, 0.00
>
> face: 1
> vec[0]: 0.00, 0.00
> vec[1]: 0.50, 1.00
> vec[2]: 0.00, 0.00
> vec[3]: 0.00, 0.00
>
> face: 2
> vec[0]: 78719930099698347488497473945600.00, 0.00
> vec[1]: 0.00, 261866902067410370560.00
> vec[2]: 261048548756996227072.00, 2959217080378280902656.00
> vec[3]: 69779857993988661313536.00, 4668088091354259464912896.00
>
> Thanks,
> Dalai
> _______________________________________________
> 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