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.
Jim Blinn's Corner
Started by Nick, Oct 24 2006 06:25 PM
7 replies to this topic
#1
Posted 24 October 2006 - 06:25 PM
#2
Posted 24 October 2006 - 08: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.
Overall: For those who appreciate his kind of stuff his wrirings are almost a must read.
#3
Posted 25 October 2006 - 08:30 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.
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.
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.
#4
Posted 25 October 2006 - 08:53 AM
Nils Pipenbrinck said:
(sign of the sylvester matrix determiant anyone?)
C++ addict
-
Currently working on: the 3D engine for Tomb Raider.
-
Currently working on: the 3D engine for Tomb Raider.
#5
Posted 25 October 2006 - 09:35 AM
.oisyn said:
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.
#6
Posted 25 October 2006 - 10:35 AM
I wonder if there is a "Tweety Pie Matrix" too?
:whistle:
:whistle:
#7
Posted 25 October 2006 - 06:26 PM
Nick said:
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'.
Nick said:
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).
Nick said:
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...
#8
Posted 27 October 2006 - 05:01 PM
SigKILL said:
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).
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).
Quote
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)...
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users












