  | | | MObject from 'objectId ' ? | MObject from 'objectId ' ? 2003-11-26 - By Andrew Cammarano
Back Given that solution, I guess I should mention the other possible solution which would be to associate an identical copy of your shader with each dag object (or group of components when relevant), and adding a string attribute through which you pass the shape's dag path to your shader. Triangulating to create a hierarchical database and then searching it seems to consume processor cycles on a per sample basis (and assumes that objectId's are static (which they most likely are)) while duplicate shader networks increases memory consumption. On the other hand duplicating shader networks is a straightforward mel script, triangulating, storing, and optimizing the database seems less straightforward.
The Alias developer's I used to correspond with (when they were Alias|Wavefront developer's) were aware of this issue. I can't remember if the rationale for not adding hooks to the API was software related or human resources/management related. In fact the shader per shape workaround was suggested (reluctantly) by a rendering developer there. Reluctantly, because he could think of no better solution giving the problem.
-andrew
On Tue, 2003-11-25 at 16:15, Martin Leguizamon wrote: > Rob, > > > Basically you have to triangulize your whole scene > > and then store it into some format of your own, ordered > > in primitive id order. There is some code from an > > archive thread about this. Now when rendering you > > can look up the primitive id in each of your shape > > structures and can compare the vertex positions of > > the triangle being rendered with the vertex positions > > you have previously stored. Now if you have a match, > > you can associate the object id with the shape. > > Next time you get an object id which has already been > > found you obiously don't need to go through the search > > process again. > > Thanks for the tips. That is exactly what I implemented > months ago in my shaders. See: > > http://products.provide3d.com/polyData > http://products.provide3d.com/cpvData > > Seems that there is no other way to do it. > Is any Alias developer reading this mailing ? > > Martin > > -- > Martin Leguizamon > PROVIDE3D Developments > http://www.provide3d.com - contact@(protected) > +54 (341) 447-3389 > > > > -- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --- > List-help: <mailto:listar@(protected)?Subject=help> > List-archive: <http://www.highend3d.com/maya/devarchive/> > -- Andrew Cammarano 3D Department
LUMIQ STUDIOS
Lumiq SpA Corso Lombardia 194 10149 Torino tel.: +39 011 56.97.300 fax : +39 011 56.97.349 e-mail: andrew.cammarano@(protected) web: www.lumiq.com
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --- List-help: <mailto:listar@(protected)?Subject=help> List-archive: <http://www.highend3d.com/maya/devarchive/>
|
|
 |