State of the Graphics Industry Rant

Well, here is a bit that applies to our conversation only:

demalion said:
Are we on the same page with rip maps having problems rendering textures not oriented orthogonally? I assume your "adequate handling of the 45-degree extremal case" is in relation to orientation around the Z axis (which wasn't my point) and not orientation of the texture to the viewer (what I had in mind, or is my understanding of the problem with rip-mapping inaccurate?).

you assume wrong. i addressed exactly the u/v-to-viewplane angle problem of ripmapping. i think the real problem here is your understanging of the technique is limited to what yopu read on the net.

If you'd said u/v-to-viewplane angle problem, you would have "addressed" it "exactly". What you said instead was generic terminology that inadaquetely conveyed your point. You didn't quote your own text, but I feel if you honestly read it again this will be pretty clear...if you really would dispute this, say so here and we can continue with this in private messages as I don't think the discussion would be productive for the thread.

That said, while not denying that my knowledge of the terminology is woefully limited (though the technique itself doesn't seem that complicated a concept), I offer you these observations:

When your communication is inadequete the assumption that "learning on the net" (or any other catch phrase) is the "real problem" is counterproductive, whereas recognizing where your communication is inadequate is not.

We all are capable of communicating inadequetely.

Following from this...

Perhaps it would be a good practice not to use such assumptions to dismiss differing viewpoints.

And, specific to this particular catch phrase...

It seems a bit silly for Beyond3D to exist if learning about this "on the net" (ignoring whatever mathematical background I have, not gained "on the net", to be able to apply to this information) is something to use to dismiss a viewpoint.

And what makes this surreal to me...

We are discussing this on Beyond3D.
 
Sigh.

Darkblu said:

i never said the r200 was a bad product, did i?
i, for one, and i'm sure others too, would have rather seen the r200 having better aniso quality...
and at the end of the day yet i guess your choice would be towards the higher quality if you could affor it, no?

Why would he ask me any of those if he did understand my point of view.

Russ, SAYING you understand my point is not the same thing as having demonstrated it.
 
Well then, tell it to us several more times so we're sure to understand.

But first, why would customers wanting tradeoff's have anything to do with an algorithmical implementation being sub-optimal or not in a correctness sense?

Or does the tyranny of democracy exist even in mathematical theory?
 
RussSchultz said:
Well then, tell it to us several more times so we're sure to understand.

But first, why would customers wanting tradeoff's have anything to do with an algorithmical implementation being sub-optimal or not in a correctness sense?

Or does the tyranny of democracy exist even in mathematical theory?

If you agreed that it was an objective criteria for evaluation, it would have been more productive to address the points in the discussions arguing against that instead of attacking something else. :eek:
 
Russ,

Well then, tell it to us several more times so we're sure to understand.

Ironically, if YOU had demonstrated that you even read my previous post (that listed quite a few things that defined what would lead me to believe that my viewpoint was not understood), then you would have not have posted quotes from darkblu that stated "I understand" and "I agree", etc.

Beause if you did understand what I was saying, then you would have known that stating you understand, or agree or disagree, is not the same thing as demonstrating it.

Understand? ;)

So keep on posting questions and comments that demonstrate to me that you don't understand, and you'll keep on getting re-exaplanations and re-wording of stuff in hopes that at some time, you will deomnstrate it.
 
demalion said:
RussSchultz said:
Well then, tell it to us several more times so we're sure to understand.

But first, why would customers wanting tradeoff's have anything to do with an algorithmical implementation being sub-optimal or not in a correctness sense?

Or does the tyranny of democracy exist even in mathematical theory?

If you agreed that it was an objective criteria for evaluation, it would have been more productive to address the points in the discussions arguing against that instead of attacking something else. :eek:

I'm not sure what you're saying. I'm not the one suggesting that correctness is a matter of subjectivity.
 
RussSchultz said:
demalion said:
RussSchultz said:
Well then, tell it to us several more times so we're sure to understand.

But first, why would customers wanting tradeoff's have anything to do with an algorithmical implementation being sub-optimal or not in a correctness sense?

Or does the tyranny of democracy exist even in mathematical theory?

If you agreed that it was an objective criteria for evaluation, it would have been more productive to address the points in the discussions arguing against that instead of attacking something else. :eek:

I'm not sure what you're saying. I'm not the one suggesting that correctness is a matter of subjectivity.

Well, we're talking about "anisotropic filtering correctness" in specific, not "correctness" in general. Your phrasing here seems to try to substitute general term without parameters for a specific term with parameters already being discussed, and therefore bypass said discussion of those parameters.

With that clarification, is it clearer what I mean when I say it would be productive for you to address the points relating to that, in mine and Joe's posts, where that issue is discussed, if that is your point of contention, and if so it would have been more productive to do that in the first place instead of attacking something else?
 
I'm sorry, I must be dense, I still don't get your drift.

To clarify: are you stating that there is no obtainable objective criteria for the evaluation of correctness of an anisotropic filtering implementation? Or are you saying that the 8500 implementation actually meets that objective criteria, and this discussion is determining what that objective criteria is?
 
RussSchultz said:
I'm sorry, I must be dense, I still don't get your drift.

To clarify: are you stating that there is no obtainable objective criteria for the evaluation of correctness of an anisotropic filtering implementation? Or are you saying that the 8500 implementation actually meets that objective criteria, and this discussion is determining what that objective criteria is?

I'm saying that specifying this would be a repetition of what I've already said. Since avoiding that has resulted in more unnecessary text than I'd hoped to avert, I'll reverse my stance a little. :LOL:

If you look back, I've stated that as far as I understand, looking at what could be described as an objective definition of anisotropic filtering, the 8500 does meet it (and I'd argue rip mapping does as well, though that isn't the matter at hand). I feel Joe's statements support this view.
I've also said that in the fashion to which darkblu states that it doesn't, he (gender assumed for convenience and habit) is substituting subjective evaluations of criteria not specified in that objective definition. I also feel Joe's view of this coincides with mine.
Finally, I've recommended that to further defend his point, that he provide a different example than the one I provided (the definitions linked in the Beyond3D Glossary). Implicit in my presentation of my understanding and the source of the "objective definition" I propose is that he could alternately use that definition to illustrate how my understanding is incorrect and it does indeed specify that the 8500's method is invalid. He has failed to illustrate that, though he has flat out said that I'm wrong, and that this latter instead of the former is circular so I'm leaving it to Joe to discuss with him for a while.

From there, perhaps my comments to you are clearer.
 
But, its pretty demonstrable that the algorithm fails to anisotropically filter off-axis textures. (As does ripmapping)

Wouldn't this suggest it was, indeed, not a completely correct solution?
 
RussSchultz said:
But, its pretty demonstrable that the algorithm fails to anisotropically filter off-axis textures. (As does ripmapping)

Wouldn't this suggest it was, indeed, not a completely correct solution?

Where is the definition of "completely correct"?

We're getting into a circular discussion here. My wordiness in that post is not because I like to type, but to try and avoid a situation like this where I have to ask that question of a reply. What am I doing wrong in the last 3 paragraphs, especially the very last one, that I still have to?
 
Let me try....

But, its pretty demonstrable that the algorithm fails to anisotropically filter off-axis textures. (As does ripmapping)

Actually, it's demonstratable that the algorithm fails to anisotropically filter only in the sinlge case of "exactly" 45 degrees, as does ripmapping.

In other words, there is "some" degree of anisotropic filtering in all cases other than exactly 45 degrees. Since every case exept that approaching exactly 45 degrees contains some degree of aniso, I would characterize that, as "correct."

But to the point: I think if we introducr another term, we can end this: the difference is between "quality" and "correctness".

No one would argue that Radeon 8500's method is lower quality. However, that does not mean it is not "correct." To me, your saying "completely correct" illustrates to me you really mean "higher quality."

I would argue that relatively speaking to other algorithms or greater precision calcs, GeForce's implementation is not "completely correct" either. (That GeForce's implementation is not the limit on quality.)
 
The general definition is that it takes more samples in one direction than the other to approximate the coverage mask of the projected pixel onto the texture.

Again, it is demonstrable that it in fact does not do this when the texture is rotated.

Which would mean, to me, if it cannot meet the definition of anisotropic filtering in that case, then it must not be a completely correct solution.

If I'm operating from a flawed criteria, please pose an alternative that we might agree upon.
 
An implementation of an algorithm that fails to produce the desired results with a given test vector is not a correct implementation.

If y=x+5 fails to produce 11 when x is 6, then the implementation is not correct, regardless.

I will agree there are degrees of failure, particularly in this case where you're implementing an algorithm that is an approximation of an approximation to begin with.

That being said, I don't think that matters in this case, as the implementation apparently completely breaks down and does do its job(which would be anisotropic filtering) in the case in question.

If you're willing to waive proper anisotropic filtering at off axis textures as a requirement to correctness, then I think we're just going to have to differ in our opinions and leave it at that.
 
RussSchultz said:
The general definition is that it takes more samples in one direction than the other to approximate the coverage mask of the projected pixel onto the texture.

That's the non-contextual definition, and then the reason we do it, and I'll address why I make that distinction later.

Again, it is demonstrable that it in fact does not do this when the texture is rotated.

So?

pause here please...

The brevity and abruptness of that reply is a part of my attempt to communicate, because your thought seems to be stuck in a seamless path from one point to another and I don't think the line is really unbroken.

To more properly say what I mean: Why is this observation about the 45 degree case significant? You imply something about the definition says it is, and I don't see it. Addressing this would go a long way to actually moving forward...the materials to support such an address have been provided.

Which would mean, to me, if it cannot meet the definition of anisotropic filtering in that case, then it must not be a completely correct solution.

Here is why I brought up the distinction between the "non-contextual definition" and "what is trying to be achieved" (Joe's comment about infinite accuracy is somewhat related I believe). I'm saying that you are using "what we are trying to achieve" as an absolute part of the criteria for evaluating correctness, and it is not, and here is why:

I'm stating, again repeating what I've mentioned before, is that all these methods are approximations of "what we are trying to achieve", and that my reading of the definition allows for the 8500's 45 degree limitation, as well as using "1x" (whatever it means) instead of "16x" or "8x" (whatever that means). Can you illustrate how one is a valid approximation and the other is not by using some objective factors?

In other words, if "what it is trying to achieve" can be applied as an absolute, then how can 1x and 8x, with ambiguous definitions of what they are, be "correct" implementations of anisotropic filtering?

If I'm operating from a flawed criteria, please pose an alternative that we might agree upon.

It is more that I don't see how it is valid (as an objective criteria, not a subjective evaluation of the criteria). Part of the problem, in my view, is you aren't addressing what has been said...my suggestions to you were based on the idea that you could be more effective by tackling prior statements and saying why they are incorrect in your view...I thought it would be more brief than what we've done here instead. :-?
 
RussSchultz said:
An implementation of an algorithm that fails to produce the desired results with a given test vector is not a correct implementation.

If y=x+5 fails to produce 11 when x is 6, then the implementation is not correct, regardless.

How about y = x/a+5? The definition doesn't mention a, or how y is supposed to respond to it. Witness that 1x aniso can't even guarantee the level of "correctness" you propose, nor does the "definition", to which you've yet to propose an alternative or illustrate an alternative interpretation, state that such a level of "correctness" is needed. If you can't address this point, I guess we will just have to stop here, though I wouldn't term it as agreeing to disagree but disagreeing to discuss the issue.

EDIT: Perhaps "1x" wasn't a good example (because I'm not sure what it means on all cards). Feel free to subsitute "2x" ;)
 
You're obviously making a very subtle point, which I'm only guessing at because I had to read it over and over and over and am still scratching my head a little bit. If you're getting at the ambiguity of parameters negates the ability to test for correctness, I think there's a flaw in that argument.

Whether or not there is ambiguity in our understanding of what 1x, or 8x means, that ambiguity is obviously resolved by the time the algorithm is implemented. 1x should produce a particular output, 2x a different output, 4x and 8x. The degree of anisotropy should specify the bounds of the relative shape of the ellipse (i.e. up to 8x) If theoretically 8x SHOULD give a particular shape to the samples, and it doesn't, then whatever is doing the approximation is incorrect.

If you're doing something for a purpose, and it fails that purpose in particular cases, you obviously aren't doing something correctly. Either your implementation of the algorithm is broken, or your algorithm does not fully address the problem.

I'm sure I've missed your point again, which will probably irritate you, but I don't see how we could avoid extending your argument to say bilinear when requesting trilinear to be correct, or stippling for alpha blend also be correct, since it is all just another approximation.
 
RussSchultz said:
You're obviously making a very subtle point, which I'm only guessing at because I had to read it over and over and over and am still scratching my head a little bit. If you're getting at the ambiguity of parameters negates the ability to test for correctness, I think there's a flaw in that argument.

That is ignoring a point I've made, so I'll try again.

Whether or not there is ambiguity in our understanding of what 1x, or 8x means, that ambiguity is obviously resolved by the time the algorithm is implemented.

This phrase doesn't make sense to me, and I'm presuming at this point that it is because I disagree with the rest of the paragraph and not that it is meant to stand alone and understanding that way is required to fully understand your point.

1x should produce a particular output, 2x a different output, 4x and 8x. The degree of anisotropy should specify the bounds of the relative shape of the ellipse (i.e. up to 8x) If theoretically 8x SHOULD give a particular shape to the samples, and it doesn't, then whatever is doing the approximation is incorrect.

I understand that is your understanding of anisotropic filtering, my disagreement is that there is any objective justification that your expectation is exclusively the "completely correct" way. This sentence can be treated as the whole of my reply for brevity, and simply providing indication that is incorrect with support would move us forward.

The justifications presented for disqualifying the 8500 method so far seem to logically apply to any level of filtering that is below optimal. For example, ATi doesn't have a "1x" anisotropic filtering (not on the 9700 either I believe) for its cards, because its notation differs in meaning to nVidia's. To me, this is a natural result of the meaning of this parameter not being defined as part of the definition of anisotropic filtering. By your argument, this would disqualify the 9700 as well because its "2x" does not match the output you would specify for "2x".

To me, this expectation is your subjective interpretation of the "proper" way to do anisotropic filtering. One way to move forward, as I've tried to state before, is for you to begin to provide substantion that it is the objective and exclusively correct expectation, or illustrate it using the discussion in the Beyond3D glossary. Providing an expectation that can be tested objectively, as you have done, is not the same thing as proving that expectation is the only correct "anisotropic filtering approximation algorithm".

If you're doing something for a purpose, and it fails that purpose in particular cases, you obviously aren't doing something correctly. Either your implementation of the algorithm is broken, or your algorithm does not fully address the problem.

Do you remember my text about separating the "non-contextual definition" and the "goal" of this filtering method. Your statement here imposes limitations on fulfilling the "goal" that I don't see stated, and that is what would be required to state that something that doesn't meet this expectation is not "correct" (atleast outside of your own, subjective, consideration). Perhaps it would be simpler, and more productive since we are spinning our wheels, if we addressed whether just using the "non-contextual definition" I quoted results in something that can be called anisotropic filtering, but I didn't want to short circuit the definition in the Glossary, as that discussion wouldn't teach me much. :LOL:

I'm sure I've missed your point again, which will probably irritate you, but I don't see how we could avoid extending your argument to say bilinear when requesting trilinear to be correct, or stippling for alpha blend also be correct, since it is all just another approximation.

Are there differing degrees of bilinear or trilinear filtering? How about alpha blend? The fact that the definition of anisotropic filtering allows degrees of approximation makes it seem pretty clearly different to me.
 
Russ,

It's probably easier to convey demalion's point by forgettng about aniso for a moment, and looking at AA.

On the control panels for Voodoo5, Radeon 8500, GeForce4 Ti, and Matrox Parhelia are options for "Antialiasing". They are all generally referred to as "Full Scene" AA solutions.

They also have settings for "2x, 4x, or 16x", etc.

The methods each one of them employs is different. In fact, some work only on "edges" and don't antialias all pixels within the scene. Others work on textures within polygons as well.

Because the "multisampling" and "fragment" implementations of AA GeForce and Parhelia respectively do not antialias every pixel in every case for a given scene, it would seem that they do not live up to your criteria of being "correct" antialiasing solutions.

I consider them all "correct". Just different, each with its own set of performance / quailty trade-offs. Same as the anisotropic solutions with GeForce and Radeon 8500.
 
Back
Top