开发者

How to implement copy protection with OpenGL render

I want to implement copy protection for opengl render, here are some idea, none of them are convinced. Would you please give me some suggestions for how to do this?

ChangeDisplaySettingsEx API allows to change the display device configuration. It uses a VIDEOPARAMETERS structure containing copy protection details. This API was introduced on Win2K. It sets the copy protection settings globally per output whereas COPP or OPM sets the copy protection settings per application window.

COPP API is only available on VRM-7 or VMR-9 DirectShow filters and is available starting with WinXP. Using it implies that we need to render the content using DirectShow. What would happen if we would render completely our app without Directshow but create a dummy VRM-9 to set the copy protection ?

OPM API is only available from Vista but header files are only part of the Windows 7 SDK. This API seems clearly better than COPP, in par开发者_如何学Cticular, it lets an application set copy protection parameters from the monitor handles of a window, so this seems usable without using Direct 3D, DirectShow or PMP.


Copy protection doesn't work. Period. There are always ways to get to the contents displayed on the screen. If you can't get it by a programm running on the system you tap into the graphics card's output. There are HDMI-videograbber boxes available for under 250$ -- and the HDCP master keys protecting HDMI have been leaked.

My advice: Don't bother with implementing convoluted DRM schemes. Better spend your time on things that matter and last.

EDIT due to comments: Enabling copy protection is not a feature of OpenGL. It's related to the operating system's graphics subsystem. In the case of Windows the HDCP copy protection is implemented as part of a DirectX filter graph for video streams. OpenGL is segregated from DirectX so it's very unlikely that you can "protect" what's been rendered with OpenGL.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜