CN106327563A - 一种Directx纹理资源互操作系统及方法 - Google Patents

一种Directx纹理资源互操作系统及方法 Download PDF

Info

Publication number
CN106327563A
CN106327563A CN201610716153.5A CN201610716153A CN106327563A CN 106327563 A CN106327563 A CN 106327563A CN 201610716153 A CN201610716153 A CN 201610716153A CN 106327563 A CN106327563 A CN 106327563A
Authority
CN
China
Prior art keywords
resource
interface
texture
equipment
interoperability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610716153.5A
Other languages
English (en)
Other versions
CN106327563B (zh
Inventor
杨亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201610716153.5A priority Critical patent/CN106327563B/zh
Publication of CN106327563A publication Critical patent/CN106327563A/zh
Application granted granted Critical
Publication of CN106327563B publication Critical patent/CN106327563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明公开了一种Directx纹理资源互操作的系统及方法,用于Directx3D11与Directx3D12纹理资源互操作,该系统包括:设备创建单元,用于在Directx3D12设备上创建Directx3D11接口;资源包装单元,用于将Directx3D12资源包装成Directx3D11可用的资源并供所述Directx3D11接口使用。能够在Directx3D11接口上操作Directx3D12资源。完成了Directx3D11与Directx3D12纹理资源互操作,实现了跨版本资源的连贯性和互通性。

Description

一种Directx纹理资源互操作系统及方法
技术领域
本发明涉及图像处理技术领域,具体涉及一种Directx纹理资源互操作系统及方法。
背景技术
目前图像采集卡一般采用Direct3D技术显示捕捉到的图像数据、为了采用Direct3D图形流水线来处理采集卡捕捉获得图像数据,一般做法是先把图像数据发送到系统内存,然后根据系统内存中的图像数据创建动态纹理,再利用Direct3D图形流水线完成对图像数据的处理以及显示。
多媒体编程接口Directx3D 11集成在Windows 7中。Directx3D11带来了Tessellation(拆嵌式细分曲面技术)、Multi-Threading(多线程)、DirectCompute(通用计算)、Shader Model 5.0(渲染引擎5.0)以及Texture Compression(纹理压缩)五个重要特性,为用户带来更好的视觉享受。
多媒体编程接口Directx3D 12集成在Windows 10中,其相对于D3D11最重要的变化就是更底层API(Application Programming Interface,应用程序编程接口),这一点很像AMD Mantle,Directx3D 12在硬件抽象层上更深入,能够同时减轻CPU、GPU的过载。并且使用Directx3D 12的应用可追踪GPU流水线、控制资源状态转换,比如从渲染目标到纹理,同时Directx3D 12可控制资源重命名,更少的API和驱动跟踪,可预判属性。
在2D纹理的读写方面,Directx3D 11通过一个设备环境上下文利用Map或Unmap对纹理进行更新写操作。然而在Directx3D 11上所有的纹理,都不允许直接的进行写操作,必须通过另一个ID3D12Resource所代表的Buffer来对纹理进行更新,无法实现在Directx3D11设备上操作Directx3D 12的资源。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种Directx纹理资源互操作系统及方法,能够在Directx3D11接口上操作Directx3D12资源。
为达到以上目的,本发明采取的技术方案是:
一种Directx纹理资源互操作的系统,用于Directx3D11与Directx3D12纹理资源互操作,包括:
设备创建单元,用于在Directx3D12设备上创建Directx3D11接口;
资源包装单元,用于将Directx3D12资源包装成Directx3D11可用的资源并供所述Directx3D11接口使用。
在上述技术方案的基础上,所述Directx3D12资源为可在Directx3D12设备上直接使用的纹理资源。
在上述技术方案的基础上,Directx3D11资源为在Directx3D11接口上直接使用的纹理资源。
一种Directx纹理资源互操作的方法,用于Directx3D11与Directx3D12纹理资源互操作,包括如下步骤:
S1,在Directx3D12设备上创建Directx3D11接口;
S2,将Directx3D12资源包装成Directx3D11接口可用资源;
S3,所述Directx3D11接口操作包装成Directx3D11资源的Directx3D12资源,实现Directx3D11与Directx3D12纹理资源互操作。
在上述技术方案的基础上,步骤S1包括:
在Directx3D12设备上调用D3D11On12CreateDevice函数,分别创建一个Directx3D11接口指针和一个Directx3D11接口环境上下文指针;
调用Directx3D11接口的QeuryInterface函数获取运行在Directx3D12设备上的Directx3D11接口。
在上述技术方案的基础上,步骤S1还包括:
判断QeuryInterface函数获取Directx3D11接口的操作是否成功,若成功,则继续执行S2,若失败,则结束。
在上述技术方案的基础上,步骤S2包括:
调用Directx3D11接口的创建资源包装函数,将Directx3D12设备的Directx3D12资源包装成Directx3D11资源。
在上述技术方案的基础上,步骤S2还包括:判断ctx3D12资源包装成Directx3D11资源的操作是否成功,若成功,则继续执行S3,若失败,则结束。
在上述技术方案的基础上,Directx3D12资源为在Directx3D12设备上直接使用的纹理。
在上述技术方案的基础上,Directx3D11资源为在Directx3D11接口上直接使用的纹理资源。
与现有技术相比,本发明的优点在于:
本发明的Directx纹理资源互操作系统及方法,通过在Directx3D12设备上创建一个Directx3D11接口,将Directx3D12资源包装成能够在Directx3D11接口上使用的资源,完成了Directx3D11与Directx3D12纹理资源互操作,实现了跨版本资源的连贯性和互通性。
附图说明
图1为本发明实施中的方法流程图;
图2为本发明实施例中的系统框图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图2所示,本发明实施例提供一种Directx纹理资源互操作的系统,包括:
设备创建单元,用于在Directx3D12设备上创建在其上运行的Directx3D11接口;Directx3D11接口是微软提供的一组2D或者3D图形编辑接口,其集成在Windows7中,Directx3D12设备是Directx3D11接口的高一级版本,其集成在Windows10中,Directx3D12设备在面向程序员进行编程时能够在执行GPU相关指令时,GPU与CPU同步,这是Directx3D11接口所不具有的功能,在程序性能上产生较大的影响。
资源包装单元,用于将Directx3D12资源包装成Directx3D11资源;Directx3D12资源为在Directx3D12设备上直接使用的纹理资源,Directx3D11资源为在Directx3D11接口上直接使用的纹理资源。在Directx3D11资源的读写方面,Directx3D11接口可以利用设备上下文环境进行更新写操作,而在Directx3D12设备上所有的Directx3D12资源都不允许直接进行写操作,因此在Directx3D12设备不能够直接执行Directx3D11资源,需要将Directx3D12资源包装成Directx3D11资源。
参见图1所示,一种Directx纹理资源互操作的方法,包括如下步骤:
S1,在Directx3D12设备创建运行在其上的Directx3D11接口;
在Directx3D12设备上调用D3D11On12CreateDevice函数,分别创建一个Directx3D11接口指针和和一个Directx3D11接口的ID3D11DeviceContext设备环境上下文指针;其中,Directx3D12设备为调用ID3D12Device接口,用于创建资源、视图、命令列表等;
调用Directx3D11接口的QeuryInterface函数获取运行在Directx3D12设备上的Directx3D11接口,Directx3D11接口为ID3D11Device接口,用于创建资源、视图、设备环境等;
判断QeuryInterface函数获取Directx3D11接口的操作是否成功,若成功,则继续执行S2,若失败,则结束。
S2,Directx3D12设备将其自身的Directx3D12资源经Directx3D11接口包装成Directx3D11资源;调用Directx3D11接口的创建资源包装函数,通过CreateWrappedResource方法将Directx3D12设备的Directx3D12资源包装成Directx3D11资源;
判断Directx3D12资源包装成Directx3D11资源的操作是否成功,若成功,则继续执行S3,若失败,则结束。
其中,Directx3D12资源为在Directx3D12设备上直接使用的纹理资源;Directx3D11资源为在Directx3D11接口上直接使用的纹理资源。
S3,在Directx3D12设备上的Directx3D11接口操作包装成Directx3D11资源的Directx3D12资源。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种Directx纹理资源互操作的系统,用于Directx3D11与Directx3D12纹理资源互操作,其特征在于,包括:
设备创建单元,用于在Directx3D12设备上创建Directx3D11接口;
资源包装单元,用于将Directx3D12资源包装成Directx3D11可用的资源并供所述Directx3D11接口使用。
2.如权利要求1所述的一种Directx纹理资源互操作的系统,其特征在于:所述Directx3D12资源为可在Directx3D12设备上直接使用的纹理资源。
3.如权利要求1所述的一种Directx纹理资源互操作的系统,其特征在于:Directx3D11资源为在Directx3D11接口上直接使用的纹理资源。
4.一种Directx纹理资源互操作的方法,用于Directx3D11与Directx3D12纹理资源互操作,其特征在于,包括如下步骤:
S1,在Directx3D12设备上创建Directx3D11接口;
S2,将Directx3D12资源包装成Directx3D11接口可用资源;
S3,所述Directx3D11接口操作包装成Directx3D11资源的Directx3D12资源,实现Directx3D11与Directx3D12纹理资源互操作。
5.如权利要求4所述的一种Directx纹理资源互操作的方法,其特征在于,步骤S1包括:
在Directx3D12设备上调用D3D11On12CreateDevice函数,分别创建一个Directx3D11接口指针和一个Directx3D11接口环境上下文指针;
调用Directx3D11接口的QeuryInterface函数获取运行在Directx3D12设备上的Directx3D11接口。
6.如权利要求5所述的一种Directx纹理资源互操作的方法,其特征在于,步骤S1还包括:
判断QeuryInterface函数获取Directx3D11接口的操作是否成功,若成功,则继续执行S2,若失败,则结束。
7.如权利要求5所述的一种Directx纹理资源互操作的方法,其特征在于,步骤S2包括:
调用Directx3D11接口的创建资源包装函数,将Directx3D12设备的Directx3D12资源包装成Directx3D11资源。
8.如权利要求7所述的一种Directx纹理资源互操作的方法,其特征在于,步骤S2还包括:判断ctx3D12资源包装成Directx3D11资源的操作是否成功,若成功,则继续执行S3,若失败,则结束。
9.如权利要求4所述的一种Directx纹理资源互操作的方法,其特征在于:Directx3D12资源为在Directx3D12设备上直接使用的纹理。
10.如权利要求4所述的一种Directx纹理资源互操作的方法,其特征在于:Directx3D11资源为在Directx3D11接口上直接使用的纹理资源。
CN201610716153.5A 2016-08-24 2016-08-24 一种Directx纹理资源互操作系统及方法 Active CN106327563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610716153.5A CN106327563B (zh) 2016-08-24 2016-08-24 一种Directx纹理资源互操作系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610716153.5A CN106327563B (zh) 2016-08-24 2016-08-24 一种Directx纹理资源互操作系统及方法

Publications (2)

Publication Number Publication Date
CN106327563A true CN106327563A (zh) 2017-01-11
CN106327563B CN106327563B (zh) 2019-04-05

Family

ID=57791500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610716153.5A Active CN106327563B (zh) 2016-08-24 2016-08-24 一种Directx纹理资源互操作系统及方法

Country Status (1)

Country Link
CN (1) CN106327563B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595284A (zh) * 2018-05-14 2018-09-28 武汉斗鱼网络科技有限公司 一种纹理共享方法、计算机设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609971A (zh) * 2012-01-11 2012-07-25 南京大学 嵌入式gpu实现3d-gis的快速渲染系统
CN102867284A (zh) * 2011-07-07 2013-01-09 腾讯科技(深圳)有限公司 一种图形绘制引擎及其实现方法
CN103336816A (zh) * 2013-06-28 2013-10-02 广州市动景计算机科技有限公司 安卓系统上基于GPU实现的Canvas元素渲染方法及装置
CN103617027A (zh) * 2013-10-29 2014-03-05 合一网络技术(北京)有限公司 基于安卓系统的图像渲染引擎构建方法及系统
CN103713891A (zh) * 2012-10-09 2014-04-09 阿里巴巴集团控股有限公司 一种在移动设备上进行图形渲染的方法和装置
CN105069015A (zh) * 2015-07-13 2015-11-18 山东超越数控电子有限公司 一种国产平台网页加速技术的实现方法
CN105069831A (zh) * 2015-07-28 2015-11-18 广州爱拍网络科技有限公司 一种基于Hook技术获取OpenGL渲染画面的方法和系统
CN105741227A (zh) * 2016-01-26 2016-07-06 网易(杭州)网络有限公司 渲染方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867284A (zh) * 2011-07-07 2013-01-09 腾讯科技(深圳)有限公司 一种图形绘制引擎及其实现方法
CN102609971A (zh) * 2012-01-11 2012-07-25 南京大学 嵌入式gpu实现3d-gis的快速渲染系统
CN103713891A (zh) * 2012-10-09 2014-04-09 阿里巴巴集团控股有限公司 一种在移动设备上进行图形渲染的方法和装置
CN103336816A (zh) * 2013-06-28 2013-10-02 广州市动景计算机科技有限公司 安卓系统上基于GPU实现的Canvas元素渲染方法及装置
CN103617027A (zh) * 2013-10-29 2014-03-05 合一网络技术(北京)有限公司 基于安卓系统的图像渲染引擎构建方法及系统
CN105069015A (zh) * 2015-07-13 2015-11-18 山东超越数控电子有限公司 一种国产平台网页加速技术的实现方法
CN105069831A (zh) * 2015-07-28 2015-11-18 广州爱拍网络科技有限公司 一种基于Hook技术获取OpenGL渲染画面的方法和系统
CN105741227A (zh) * 2016-01-26 2016-07-06 网易(杭州)网络有限公司 渲染方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595284A (zh) * 2018-05-14 2018-09-28 武汉斗鱼网络科技有限公司 一种纹理共享方法、计算机设备和存储介质
CN108595284B (zh) * 2018-05-14 2021-11-26 武汉斗鱼网络科技有限公司 一种纹理共享方法、计算机设备和存储介质

Also Published As

Publication number Publication date
CN106327563B (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
US10013503B2 (en) Canvas element rendering method and apparatus implemented on android system based on GPU
EP3032499B1 (en) Apparatus and method for rendering
CN105528207B (zh) 一种虚拟现实系统及其中显示安卓应用图像的方法和装置
JP6309620B2 (ja) 頂点シェーダのフロント・エンドとしてコンピュート・シェーダを使用すること
JP5960368B2 (ja) ビジビリティ情報を用いたグラフィックスデータのレンダリング
US9691172B2 (en) Furry avatar animation
EP2141651A3 (en) Framework to integrate and abstract processing of multiple hardware domains, data types and format
CN104850388B (zh) 网页绘制方法及装置
EP2442222A3 (en) Information processing apparatus, and input control method and program of information processing apparatus
WO2008019261A3 (en) Graphics processing unit with extended vertex cache
WO2010138870A3 (en) Graphics processing unit with deferred vertex shading
US10319068B2 (en) Texture not backed by real mapping
CN103677777B (zh) 调用应用程序组件的方法及装置
KR102499397B1 (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
WO2020192608A1 (zh) 图形渲染方法、装置和计算机可读存储介质
CN106340055A (zh) 一种基于多线程的OpenGL快速绘制方法
CN104360319A (zh) 一种基于cuda平台的雷达b显处理方法
CN105321142B (zh) 经由计算流水线进行的采样、错误管理和/或上下文切换
CN102880465A (zh) 一种基于OpenGL ES的嵌入式图像方法
CN105791764A (zh) 一种基于三维图像视频监控图像显示方法
CN106327563A (zh) 一种Directx纹理资源互操作系统及方法
JP2016517574A5 (zh)
CN104881890A (zh) 基于移动终端的医学三维重建快速交互渲染方法
CN104424661B (zh) 三维对象显示方法和装置
US9691117B2 (en) External validation of graphics pipelines

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant