[Mesa-users] lighting problem with mesa software rendering
Wendt, Lars Henning
lars.henning.wendt at gris.tu-darmstadt.de
Thu Jul 26 01:01:16 PDT 2012
Yes, this would work for us too.
Thanks!
Lars
-----Original Message-----
From: mesa-users-bounces+lhwendt=igd.fhg.de at lists.freedesktop.org [mailto:mesa-users-bounces+lhwendt=igd.fhg.de at lists.freedesktop.org] On Behalf Of Brian Paul
Sent: Mittwoch, 25. Juli 2012 15:31
To: Wendt, Lars Henning
Cc: mesa-users at lists.freedesktop.org
Subject: Re: [Mesa-users] lighting problem with mesa software rendering
Yes, I thought of that last night too.
How about this:
if (FABSF(det) < 1e-25)
return GL_FALSE;
-Brian
On 07/25/2012 01:16 AM, Wendt, Lars Henning wrote:
> Hi Brian,
>
> I've stumbled over an issue with your patch.
> The check will now fail if det is negative.
>
> Best
> Lars
>
>
> -----Original Message-----
> From: Brian Paul [mailto:brianp at vmware.com]
> Sent: Dienstag, 24. Juli 2012 19:05
> To: Wendt, Lars Henning
> Cc: mesa-users at lists.freedesktop.org
> Subject: Re: [Mesa-users] lighting problem with mesa software rendering
>
> OK, great. I'll post a patch for review. I should go into 8.0.5 and
> 8.1 when they're released.
>
> -Brian
>
> On 07/24/2012 11:01 AM, Wendt, Lars Henning wrote:
>> Hi Brian,
>>
>> Thank you for your fast solution.
>>
>> It seems to work in our complex configuration too.
>>
>> best
>> Lars
>>
>> -----Original Message-----
>> From: Brian Paul [mailto:brianp at vmware.com]
>> Sent: Dienstag, 24. Juli 2012 17:41
>> To: Wendt, Lars Henning
>> Cc: mesa-users at lists.freedesktop.org
>> Subject: Re: [Mesa-users] lighting problem with mesa software rendering
>>
>> On 07/24/2012 07:56 AM, Wendt, Lars Henning wrote:
>>> Hi all,
>>>
>>> I'm using mesa as software renderer and I get some strange lighting effects.
>>> In some cases it looks like the source of light is relative to the model while it should be relative to the camera.
>>> Attached you'll find some apitraces to reproduce the error.
>>>
>>> The problem was reproduced with the following versions of mesa:
>>> 6.5.1 linux
>>> 7.8.2 windows/linux
>>> 8.0 windows
>>>
>>> It seems to me that it could be a numeric problem.
>>> As you will see the modelview matrix contains rather small numbers.
>>> Nonetheless other implementation doesn't have this problem or can cope with it.
>>>
>>> Does anybody have an idea what is wrong? Is it a bug? Is there any chance the behavior will be improved in future mesa versions? Or did I get something wrong?
>>
>> I think I see the problem.
>>
>> In src/mesa/math/m_matrix.c near line 518 we have:
>>
>> if (det*det< 1e-25)
>> return GL_FALSE;
>>
>> det = 1.0F / det;
>>
>>
>> The det (determinant) value is very small here and by returning false we're giving up on computing the inverse of the combined modelview * projection matrix.
>>
>> That check code dates back to 2000 or earlier. I'd guess it was a check to avoid floating point divide by zero. But I'm not sure why the square of det is used.
>>
>> I changed the check to read "if (det< 1e-25)" and it seems to fix the problem. Can you try that too and see what happens?
>>
>> -Brian
>
_______________________________________________
mesa-users mailing list
mesa-users at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-users
More information about the mesa-users
mailing list