zoukankan      html  css  js  c++  java
  • D3D9和OpenGL加载纹理图片的API是哪个?

    D3D9

    创建一个空纹理,当返回 S_OKppTexture 纹理对象指针不为 NULL 时,则表示该函数调用成功。

    HRESULT D3DXCreateTexture(
      _In_  LPDIRECT3DDEVICE9  pDevice,
      _In_  UINT               Width,
      _In_  UINT               Height,
      _In_  UINT               MipLevels,
      _In_  DWORD              Usage,
      _In_  D3DFORMAT          Format,
      _In_  D3DPOOL            Pool,
      _Out_ LPDIRECT3DTEXTURE9 *ppTexture
    );
    
    HRESULT D3DXCreateTextureFromFileInMemory(
      _In_  LPDIRECT3DDEVICE9  pDevice,
      _In_  LPCVOID            pSrcData,
      _In_  UINT               SrcDataSize,
      _Out_ LPDIRECT3DTEXTURE9 *ppTexture
    );
    
    HRESULT D3DXCreateTextureFromFileInMemoryEx(
      _In_    LPDIRECT3DDEVICE9  pDevice,
      _In_    LPCVOID            pSrcData,
      _In_    UINT               SrcDataSize,
      _In_    UINT               Width,
      _In_    UINT               Height,
      _In_    UINT               MipLevels,
      _In_    DWORD              Usage,
      _In_    D3DFORMAT          Format,
      _In_    D3DPOOL            Pool,
      _In_    DWORD              Filter,
      _In_    DWORD              MipFilter,
      _In_    D3DCOLOR           ColorKey,
      _Inout_ D3DXIMAGE_INFO     *pSrcInfo,
      _Out_   PALETTEENTRY       *pPalette,
      _Out_   LPDIRECT3DTEXTURE9 *ppTexture
    );
    

    D3DXCreateTextureFromFileInMemoryD3DXCreateTextureFromFileInMemoryEx 函数下断(注意看纹理对象指针 ppTexture 是否和上面创建的纹理对象是否一致),一般就可以把内存中的图像保存下来了。上面三个函数参数具体含义,请自行查看 https://docs.microsoft.com/zh-cn/windows/desktop/api/_direct3d9/ 官网。

    OpenGL

    
    void glGetTexImage(
            GLenum target,
     	GLint level,
     	GLenum format,
     	GLenum type,
     	GLvoid * pixels
    );
     
    void glGetnTexImage(
            GLenum target,
     	GLint level,
     	GLenum format,
     	GLenum type,
     	GLsizei bufSize,
     	void *pixels
    );
     
    void glGetTextureImage(	
             GLuint texture,
     	GLint level,
     	GLenum format,
     	GLenum type,
     	GLsizei bufSize,
     	void *pixels
    );
    

    具体参数请自行参考OPENGL API:https://www.khronos.org/registry/OpenGL-Refpages/gl4/

  • 相关阅读:
    多个漂亮的按钮样式和图片集合
    纯CSS3实现3D跳动小球
    visual studio 查找/替换对话框
    CSS实现弹出导航菜单
    javascript使浏览器关闭前弹出确认
    使用CSS3制作立体效果的导航菜单
    多个精美的导航样式web2.0源码
    jQuery实现侧边导航栏效果
    jQ函数after、append、appendTo的区别
    ASP.NET使用jQuery AJAX实现MD5加密实例
  • 原文地址:https://www.cnblogs.com/cheungxiongwei/p/10036932.html
Copyright © 2011-2022 走看看