View Full Version : Jim Blinn's Corner
Anyone got the Jim Blinn's Corner: A Trip down the Graphics Pipeline book? I was just wondering what he talks about in the Backface Culling Snags chapter. Thanks.
Nils Pipenbrinck
10-24-2006, 01:45 PM
I haven't read that book, but I had a lot of fun reading his rants about classification of bezier curves. That answered a couple of questions I still wondered about (sign of the sylvester matrix determiant anyone?)
Overall: For those who appreciate his kind of stuff his wrirings are almost a must read.
I'm considering to buy the book(s), but I've been dissapointed several times before by other authors. Sometimes it's just not worth the money. I'm afraid that more than half of Blinn's topics are outdated.
Anyway, what I'm trying to solve (theoretically) is to determine backface culling before any vertices are processed. Even for the fixed-function pipeline it is non-trivial. Transforming the camera to object space is likely the fastest approach but then it's necessary to determine whether a 4x4 homogeneous matrix inverts the 'handedness'.
For the programmable pipeline I'm theorizing about the geometry's topology. For example a tetrahedron can never have more than three sides visible even when the transformation is non-linear. But this reasoning doesn't extend well to generic meshes.
.oisyn
10-25-2006, 01:53 AM
(sign of the sylvester matrix determiant anyone?)
Cool there is a matrix with my name on it :lol:
Nils Pipenbrinck
10-25-2006, 02:35 AM
Cool there is a matrix with my name on it :lol:
Yes, and it's a super nice math-tool. They can be used to find out if two polynoms (of possible different degree) share root or not. All you need to do is to setup the sylvester matrix for them and calculate the determinant. If it's zero they have a common root. Much faster than finding the roots directly.
This came handy when I tried to find out if a bezier has a cusp or not. It's also nice if you want to intersect beziers with other curves or lines.
Skavenger
10-25-2006, 03:35 AM
I wonder if there is a "Tweety Pie Matrix" too?
:whistle:
SigKILL
10-25-2006, 11:26 AM
I'm considering to buy the book(s), but I've been dissapointed several times before by other authors. Sometimes it's just not worth the money. I'm afraid that more than half of Blinn's topics are outdated.
This book is worth the money IMO. It is a nice read, even though some of it is handled by common graphics apis and might seem a bit 'dated'.
Anyway, what I'm trying to solve (theoretically) is to determine backface culling before any vertices are processed. Even for the fixed-function pipeline it is non-trivial. Transforming the camera to object space is likely the fastest approach but then it's necessary to determine whether a 4x4 homogeneous matrix inverts the 'handedness'.
The two ways of determining face testing he discuss, are 'eye space' culling (which is dot'ing the normal), and screen space (which is calculating the area). Obviously, he states that this is exactly the same thing (which is correct since the area of a triangle is one half the z component of the normal, and in screen space the eye-vector is (0,0,1) ). His snags is about faces having the wrong direction/ordering. So, there are no solutions to your problem in this article except the obvious one (i.e. calculate the normal and do a dot).
For the programmable pipeline I'm theorizing about the geometry's topology. For example a tetrahedron can never have more than three sides visible even when the transformation is non-linear. But this reasoning doesn't extend well to generic meshes.
I have no problem making a non-linear transformation where every side of the terahedron is visible (think if you look into the concave part of a spoon)...
You can buy this article from the publisher, but at $19.00 it is probably cheaper to buy the book...
This book is worth the money IMO. It is a nice read, even though some of it is handled by common graphics apis and might seem a bit 'dated'.
The two ways of determining face testing he discuss, are 'eye space' culling (which is dot'ing the normal), and screen space (which is calculating the area). Obviously, he states that this is exactly the same thing (which is correct since the area of a triangle is one half the z component of the normal, and in screen space the eye-vector is (0,0,1) ). His snags is about faces having the wrong direction/ordering. So, there are no solutions to your problem in this article except the obvious one (i.e. calculate the normal and do a dot).
Thanks for the information. In that case the book(s) won't learn me anything significantly new.
I have no problem making a non-linear transformation where every side of the terahedron is visible (think if you look into the concave part of a spoon)...
Could you illustrate this for me? With non-linear I meant that the vertices undergo an arbitrary transformation (instead of a matrix transform), not that the whole object is 'warped' into some non-linear space...
vBulletin, Copyright ©2000-2010, Jelsoft Enterprises Ltd.