RE: [Algorithms] Terrain performance comparisons
Brought to you by:
vexxed72
From: Tom F. <tom...@bl...> - 2003-07-30 07:41:23
|
Ah, gotcha. Yes, you and Charles have a good point that when you simplify shaders you can also merge previously different shaders into one. Which decreases the setup time and increases your batching and enables more LOD than you could have had otherwise. There's still annoyingly hard limits on how much you can use batching to improve speed - you still have to get those diffuse textures and orientations and bone matrices to the hardware somehow. But at least you can render the whole person with one shader rather than the 20 you would use up-close. Very true. I'll be over here eating my humble pie. TomF. > -----Original Message----- > From: gda...@li... > [mailto:gda...@li...] On > Behalf Of Jonathan Blow > Sent: 30 July 2003 08:00 > To: gda...@li... > Subject: Re: [Algorithms] Terrain performance comparisons > > > Tom Forsyth wrote: > > > Shader LOD is less compelling to me than geometry LOD. If you have > > pretty much any sort of LOD - even static levels - then > you're going to > > be drawing (very) roughly constant-area triangles. So your > > vertex-processing load per pixel is roughly constant. And > obviously your > > pixel load per pixel is constant (excepting overdraw, which > you can't do > > much about using LOD - you need occlusion algos, which is > orthogonal to > > the problem). > > I think we are thinking about shader LOD for different reasons! > > It sounds to me like you're saying, the purpose of shader LOD > is to make > far-away pixels cheaper to draw, and that's not really so > important in the > grand scheme of things. (Correct me if I am misunderstanding you). > > That is not at all why I think shader LOD is important. > > The phenomenon I am worried about is that if you don't merge shaders, > then there is an artificial limiter on how much you can LOD > your geometry, > because you can't merge triangles that use different shaders. > So what you > end up with is, past a certain distance, a lot of small batches of > triangles that just won't reduce any further. Your LOD is prevented > from operating. And it's really slow to submit all those > batches to the > hardware, due to all the context switching. > > I am not worried about the amount of time it takes to > actually render a > single pixel (which is why I was dreaming about a world in > which we use > one shader for everything, and just data-drive its parameters). > > -Jonathan. |