LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Full screen graphical output

I am working on a project for a school where I need to do fast (relatively speaking) graphics rendering in real time.

 

Essentially, I have 5 computers; 1 Server and 4 clients.  Each client is hooked to a projector and is responsible for one letter of the word LASA. I have the network bits working, so that each client is told what color  and what position to draw the letter at, but now I am having trouble with getting it to draw quickly and smoothly.

 

First I tried working with just making the pane full screen using a property node and modifying its background color at runtime, this worked great, so long as I didn't try to change anything on the panel, which made moving the letter using this method impossible.  Next, I thought I could use an image control since they are designed to handle quickly changing graphics and I could then just pragmatically generate the image on the fly.  While this seems like a great idea, I can't figure out how to make it full screen.

 

Any help is appreciated.

0 Kudos
Message 1 of 6
(2,775 Views)

I'v never worked with picture controls but how about making that control just as big as your screen is? A "full screen window" is nothing else than a window without frame and title which is as big as your screen resolution.


- Thomas -
0 Kudos
Message 2 of 6
(2,763 Views)

maldridgeLASA wrote:

First I tried working with just making the pane full screen using a property node and modifying its background color at runtime, this worked great, so long as I didn't try to change anything on the panel, which made moving the letter using this method impossible.


Could you explain a bit more about this part? What do you mean by "moving the letter"? Is this something you are doing programmatically?

0 Kudos
Message 3 of 6
(2,743 Views)

The easiest thing to do may be to use a picture control and draw the entire string "LASA" in each picture control, but make the picture control only big enough to display one letter.  Move the text by moving the display origin of the picture control.  This makes coordination fairly easy, since all that is sent to each display is its display origin.  You can also do the same sort of thing with an intensity graph.  I don't know which would be faster.  Either allow dynamic change of the foreground and background colors.

 

Good luck.  Let us know if you need more info.

0 Kudos
Message 4 of 6
(2,741 Views)

to answer the question:

  • by making the pane full screen, yes I mean programatically, I used a pair of property nodes to get the monitor dimensions, then set the pane to those with no menubar.  I then used the background color input to change the color.
  • by moving the letter, I mean actually taking one letter of the word LASA and moving it around on screen.  Think of it as a screensaver style setup where the background changes color and an object moves around on screen, just on four screens and they have to be in sync

 

could you elaborate some on the picture control method?  I am unclear as to how I would be able to get smooth movement of the letter as well as changing the background color in sync with the other projectors.  I am also not sure how to make it full screen without showing any of the frames that are associated with controlls, since the goal is to create a near seamless display.

 

thank you all for the speady replies!

0 Kudos
Message 5 of 6
(2,729 Views)

Attached is an example of the picture control doing this by changing the origin.  You can coordinate VIs by changing this origin synchronously in your displays using commands.  You can change the appearance of the VI front panel so that the title bar, scroll bars, etc are all not shown, and even make the background transparent, then maximize it.  The picture control allows you to easily change the background color of your text using either a rectangle in the background or with the text background itself (if the text is large enough).  You can programmatically scale the picture control and font size so that it looks good on your monitor.  You could also programmatically make the VI front panel slightly larger than your monitor so there are no seams.  Remember to have a way to close everything.  The picture control has a rich set of mouse events, so this should be pretty easy.

 

Let us know if you need more help.

0 Kudos
Message 6 of 6
(2,699 Views)