More Comments & incorrect Fruit

Hello Everyone,

I made a raspberry (inspired by this:https://www.youtube.com/watch?v=NYIqDpnQrXI) in POPs.

It was an interesting and good experience. Along the way I made a tool (~5 lines of python) that always displays the ‘current’ (currently selected) POP as a DAT. I found this very helpful, but I guess something like this will come soon anyway (although the ‘always display what is selected’ idea seems inconsistent with TD’s flag system).

pops2.toe (31.0 KB)

The attached file contains:

  • The little POP inspector tool
  • The rapsberry + A couple of more little experiments that worked for me
  • Bugs/Questions/Problems

(I have no idea if the raspberry runs in real time on a normal computer. On my potato I have to manually render single frames by stepping forward in the timeline.)

Problems

Some of these “Problems” here might be my own problem though :slight_smile:

  • Extrude Pop: losing original geometry is intended? RFE: A way to properly connect to original. When naively merging a follow up subdivide POP will not act on the new corners. See /project1/extrusion_losing_original
  • Normalize POP: can’t normalize, wrong datatype. “This mode requires a float…”, see /project1/cantNorm. Would be important to tell the user what mode is meant. Also i didn’t find a way to convert to float. I assume I was sending in an int/unit.
  • couldnt find an easy way to assign a different color to copied instances using a ramp top. Found myself converting back and forth with TOPs see /project1/looking_for_a_simpler_way.

Bugs

  • Viewport/geometry viewer: activating points doesn’t highlight points (like in sops, so they become blue and easier to see). Normals also not displayed. I’m pretty sure you are aware of this though.
  • Grid: Leave in Triangle connectivity(!). Switch to YZ or ZX plane. Grid disappears. See /project1/grid

POP viewer

  • I find it a bit inconvenient that if I have a geometry viewer open to work on something, the POP viewer also shows up. Maybe I have multiple of those to check some attributes etc. Also it seems it adds some distant point messing up the viewport’s homing.

OK I think I am able to answer my own question here. Leaving an example file attached with a simplified version of the problem, for others as well. I have read in the Ray POP thread about the possibility to cast uints to floats using the >> thingy. Using that I was able to normalize and discovering the Lookup texture POP I was able to simplify. .

Still I think something like a “utility POP” that has a nice menu, shows us datatypes, lets us convert datatypes and swizzle would be maybe good/would add ease.

easier.toe (4.8 KB)

Thanks for the sample @hrtlacek. Interesting tool. The raspberry runs in real time on my setup.

The original geometry is pushed forward. This works well for closed meshes. We could add an option to duplicate the geometry.

Display options are not working yet for POPs, but you can view points by hitting ‘D’ while the viewer is active.

Yep, that’s a bug. We will look into this.

Turned out that this is not a bug. Since Column, Row and Slice are mapped to X/Y/Z, the number of slices has to be increased to see a mesh. We’ll add a warning.

Oh I see! Will be a bit of a pitfall, don’t you think?
Aren’t there plenty of situations where one is more or less happy with the default resolution and just wants it rotated to another plane?
I think decoupling this would save us some clicks on average + some beginner questions

Decoupling could work for 2D grids or arrays of 2D grids, but not for 3D grids where planes are on different axis planes. To make it clearer, we could add X/Y/Z to Row Column Slice parameter labels. The grids can also be rotated quickly.

We’re still planning to add more features to subdivide, in the mean time, the issue was the original geo prims need to be reversed, so a reverse primitives mode was added to convert POP, see attached toe
SubDMergeWithOriginal.toe (32.0 KB)

This was improved as well in latest, normalize now takes ints as well, internally POPs processing attributes do the operations on floats, and we added a Cast to menu to streamline outputting an int or a float without having to expand the >> parameters at the bottom