On Sat, 29 Oct 2005 16:42:06 +0200
Rory Yorke <[EMAIL PROTECTED]> wrote:

> Dear soya-users,
> 
> I think I've found the bug and a fix; it's in face.pyx. In some cases
> the normal is set, but not restored. I've used the glPushAttrib() /
> glPopAttrib() pair to save and then restore the state. My OpenGL
> knowledge is extremely limited, and I don't know if this is the
> correct approach.

I don't think this patch is the right solution...

The normal doesn't have to be restored, since Soya doesn't consider a default 
value for it.

The "Dark line bug" problem is elsewhere : it is not possible to compute a 
normal for a line, of course. As a consequence, lines are not lit correctly...

A partial solution is to remove light on line (with  face.lit = 0 ).

A "perfect" solution is probably to use  Vector(renderer.current_camera, 0.0, 
0.0, 1.0)  as a normal if self._normal is None. Can you try it ? I'm short in 
time to try it myself, sorry :-/

Jiba

Reply via email to