Materials/colors on other display modes in viewport?

I am currently working with a lot of particles that are using a gradient ramp material to change colors. Everything works fairly well except the only way i can get the proper colors to display in view port is to render them as geo. As you can imagine rendering several million particles as geo gets very taxing on the gpu and makes the view port laggy.

Is there some way i can render the particles as pixels or sprites in the viewport but still retain the color from the gradient ramp mtl? The other display modes render much faster but they can only use the assigned colors.

If there is no way to do this currently, will it be added in the future? 

The reason for this limitation is due to the fact that instancing w/mapping overrides is broken in the 3ds Max SDK. I notified the max devs about this last year and they are aware of it, but for the foreseeable future it will be a limitation.

For small numbers of particles you could manually sample the colors from your mesh using a Script operator and then draw them as points using the provided drawing methods (I believe "DrawMarker" is the command, but you'll have to check the Script op API)....but it will be very slow for millions of points.
Ok, thanks for the reply. I suppose i can set up a delete operator to cull everything outside of a piece of geo. It would have to calculate it in the flow though, might be slow.

What about implementing a cull geometry shape you can assign in the display operator from a piece of scene geom? (square, sphere etc) Any particles/geom outside of the shape would be culled out. You would be able to move the shape around in the view port and get snapshots of the final thing without having to render all the verts. Would also keep you from having to recalculate the flow after you move the geo, everything is already there, just being culled after the fact.

Just a random idea. Smile


Forum Jump: