LINUX CATEGORIES:



NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>

7-DAY TOP DOWNLOAD

#
Program
BackTrack 4 Final
9,178
TeamSpeak 2
2.0.32.60

3,920
Wine 1.0.1 / 1.1.38
3,273
VLC 1.0.5
3,185
Charles Web
Debugging Proxy
3.5.1

2,387
Yahoo Messenger
1.0.4

2,346
Adobe Flash Player
for Linux 10.0.42.34
/ 10.1 Beta

1,778
Ubuntu 9.10
1,698
Thunderbird PST
Import plugin 1.2

1,644
Corel Photo-Paint 9
1,492

WEEK'S BEST

  • Ubuntu 9.10
  • Ubuntu Netbook Rem...
  • Pidgin 2.6.5
  • Wine 1.0.1 / 1.1.38
  • Linux Kernel 2.6.3...
  • Mozilla Firefox 3.6
  • Fedora 12
  • OpenOffice.org 3.2.0
  • Firestarter 1.0.3
  • The Gimp 2.6.8 / 2...
  • FileZilla 3.3.1
  • Transmission 1.83
  • Super Grub Disk 0....
  • Gufw 9.10.4
  • Skype 2.0.072 / 2....
  • openSUSE Linux 11....
  • Opera 10.50 Build ...
  • Adobe Flash Player...
  • wine-doors 0.1.3
  • Google Gadgets 0.1...
  • Home / Linux / Science and Engineering / Visualization

    VirtualGL 2.1

    Download button

    Downloads: 815  Add to download basket  Tell us about an update
    User Rating:
    Rated by:
    Good (3.4/5)
    20 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    D. R. Commander | More programs
    GPL / FREE
    March 18th, 2008, 13:25 GMT
    ROOT / Science and Engineering / Visualization

     Read user reviews (0)  Add a review  Refer to a friend  Subscribe

     

    VirtualGL description

    VirtualGL is an open source package which gives any Unix or Linux remote display software the ability to run OpenGL applications

    VirtualGL is an open source package which gives any Unix or Linux remote display software the ability to run OpenGL applications with full 3D hardware acceleration. Some remote display software, such as VNC, lacks the ability to run OpenGL applications entirely. Other remote display software forces OpenGL applications to use a slow software-only OpenGL renderer, to the detriment of performance as well as compatibility. And running OpenGL applications using the traditional remote X-Windows approach causes all of the OpenGL commands and 3D data to be sent over the network to be rendered on the client machine, which is not a tenable proposition unless the data is relatively small and static, unless the network is fast, and unless the OpenGL application is specifically tuned for a remote X-Windows environment.

    With VirtualGL, the OpenGL commands and 3D data are instead redirected to a 3D graphics accelerator on the server machine, and only the rendered 3D images are sent to the client machine. VirtualGL thus "virtualizes" 3D graphics hardware, allowing it to be co-located in the "cold room" with compute and storage resources. VirtualGL also allows 3D graphics hardware to be shared among multiple users, and it provides real-time performance on even the most modest of networks. This makes it possible for large, noisy, hot 3D workstations to be replaced with laptops or even thinner clients; but more importantly, it eliminates the workstation and the network as barriers to data size. Users can now visualize gigabytes and gigabytes of data in real time without needing to cache any of the data locally or sit in front of the machine that is rendering the data.
    Normally, a 3D Unix OpenGL application would send all of its drawing commands and data, both 2D and 3D, to an X-Windows server, which may be located across the network from the application server. VirtualGL, however, employs a technique called "split rendering" to force the 3D commands from the application to go to a 3D graphics card in the application server. VGL accomplishes this by pre-loading a dynamic shared object (DSO) into the application at run time. This DSO intercepts a handful of GLX, OpenGL, and X11 commands necessary to perform split rendering. Whenever a window is created by the application, VirtualGL creates a corresponding 3D pixel buffer ("Pbuffer") on the server's 3D graphics card. Whenever the application requests that an OpenGL rendering context be created on the window, VirtualGL intercepts the request and creates the context in the Pbuffer instead. Whenever the application swaps or flushes the drawing buffer to indicate that it has completed rendering a frame, VirtualGL reads back the Pbuffer and sends the rendered 3D image to the client.

    The beauty of this approach is its non-intrusiveness. VirtualGL monitors a few X11 commands and events to determine when windows have been resized, etc., but it does not interfere in any way with the delivery of 2D X11 commands to the X server. For the most part, VGL does not interfere with the delivery of OpenGL commands to the graphics card, either (there are some exceptions, such as its handling of color index rendering.) VGL merely forces the OpenGL commands to be delivered to a server-side graphics card rather than a client-side one. Once the OpenGL rendering context has been established in a server-side Pbuffer, everything (including esoteric OpenGL extensions, fragment/vertex programs, etc.) should "just work." In most cases, if an application runs locally on a 3D server/workstation, that same application will run remotely from that same server/workstation using VirtualGL. But obviously, if it were always as simple as that, we could all turn out the lights and go home. Most of the time spent developing VirtualGL has been spent working around "stupid application tricks."

      


    TAGS:

    3D hardware acceleration | OpenGL applications | remote connections | 3D | OpenGL | VNC



    HTML code for linking to this page:


    Go to top

    Windows tabGames tabDrivers tabMac tabLinux tabScripts tabMobile tabHandheld tabGadgets tabNews tab

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   ENTER NEWS SITE   |   ENGLISH BOARD   |   ROMANIAN FORUM