The transparent idea

Oh, there was someone faster :smiley: yes these are the links I meant

How would you feel about having GH be in a Rhino viewport? It’s something I’d like to try for GH2 as a way to get around child-window-hell.

2 Likes

Or: https://github.com/mcneel/GhCanvasViewport

1 Like

Hopefully soon to be available via PackageManager.

1 Like

Could be awesome. If there’s a nice solution with the additional gh canvas.
Some horizontal splitsscreen would be something in my imagination. At the top 3D viewport and on the bottom side grasshopper.

For viewport in Rhino, I think it would be nicer if it’s nearly a square, but gh is more horizontal

You can resize viewports in Rhino all your like. Float them, dock them, maximise them. I have no idea how this would play with Layout, but if we can host Eto controls in viewports, then it should be possible.

If gh viewport will be editable like rhino, it won’t be a problem :slight_smile:

1 Like

Hi David,

I’m not sure this is a good idea : when I work in GH, Rhino is mostly a commodity, so I need the GH UI to be as large as possible.
I’ll stick with my suggestion of controlling the alpha of the canvas ; here’s what it could look like with a tunable linear blend and a drop-down list for which half of the screen to make transparent :

I just realized that the 3D mouse still works in the Rhino Viewport when GH is in focus.
It’s the reason we can’t use it with Grasshopper, but ironically, it’s a great feature when combined with the “Wormhole” thingy.

1 Like

It’s the reason for a Width parameter.

Check this:

CanvasRhinoView.gh (2.7 KB)

1 Like

I’ve created a YouTrack entry for this pointing to this discussion, so whatever opinions and ideas you still might have this is a good place to put them.

I’m going to focus on this next week. Hopefully we’ll have something people can play with very soon

It would be handy to occasionally (or often) have the model and the definition on the same viewport (like when using laptop), I like using Daniel’s wormhole definition in a presentation. How about an effect as in Dynamo’s interface where the nodes and wires superimpose onto the model viewport, (maybe use of transparency), would be useful to somewhat control the effect or turned off as needed.

I personally hate the way this looks, but it is something we can look into. There are some pretty stiff limitations on what can be done with window transparency, especially on cross-platform UI frameworks. It is possible on Windows to assign a single colour to be transparent per window/control. I think this approach is the one used by the existing plug-ins/scripts for GH1. The problem with this is that it results in really ugly anti-aliasing artefacts when shapes are drawn on top of it. I imagine there might also be an issue of trying to do the same on Mac.

But instead of true transparency so you can see a ‘real’ viewport underneath. it may be possible to render a custom viewport to a bitmap which is used as background for the canvas. Such an approach would even allow for partial or variable transparency as @osuire suggested in the 12th post. There are other benefits to rendering our own viewport background as well, as it will be much easier to control exactly what geometry will be visible and how it’s drawn. Downsides of not using real viewports is that a lot of functionality will have to be re-implemented, and it probably isn’t all going to be.

1 Like

For me the best option is to have interactive viewports as components that only preview the input geometry. And with a double click, they can be raised to/removed from the control context of the canvas.

11 Likes

I really like that idea David, it’d work well using GH/Rhino on a laptop, less clutter and confusion than see-through viewport.

does it already work? Would you like to share?

This is sort of close to what I was planning anyway for the Panel in GH2. The problem with the current panel is that it converts everything into plain text, whereas most people use it to inspect data. So ideally a panel wouldn’t change the data at all, but instead display it using a variety of mechanisms (plain text, rich text, images, 3d views). See: Could Grasshopper2 improve cognitive management through a dedicated component?

1 Like

It’s photoshopped.

I think it’s great to do it with the panel, David. :+1:
In addition to using it to display the data, I use the panel as a source parameter very often, to differentiate between a dynamic source with the slider (which is intended to be changed frequently) and a static source with the panel (which in principle does not need to be changed, such as a tolerance). Regarding converting the data to text, yes, I don’t find it very useful.

2 Likes

I strongly second this idea, brilliant.
I use a panel component and two tree viewer components grouped as a floating inspector.
It would be great to have an object viewer window that could be attached to an output

1 Like