Re: [Algorithms] Sampling vs fitting values over vertices
Brought to you by:
vexxed72
|
From: pete d. <pb...@po...> - 2009-11-07 01:01:11
|
Without getting too OT and talking about D3D...! I was not referring to PRT per se but of the texture->vertex resampling method it provides: ID3DXPRTEngine::ResampleBuffer (which could do something smarter than filter the texture around the vert's uv). A smarter, probably ad-hoc method to generate samples and generate/fit per-vertex values is what I am after -- I can't afford the compute time to do a proper job sampling (needless to say our function is not analytic, is expensive to compute and is at times hard to analyze) or even fill out and then filter a chart where there is reasonable coverage. I'll rephrase my question a little.. Do folks who do something more clever than straight up point/supersampling to generate per-vertex data (like fitting based on error between interpolated and reference values or proper/ad-hoc sampling) get compellingly better results than those after the occasional touch up by an artist? Or do you just use what comes out of Maya/Max/whatever? Likewise with solving for and using gradients when you want to spend the memory and time (I've had mixed experiences with their cost/benefit at times so don't have a good guess if they'll be worth it). Apologies if this isn't algorithmy enough.. maybe we could analyze the structure of the matrix to solve based on connectivity of the mesh! :) >> gives compelling improvements, etc. Searching on the web/archive didn't >> really find too much (besides D3DX PRT methods that don't say how they >> work, and still require a texture thus an atlas/usable parameterization, >> which I don't really want to deal with). >> > > PRT solves an undersampling problem, but a different one; instead of > figuring out what the best lighting params are for a vertex to > accurately represent a face, it figures out what the best lighting > params are for representing the entire incoming radiance (cosine > convolved, optionally bounced/scattered) at the sample location. > > It can be done per vertex, in which case it doesn't need a UV mapping, > but then it can suffer artefacts from interpolation or unfortunate > sample locations again; hence it solves a related but different problem > and wouldn't solve your issue (other than smoothing things out perhaps > and thus being less vulnerable to it). > > Thanks! Pete |