[vtk-developers] DirectX rendering for VTK

James Johnston JamesJ at motionview3d.com
Wed Sep 14 16:19:06 EDT 2011


Some time ago this message was posted to the mailing list... I'd like to add
a supporting argument for why VTK should support DirectX:  the next version
of Windows, Windows 8.  OpenGL may simply not be a possibility for many
Windows 8 computers on ARM processors.  A quick Google on the topic and I
found this old message about VTK/DirectX so I thought I'd add my thoughts...

Medical applications based on VTK could be very interesting if ported to the
new touch-friendly Windows 8 platform "Metro" interface (imagine doctor
going from room-to-room with a tablet...).  So in a sense, this question is
really no different from "make VTK work on iPad/Android tablets/smartphone
of the day/tablet of the day".  For those other devices though, the 3D API
needing support is OpenGL ES.  However, unless Microsoft changes their mind
before the Windows 8 release, the API required for VTK to work on these new
Windows 8 platforms will be DirectX.

Some facts that have come out from the ongoing BUILD conference:

 * Windows 8 will support a new touch-friendly Metro interface alongside the
traditional Win32 desktop.  Or more specifically, the Win32 desktop will be
a special application within Metro... 
 * Apps that want to target Metro can only use the Metro API and a small
subset of approved Win32 APIs:
http://msdn.microsoft.com/en-us/library/windows/apps/br205757(v=VS.85).aspx
 * Windows 8 will support x86 and ARM processors.  But only Metro will be
supported on ARM - no traditional Win32 desktop:
http://www.guardian.co.uk/technology/2011/sep/13/windows-metro-microsoft-tab
let-apps
 * Metro apps will be available thru a new Windows store.  Traditional Win32
apps *cannot* be offered thru this channel.
 * Examining the preliminary Metro APIs shows support for DirectX, but I
couldn't find any mention of OpenGL:
http://msdn.microsoft.com/en-us/library/windows/apps/br229580

To me, ARM offers a lot of advantages over x86 in areas like cost, power
consumption.  But if ARM is a Metro-only show, that excludes VTK unless it
supports DirectX, or unless they support OpenGL (not likely).  (Maybe
Microsoft will decide to allow the full use of Win32 API on ARM.  On the
other hand, the traditional Windows shell could be eliminated completely in
the interests of performance/saving memory/cost...)  Even on x86 computers
that allow "unauthorized" 3rd-party apps that could use OpenGL, selling
Metro apps thru the store will still not be an option.

Essentially, Metro turns some Windows 8 devices into a closed-wall
environment much like Apple iPad/iPhone or Android with a touch-friendly
interface.  (Long term, I wouldn't be surprised to see Windows Phone 7
obsoleted and replaced with the full Windows 8 platform but I'm sure they
will never say that yet to avoid killing the WP7 market).

The good news is that it sounds like they'll support C++ so as long as the
code is portable (which the bulk of VTK is) then it should work.

Obviously this is all preliminary Windows 8 stuff but I thought it would be
worth mentioning as a possibility.

James

On Mon, Feb 16, 2009 at 4:37 PM, Lisa Avila <lisa.avila at kitware.com>
wrote:
>
> Kitware may have the opportunity to create a DirectX interface for VTK (to
> mirror the OpenGL interface). I am sending this email to the VTK community
> in order to gather "support" stories that would justify this effort.
>
> If you are a long-time VTK user / developer, then you are probably aware
> that VTK has an abstraction layer on top of the underlying graphics
language
> in order to support cross-platform operation. In the early days, VTK
> supported not only OpenGL, but also Starbase (for use on HP computers) and
> XGL (for use on Sun computers). In time, HP and Sun switched to OpenGL,
and
> support for Starbase and XGL were dropped from VTK. Even though VTK now
only
> supports OpenGL, the abstraction layer has been maintained to allow us to
> add another graphics language should the need arise. DirectX has been on
our
> radar screen for years; however it has been low on our priority list since
> it would not expand the cross-platform reach of VTK.
>
> I'd like to see DirectX support added to VTK because I believe this would
> help us re-validate our "graphics language independent" abstraction layer
> which may have been breached in the years of having only OpenGL support.
But
> I'm not sure if that is enough of a reason to pursue this effort :-) so I
am
> looking to the user / developer community to see if there are additional
> reasons why DirectX support in VTK would be valuable. If you have any
> supporting arguments for this work, please send them directly to me at
> lisa.avila at kitware.com. If I do receive any, I'll be sure to summarize
the
> responses back to this list.
>
> Thank you,
>
> Lisa
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtk-developers
>
>





More information about the vtk-developers mailing list