in popnet there is a node render,it can render particles as spheres disks and so on.
but i can't find it's variable attribute, how can i render points like this,wish not with copy!
render points like particle
19445 8 2- luoqiulin
- Member
- 303 posts
- Joined: May 2007
- Offline
- Infernalspawn
- Member
- 229 posts
- Joined: May 2006
- Offline
- luoqiulin
- Member
- 303 posts
- Joined: May 2007
- Offline
- rdms
- Member
- 201 posts
- Joined: July 2005
- Offline
luoqiulin
oh thank you very much
but the problem is the render shape
my purpose is to render it as disks
maybe i must use instance
Not sure what you're looking for. Are you wanting to control the size of the disks? On the render node inside a popnet there is the prsize parameter to do this. Does this help?
Cheers,
Rob
Digital Supervisor | Stargate Studios Toronto
Rob
Digital Supervisor | Stargate Studios Toronto
- rdms
- Member
- 201 posts
- Joined: July 2005
- Offline
luoqiulin
oh thank you very much
but the problem is the render shape
my purpose is to render it as disks
maybe i must use instance
Not sure what you're looking for. Are you wanting to control the size of the disks? On the render node inside a popnet there is the prsize parameter to do this. Does this help?
Cheers,
Rob
Digital Supervisor | Stargate Studios Toronto
Rob
Digital Supervisor | Stargate Studios Toronto
- old_school
- Staff
- 2540 posts
- Joined: July 2005
- Offline
You have two options and Rob hit one of them.
1) Render as disks
2) Render as points in Mantra
1) Rendering as Disks. It comes down to using the Render POP to set the attribute to render as disks then the pscale attribute controls the size or you first use an Add SOP to turn the points in to a particle primitive and then use the Primitive SOP's Particle tab and set the render type to render as disks. Since the disks are real geoemtry in Mantra, they will need to be shaded like real geometry.
2) Render the geometry as points in Mantra. On the object, in the Render > Geometry tab, enable the option “Render As Points (Mantra)”. This will again use the pscale attribute to determine the size of the particles. Only a single shader call is made for each point making it a very efficient way to render.
Both options use pscale.
Both options use the vector oreint attribute to orient them along the vector instead of facing the camera by default.
Choose your poison.
1) Render as disks
2) Render as points in Mantra
1) Rendering as Disks. It comes down to using the Render POP to set the attribute to render as disks then the pscale attribute controls the size or you first use an Add SOP to turn the points in to a particle primitive and then use the Primitive SOP's Particle tab and set the render type to render as disks. Since the disks are real geoemtry in Mantra, they will need to be shaded like real geometry.
2) Render the geometry as points in Mantra. On the object, in the Render > Geometry tab, enable the option “Render As Points (Mantra)”. This will again use the pscale attribute to determine the size of the particles. Only a single shader call is made for each point making it a very efficient way to render.
Both options use pscale.
Both options use the vector oreint attribute to orient them along the vector instead of facing the camera by default.
Choose your poison.
There's at least one school like the old school!
- francoisd
- Member
- 137 posts
- Joined:
- Offline
I'm trying to find a way to get the uv on each disk to mimic a sprite procedural. Is it possible?
I've baked a huge set of animated points representing a snow animation. I'd like to place it many times as a delayed load but each shot have a need for a different point size. I was thinking about using the uv of the disk type to vary the size at render time.
Basically it would be a way to cheat the fact we cannot use Delayed Load AND Procedural Sprite at the same time.
Does it make sense?
I've baked a huge set of animated points representing a snow animation. I'd like to place it many times as a delayed load but each shot have a need for a different point size. I was thinking about using the uv of the disk type to vary the size at render time.
Basically it would be a way to cheat the fact we cannot use Delayed Load AND Procedural Sprite at the same time.
Does it make sense?
- Soothsayer
- Member
- 861 posts
- Joined: Oct. 2008
- Offline
- francoisd
- Member
- 137 posts
- Joined:
- Offline
The main reason why I don't want to use instance is efficiency but also I want the disk (my fake sprites) to always face the camera. Since the camera I will use will be different for each shot, that's not an option.
Regarding efficiency, the last time I did tests with instances it took forever because it writes “evaluating python” … My understanding is that for each point it has to write into the ifd a whole block of info containing the transformation matrix, the shader, custom attributes with their names in a string.
Whereas the procedural approach will always be faster because it's writing a big array of coordinate, then a big array of custom attributes etc.
In the end I will have around 5 millions of points.
Regarding efficiency, the last time I did tests with instances it took forever because it writes “evaluating python” … My understanding is that for each point it has to write into the ifd a whole block of info containing the transformation matrix, the shader, custom attributes with their names in a string.
Whereas the procedural approach will always be faster because it's writing a big array of coordinate, then a big array of custom attributes etc.
In the end I will have around 5 millions of points.
-
- Quick Links