My name is Alex Hornstein, and I want to hire a Rhino developer to make a plug-in to display a viewport view, in real-time, in one of the holographic displays that my company makes. This is a programming job, it’s tough but doable, and the end result will be extremely cool.
I’m part of a company called Looking Glass, and we make holographic displays. Our latest one is called a Looking Glass display, and it looks like this: https://vimeo.com/266703504/468bbeccf5The nerd-term for our style of display is a light field display – it shows many different views of a 3D scene in the display, so multiple people can come up to a display and see into a virtual world, without having to put on any headgear. We’ve been building integrations with various 3D design software – have Unity and three.js atm, and working on Maya and Blender. We need your help with Rhino!
We built a realtime render pipeline for Unity for our display, and I’d like to hire a developer to basically port this pipeline over to Rhino. My goal here is that a blender artist would work in Rhino, with the traditional Rhino interface up on her computer monitor, and one of our displays would be sitting on her desk, showing a 3D version of whatever is in the blender viewport.
There are three hard parts to this problem: ++ Scripting a viewport camera to move around the virtual scene and take multiple renders of the Rhino scene. and to tile those renders into a single texture (we call this texture a ‘quilt’). When the user selects a given viewport in blender (like the top/front/right/perspective viewport), we switch to moving that selected viewport’s camera. We’re doing 32 camera locations/renders, and we build them into a ‘quilt’ texture that looks like this: https://cl.ly/0a0R2R403t2U/quilt-027.00-030.00.png
++ Opening up a second, fullscreen window. Our display connects to a computer over HDMI and looks like a second monitor to the computer. We typically set up the displays in the OS to be two, side-by-side displays. In your computer’s main display, you see the traditional blender UI, and in our holographic device, which looks like the second display, we open up a fullscreen window where we show the visual information for our display
++ Setting up an running a post-process shader on the quilt texture, and displaying the output texture of that shader in the fullscreen window. In the guts of our displays, we have a lenticular lens array laminated onto an LCD screen. The lens array works to send the 32 different views captured by the camera to 32 different angles in the real world, where they happen to intersect with viewers’ eyes. We’ve written a post-process shader that takes the quilt texture and aligns all that visual information from the quilt with the lens array on the screen. Every individual device has the lens array aligned slightly differently with the screen, and we account for that with some calibration information that we store in a calibration file. When we start up the shader, we load up the calibration information, pass it to the shader, and off we go. To be clear, we have a GLSL shader that works, so we’re not asking you to write a shader – we need your help setting up and running our existing shader in the blender environment.
This video shows how the render pipeline works in Unity, and goes into a little more detail on how the viewport selection should work in Rhino (I’m showing blender in the video, but the same UI principles apply to Rhino): https://youtu.be/j4d1b0g3rS0
I know this is a lot to take in, but I promise it’s not crazy. We built and understand this pipeline very well in Unity, and we’re looking for help with Rhino just because we’re not as familiar with the ins and outs of Rhino’s guts. Our devs who built our existing SDKs would be available to talk with you as you work through this, and we have a very specific idea of what the deliverable is.
If you’re a good coder, and you’re up for an interesting project, get in touch, and let’s talk.
p.s. I’'m new to the Rhino forum and I didn’t see an obvious jobs board anywhere. If there’s a better place to post this, just let me know.