Jump to content

Leaderboard


Popular Content

Showing most liked content on 03/23/2020 in all areas

  1. 3 points
    I'm happy to announce that I've teamed up with SideFX to release a new free course! - Shading Theory with Karma. These videos are designed to teach you the fundamental ideas behind shading/texturing while utilizing the principled shader, karma, and my dear friend - Shaderbot. Visit CG Forge to download shaderbot along with access to the videos for free. https://www.cgforge.com/course?courseid=shadingtheory Have a nice day,
  2. 2 points
    fin case you mean VEX for loop, here is one: float default = 0.0; for (int i=0; i<10; i++){ string name = "attrib" + itoa(i); addpointattrib(0, name, default); } of course you can directly use setpointattrib() which will create one if doesnt exist as well as sets values, but really depends on what you are trying to do
  3. 1 point
    Ah right I didn't know you could do that, nice thanks for the help mate! There does seem to be a few ways to do it out there but I've not found a simple one yet this'll do for now & I'll look into it more. Thanks again mate.
  4. 1 point
    The RAT file format specifies that all color values stored in it are in linear space, so rendering to them will write the values as-is (no sRGB conversion). Rendering to a PNG, on the other hand, will convert the rendered linear color values to sRGB because it's a sRGB format. If you're writing a normal map to PNG, you do not want any colorspace conversion to take place on export or import - the value should be stored linearly (otherwise normal values are unevenly distributed across[-1,1]). So if you are reading the RAT into COPs, extracting the normals into a separate plane and writing them to PNG, disable the "Convert to Image Format's Colorspace" toggle in the Composite tab of the Composite ROP. This will write the linear values into the PNG as-is, without sRGB encoding.
  5. 1 point
    Well, no. The wrangle loops over all input points, and @ptnum will return the point number of the current point. So when it runs the code over the first point, @ptnum will return 0 - over the second point, 1 - over the third point, 2, etc. Up to 29 since we got 30 points that have point numbers 0-29. We established before that it will only loop over the input points, not new ones created in the wrangle. So if we use @ptnum when trying to set an attribute for a new point, it will return 0 because we are not currently looping over a point (essentially). So for all new points @ptnum will always return 0 and @numpt will return 30 (number of input points). We can see this because with your original code we actually get 31 points in the basePoints group - thats because @ptnum+@numpt is currently 0+30 - so point number 30 will be added which happens to be the first new point. But for all the other new points, it will still evaluate to 0+30 so none of those will be added. I'm not exactly sure of the specifics, but I'd imagine it first runs the code, then creates geometry, and then creates attributes. Or if it creates attributes on new geometry at the same time it is created. Something like that
  6. 1 point
    sure, name as example, I've left the name node in there but same as creating an attribute name. vu_namefromiter.hiplc
  7. 1 point
    Two more renders: same rocks, different layout and lighting/shading. Almost ready to release Rock Pack 01
  8. 1 point
    If you drop down a popgrains node in line with you other particle nodes, you can gain a small measure of particle separation. This can get you a few more frames before the particle finally overlap and produce intersecting geometry.
  9. 1 point
    My go: Uses SOP solver to add time, deletes based on new age. Although recommend Fencer's version. trails.hiplc
  10. 1 point
×