300高分求救:如何用OpenGL做类似桌面3D宠物的动画思路,主要是如何做到无背景!急!急!急!

解决方案 »

  1.   

    别用OpenGL,好像都是自己画的
      

  2.   

    给以下基本的思路,可以自己创建一个基于对话框的应用程序。然后将其背景设为透明,再在此基础上绘图。注意要将对话框边框的属性设为NULL。其实你说的与金山杀毒里的小狮子差不多。
    另:设置窗口透明要使用函数SetLayeredWindowAttributes,它是User32.dll中的函数,在MSDN中止找不到定义的。基本的使用可以参考下面的格式:
    在OnInitDialog函数中使用:
    SetLayeredWindowAttributes=(_SetLayeredWindowAttributes)GetProcAddress(
    hInst,"SetLayeredWindowAttributes");
    if(!SetLayeredWindowAttributes)
    {
    MessageBox("Load Function Error!");
    return FALSE;
    }
    ::SetWindowLong(m_hWnd,GWL_EXSTYLE, GetWindowLong(m_hWnd,
    GWL_EXSTYLE)^WS_EX_LAYERED);
    SetLayeredWindowAttributes(m_hWnd,0,0,LWA_ALPHA);
    RedrawWindow();
      

  3.   

    测试过了,这个函数会把OpenGL部分也透明掉
      

  4.   

    我可以提供测试源代码给大家看看
    http://220.231.137.21/test.rar
      

  5.   

    SetWindowRgn
    也测试过了,也会把OpenGL部分给隐藏了,可以参看上面的测试代码
      

  6.   

    思路么,有一点:
    OpenGL绘制的结果转存成位图,然后再用常规GDI方式画到桌面上。