What is the difference of the various embedding ("hooking") methods?

Emanuel Züger
2017-07-26 17:39

There are various techniques to integrate projector calibrations into the displaying system. We call this feature hooking. There are different ways to embed the calibrations into the operating system:

  1. Hardware-based hooking.  On this level the warping and blending data is imported directly into graphics processing unit (GPU). This hooking mode requires to use professional series of graphics cards.
    • NVIDIA NVAPI: available on NVIDIA Quadro GPU K5200 or better
    • AMD D.O.P.P: available on AMD FirePro w600 (other models are unreliable in D.O.P.P. support)
  2. Desktop hooking (DWM): This embedding mode applies the calibration data onto Windows display configuration. For this mode it is required to have Windows 7 (not 8.1 and 10!) as operation system with Aero Theme activated.
  3. API Hooking: Contents are altered at runtime when certain 3D APIs are used. Provided by Anyblend on demand. Currenty supported 3D APIs are:
    • OpenGL
    • DirectX 9
  4. Application hooking: Warp&Blend files are processed by the image generating application. Provided as a plugin or calibration file loader by VIOSO or the vendor of the application. Note that this might involve extra coasts for development time. For a list of supported applications click here.

This table shows the capabilites of the different hooking techniques:

 
Hooking technique
Desktop warping Windows 7
Desktop warping Windows 8.1-10
Max. projectos
No. of displays or groups
Blending between groups
Exkl. Fullscreen apps
Content overlap adjustment
Quadbuffer Stereo apps
comments
Windows 7 DWM
(Aero Theme)
16 1 (8) / in brackets: Supported by Anyblend 3
NVIDIA API 16 8 K4000,K5200,K6000
M4000,M5000,M6000
P-series experimental
AMD D.O.P.P 6 1 FirePro w600
DirectX 9 Hook 16 8  
OpenGL Hook 16 8  

 Click here to get another list of features supported depending on the hardware and operating system.

Average rating: 0 (0 Votes)

You cannot comment on this entry