Per pixel lighting

Originally posted by Humus:
I understood it was a joke, but it had the tone of the overall attitude I see coming more and more from nVidia these days. nVidias attitude has most definitely changed. The care for the customers is gone. (Riddle: If ATi and nVidia were to define the getCustomerSupport(char *problem) function, how would they differ?
A: nVidias would return void.)
I see nVidida walking the same way as M$ and Intel, and it’s really sad. Sure, the underdog stuff is also a part of the equation. But in the end, ATi is the bigger company and have been so for a long time, but still they don’t have that attitude. 3dfx lost many customers because of their attitude. I think nVidia will do it too now, and especially their potential customners (the old 3dfx customers).

I also don’t understand this attitude.

First of all, we have no contact with direct retail customers, so I don’t see how it is even possible for us to somehow “stop caring” about them. The customers we support are all OEMs. I think a lot of people vastly underestimate the importance of the OEM channel, as opposed to the retail channel. Remember that over 90% of the graphics market is OEM.

3dfx’s problems had nothing to do with any attitude. They were far more fundamental. I think the history books are pretty clear on that.

You compare us to Microsoft and Intel. A lot of “techy” people hate Microsoft and Intel, for reasons that I think are ridiculous. It’s the whole “monopolist” thing, as far as I can tell; “they care about money more than they care about me!” In the real world, as opposed to the fantasy world that Judge Jackson lives in, however, all companies are striving to grow their market share and attain a monopoly. Unfortunately, our silly antitrust laws have made it OK to think that a privately attained monopoly or near-monopoly, which is a sign of an extraordinarily succesful company, is somehow a “bad” thing. I would love for NVIDIA to be just as successful as Microsoft and Intel. Today we’re not. Hopefully some day we will be.

You say we care less – but I haven’t seen a single concrete example. I, on the other hand, see it the other way around. The only way that our growth over the last few years can be explained is that we have cared more. Companies are successful for exactly one reason: they meet the needs of consumers better than their competitors do.

In the end, our level of support is certainly not measured by how much we hold customers’ hands. I would much rather you judge our level of support by the quality of products we put out. For example, I’ve implemented a lot of extensions in our OpenGL driver. Every one of those extensions, in my opinion, constitutes real, genuine support to developers.

Do you have a real complaint? If you do, I’d be happy to try to address it. That’s why I’m here. (I’ve found and fixed several driver bugs due to reports on this forum.)

If you don’t have a real complaint, well, then, I don’t see what the problem is.

  • Matt

I would say that it is an inevitable cycle. Very few things in this world start out standardized. Usually its that case that you dont know what requirements a standard needs to meet until at least a few people/companies have tried their hand at it. Its natural for several non-compatible proprietary formats to emerge initially, and as many people use them and begin to see the benefits and weaknesses of each one, a common ground eventaully emerges and a standard is formed.

There are ways to do per-pixel lighting without a GeForce. There is a DOT3 EXT extension supported on the Radeon:
http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_env_dot3.txt

You can also check out a sample using this extension as well as 3D textures to get a nice per-pixel falloff in the Radeon SDK sample:
http://www.ati.com/na/pages/resource_cen…otProduct3.html

dave

As far as level of support, nvidia’s support is mainly for developers and OEM. If they didnt provide quality support to OEMs, do you really think nvidia could have passed up ATI percentage-wise in the OEM market (and ATI has dominated the OEM market for many years).

As far as developer support, they seem to be the ones giving developers the new features. And I dare anyone to try and quantify the ammount of support from nvidia in these forums and compare it to the ammount of support from 3dfx, ATI, or Matrox. Im also on the official DirectX developer mailing list, and I can say it is the same situation there (hundreds upon hundreds of posts from nvidia, vs. 1 or 2 posts every now and then from ATI or 3dfx).

[b]
Today, in the consumer space, people have finished copying virtually all of the SGI features. What does that mean? New innovation requires moving in new directions. This means that new chips will be fundamentally incompatible with each other.

This is not optional – in fact, it is a prerequisite for innovation. If every company moved in the same direction, there would be no way for any one company to produce everything novel!
[/b]

i think it’s ok to make proprietary extensions, incompatible chipsets and whatever, as long as other companys CAN implement them, if they want to. you can implement SGI features. you should let other companys implement NV features.

[b]
The inevitable result of this inevitable trend is that there will be more and more proprietary extensions.

Furthermore, design cycles are long enough that companies can’t just “get together” and “agree” on a common feature set. Even if this does occur, the ARB is really not the best forum for it, for a number of reasons.
[/b]

as i said, i don’t care if the extension is called ARB_foobar or NV_foobar or ATI_foobar, as long as it’s supported by most highend, mainstream consumer boards. the companys producing those boards (or chipsets for them in your case) right now are you and ATI.
if the ARB is not the best forum, start a small group called something like “OpenGL for games” where NV, ATI, Matrox and perhaps VIA/S3 can standardize on SOME extensions, like npatches, pixel shaders, vertex programs (ie let them implement it, but you’ve already confirmed that you will let them do that) etc.
D3D 8 things that we all know your HW will support.


The choice is simple: you can either have proprietary extensions, or you can have no innovation. I think you’d rather have proprietary extensions.

or you can have proprietary extensions that are later implemented by multiple vendors.
D3D 8 has several things in it originating from different companys that you and everyone else will implement just to support D3D 8. something similar for OpenGL would be great.

i don’t think i made myself clear in the previous post… proprietary extensions aren’t really stupid (i take back what i said), but having more than one extension doing the same thing is.
like ATI_pixel_shader and NV_pixel_shader… you may not be able to “get toghether” and “agree” on a common feature set (even if that’s pretty much exactly what you seem to have done in D3D 8), but at least you can agree on how you should write the OpenGL extensions to expose features sets that already ARE common.

[This message has been edited by Siigron (edited 02-22-2001).]

DX is made by MS, so you can not get new feature until the new version come out. If you want something more than Dx8 can give, you must wait for the Dx9. And who knows when will Dx9 be released and will it support what you want? By proprietary extensions, we can get more and more good features from new HW and new drivers(this is one of reasons why I like OpenGL better than DX). If a new feature is that important, every company will try to implement it, and in the end, it will be made into a new version of OpenGL(1.4 or 1.5?) That is the correct way to make standards, not by a single “evil big” company

BTW: LordKronos, I would like to join the DirectX developer mailing list(It is always good to learn more), where should I go(on the internet)? and is it for everyone who want to join or must I be qualified ?

Originally posted by mcraighead:
[b] I also don’t understand this attitude.

First of all, we have no contact with direct retail customers, so I don’t see how it is even possible for us to somehow “stop caring” about them.
[/b]

This is the first problem, you take no responibility for any retail customers. Say the average nontechie joe buys a computer from compaq or whatever. He knows he have a GF2 MX for example. After a while when he maybe gets some problem with hes card the most obvious thing to do is to mail to nVidia. He don’t know his card is manufactured by ASUS or whoever. So what is nVidia doing? Nothing. Do the guy even get a reply? No. I have been active on many forums for quite a while and I have never ever heard about anyone who has got a reply from nVidia, even if the question is related to the chip itself, reference driver or anything else. On the other hand I’ve seen hundreds and hundreds of people complaining that nVidia don’t care about them.
At least a reply recommending the guy to talk to ASUS instead would be nice.

Originally posted by mcraighead:
3dfx’s problems had nothing to do with any attitude. They were far more fundamental. I think the history books are pretty clear on that.

I had problems with 3dfx attitude a while. Many other had too. Many went over to nVidia those days. Many today are going from nVidia to ATi these days for just about the same reason. It’s not the whole story, but it’s a part of the story why 3dfx went down.

Originally posted by mcraighead:
You compare us to Microsoft and Intel. A lot of “techy” people hate Microsoft and Intel, for reasons that I think are ridiculous. It’s the whole “monopolist” thing, as far as I can tell; “they care about money more than they care about me!” In the real world, as opposed to the fantasy world that Judge Jackson lives in, however, all companies are striving to grow their market share and attain a monopoly. Unfortunately, our silly antitrust laws have made it OK to think that a privately attained monopoly or near-monopoly, which is a sign of an extraordinarily succesful company, is somehow a “bad” thing. I would love for NVIDIA to be just as successful as Microsoft and Intel. Today we’re not. Hopefully some day we will be.

Sure all companies want to expand their market share, but the ways to do this can be more or less ethical. You should compete with competive products and competive price. If a company attains monopoly by doing so, I have no problems with it. I have no problems with Cisco owning the router market.
But if a company tries to force and lock you to their products, then voices could and should be raised against it. When M$ decided to first offer IE for free and later on integrate it into the OS it wasn’t decisions based on technological advantages, cost reductions or anything like that. It was a move to force the users to use their browser and force Netscape out of the market, which in turn would lead/force the user into using their technologies and all the stuff that would follow. That is unethical, and I really hope M$ has to pay for it when the court decides. Similar moves has come Intel. Design decision has been made with the only purpose to cause incompatibilty with AMD cpu’s to force the users to stay with Intel.
Oki, I’m not saying nVidia has done such things yet, but I see the first small setps in a direction that would possibly end there is taken. When a company starts growing their market share, then when big parts of the market is theirs they start to change attitude, and then starts to lock OpenGL extensions with IP stuff to prevent other vendors from implementing them, well then I see it as a bad sign, which may or may not evolve to something worse.

Originally posted by mcraighead:
[b]You say we care less – but I haven’t seen a single concrete example. I, on the other hand, see it the other way around. The only way that our growth over the last few years can be explained is that we have cared more. Companies are successful for exactly one reason: they meet the needs of consumers better than their competitors do.

In the end, our level of support is certainly not measured by how much we hold customers’ hands. I would much rather you judge our level of support by the quality of products we put out. For example, I’ve implemented a lot of extensions in our OpenGL driver. Every one of those extensions, in my opinion, constitutes real, genuine support to developers.

Do you have a real complaint? If you do, I’d be happy to try to address it. That’s why I’m here. (I’ve found and fixed several driver bugs due to reports on this forum.)

If you don’t have a real complaint, well, then, I don’t see what the problem is.

  • Matt[/b]

Well, concrete examples could be found in any gamers forums. I’ve seen numerous people who have been in contact with for example ATi and recieved help and support and later on passes their new knowledge on to other customers on the forums. But honestly, I’ve also seen examples of people who didn’t get replies from ATi either.
The reason nVidia have grown so much has been competive products (yeah, I saw that demo of doom3 engine on a GF3 a few hours ago and I’m impressed , even though the price wasn’t equally competive ). A great product will sell even if the customer support is poor, even though it could sell better with it.
When it comes to developer support I have no complaints though, rather I could rant equally long about ATi’s sucky driver development team and their stupidity of not getting that good drivers are equally important as good hardware, but I have no driver writer from ATi here to complain to . ATi could learn a lot from nVidia here.

In summary, well, I’m not as negative to nVidia as I may sound, I just felt for ranting a little . You see nVidia from the inside and I see nVidia from the outside, so you’re probably not seeing what I’m seeing and I expect you to deeply disagree with almsot everything I’ve said … but I could live with that

Originally posted by Humus:
Say the average nontechie joe buys a computer from compaq or whatever

For OEM parts, the OEMs are always the ones who provide support – and that’s true whether it’s us or any other vendor. Sometimes OEMs have customized boards, for example. If you have a problem with an NVIDIA board in a Compaq computer, or in a Dell, Gateway, HP, or anyone else, it is the OEM that you should be going to. In fact, if you have any problem with a Compaq computer, it is Compaq that you should be going to.

This is not really the place to debate antitrust issues, but if Microsoft or Intel want to take “monopolistic” or “uncompetitive” or even “unethical” actions, I am 100% in support of them. If Via clones Intel’s bus without a license, for example, and Intel then changes their CPUs to make them incompatible with Via chipsets, my response would be, “It’s Intel’s choice. If you don’t like it, don’t buy their product.” (I would support the full repeal of all antitrust laws; I think they’re a disaster.)

Don’t trust anything you read on a 3D hardware forum. I see so much garbage on most forums – all sorts of claims that are simply and blatantly outright false, both about us and about the products of many other companies. (Just today I saw someone claim that [paraphrased] “the GF3 looks a lot like a TNT2 that’s faster and with a few extra features bolted on!”. Ummm, yeah… and a Pentium IV is just a 8086 but faster, and with a few more features bolted on.)

We clearly state on our web site that we do not provide end-user support. If you buy a card at retail, you should go to the vendor you bought it from. This is simply our business model. We’ve decided that we should focus our attention on delivering good products and supporting our OEM customers. Maybe some day we will provide end-user support; maybe not. It all depends on what we think will allow us to deliver the best products and provide the best support.

If you buy an ASUS motherboard with an Intel chipset, do you go to Intel for support or ASUS? Clearly you go to ASUS first, and Intel only if ASUS can’t help you. No one complains that Intel should provide direct end-user support for their motherboards. (True, motherboards are different in many ways, but the basic idea is the same.)

  • Matt

Originally posted by mcraighead:
This is not really the place to debate antitrust issues, but if Microsoft or Intel want to take “monopolistic” or “uncompetitive” or even “unethical” actions, I am 100% in support of them. If Via clones Intel’s bus without a license, for example, and Intel then changes their CPUs to make them incompatible with Via chipsets, my response would be, “It’s Intel’s choice. If you don’t like it, don’t buy their product.” (I would support the full repeal of all antitrust laws; I think they’re a disaster.)

100% in support for unethical and uncompetive actions? Ok, then I at least know where I have you and it certainly seams that my fear about nVidia going the same way as Intel and M$ is somewhat grounded.

Originally posted by mcraighead:
[b]If you buy an ASUS motherboard with an Intel chipset, do you go to Intel for support or ASUS? Clearly you go to ASUS first, and Intel only if ASUS can’t help you. No one complains that Intel should provide direct end-user support for their motherboards. (True, motherboards are different in many ways, but the basic idea is the same.)

  • Matt[/b]

Sure, I’d go to Asus first, but I’d need to go to Intel to get new chipset drivers. And I’d expect support from Intel if the I had problems with them. The same would go for reference drivers from nVidia.

mcraighead = nVidia?

Are Matt’s views necessarily those of NV? I don’t think it’s really fair to attack NV on the basis of one engineer’s opinions. I’m sure not everyone at NV share Matt’s views.

And I don’t see how NV is moving towards being some evil corporation, doing unethical things to sell a product that really sells itself based on its own merits. They’re not the underdog anymore, but they’re also not stagnating or cheating to stay on top.

Damn, and I thought I was going to learn something about per-pixel lighting.

The thread should change to per-pixel bashing.

No, my views definitely do not represent those of everyone at NVIDIA. They represent my personal political views, which are generally considered extremely “radical” in today’s political environment. (read Ayn Rand: “Capitalism: The Unknown Ideal” if you want to know more about how I feel about these things)

I do not claim that it is a correct decision to do something “unethical”. I merely claim that I will not go crying about it, simply because it violates someone’s code of “fair business practices” (which are in the eye of the beholder, of course). The correct decision, in my opinion, for any business is the decision that maximizes profits – other criteria are not relevant to running a business.

Can we agree to end this thread?

  • Matt

I’m sorry that I went in here and got completely off topic and destroyed this thread ranting about details in nv’s behaviour that’s annoying me … Sorry, my fault.
Sorry to you Matt for all my bashing and that I implied that your political views were nVidias. While I don’t share your political opinions it certainly doesn’t belong to this forum and has absolutely nothing to do with per pixel lighting. I hope we still can have interesting technical discussions without you seeing me as “that guy that always complaining about all and everything”.

Hey, wait, Humus? Don’t I know the name? Wasn’t that the one who kept always complaining about all and everything that Matt said?

even though i dont agree with a lot of matts views i think its great that he expresses his opinion, which in america i gather is a bit of a nono for fear of getting your ass sued by all and sundry.

I am in full agreement with Matt in that maximizing profits is the whole point. I do think it’s very dangerous, though, to forego ethics for a greater bottom line. …and you wonder why people call some of the larger ethically-challenged companies ‘evil’. Breeding cynicism is counter-productive to capitalism/democracy.

Wow has this thread gotten off track…

Funk.

in fact the extension GL_EXT_texture_env_dot3 does the live the most easy, cause its just easy to use… to do specular lighing you have to use the register combiners or much passes… not sure what the ati supports there …

(i always talk about per pixel bump mapped lighing, when you dont use bumps, means something like phongshading, its more easy (but then you dont have bumps )