CN110321193B - 一种基于Direct3D共享纹理的交互方法及系统 - Google Patents
一种基于Direct3D共享纹理的交互方法及系统 Download PDFInfo
- Publication number
- CN110321193B CN110321193B CN201910368862.2A CN201910368862A CN110321193B CN 110321193 B CN110321193 B CN 110321193B CN 201910368862 A CN201910368862 A CN 201910368862A CN 110321193 B CN110321193 B CN 110321193B
- Authority
- CN
- China
- Prior art keywords
- texture
- client
- game
- shared
- window
- 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.)
- Active
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Abstract
本发明公开了一种基于Direct3D共享纹理的交互方法及系统,所述交互系统包括独立运行的客户端渲染组件和注入到游戏进程中的图像绘制与控制模块;所述客户端渲染组件包括用于将客户端可视区域内容渲染到共享纹理中的渲染模块、用于接收并解析从游戏客户端传送到客户端的操作控制命令的远程操作解析模块、用于将接收到的操作控制命令转换成客户端操作的操作执行模块、用于将图像绘制与控制模块注入到游戏进程中的注入模块。本发明还公开了所述交互方法基于交互系统实现了无需切换窗口就能操作客户端的功能,提升了游戏用户之间交流互动的体验。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种基于Direct3D共享纹理的交互方法及系统。
背景技术
Direct3D是基于微软的通用对象模式COM(Common Object Mode)的3D图形API。它是由微软(Microsoft)一手树立的3D API规范,微软公司拥有该库版权,它所有的语法定义包含在微软提供的程序开发组件的帮助文件、源代码中。Direct3D是微软公司DirectX SDK集成开发包中的重要部分,适合多媒体、娱乐、即时3D动画等广泛和实用的3D图形计算。Direct3D提供一种共享纹理的功能,能够将纹理共享,使其他进程能够访问此纹理。
在传统的交互模式下,游戏过程中,如果需要操作客户端的窗口,则需要进行窗口切换,这会导致全屏游戏从独占模式切换到桌面,带来较长的延时,且窗口切换过程中,无法准确定位需要切换到的目标窗口。
发明内容
本发明的目的在于提供一种基于Direct3D共享纹理的交互方法,本发明通过共享纹理的交互,可以实现无需切换窗口就能操作客户端的功能,提升游戏用户之间交流互动的体验。
本发明的目的在于提供一种基于Direct3D共享纹理的交互系统,基于共享纹理与客户端的交互,可以实现无需切换窗口就能操作客户端的功能,提升游戏用户之间交流互动的体验。
本发明主要通过以下技术方案实现:一种基于Direct3D共享纹理的交互方法,将共享纹理注册到GPU中,将得到的纹理句柄注册到共享资源管理接口中,以供游戏进程中的模块获取共享纹理句柄;在客户端运行过程中,所有的可视区域直接绘制到共享纹理上,游戏中的模块通过GPU内存获取纹理;
通过创建消息钩子,在游戏启动时,消息钩子将图像绘制与控制模块注入到游戏进程中,以获取目标进程的Direct3D绘制接口;通过客户端的接口获取共享纹理的句柄,从而获取到GUP中对应的客户端可视区域内容。
为了更好的实现本发明,进一步的,将客户端可视加载到共享纹理中,当模块初始化时,则首先通过D3D11CreateDevice创建一个支持BGRA图像格式的Direct3D设备,并使用CreateTexture2D创建两个DXGI_FORMAT_B8G8R8A8_UNORM格式的纹理A和纹理B;当创建A纹理时,将创建参数的MiscFlags标志位传入D3D11_RESOURCE_MISC_SHARED,以作为最终游戏进程中共享的纹理;所述纹理B作为临时绘制缓存,在渲染过程中,客户端可视区域的图像先绘制到纹理B中,然后再复制到纹理A中,可以有效避免直接绘制到纹理A中带来的画面撕裂。
为了更好的实现本发明,进一步的,创建纹理C作为将客户端可视区域渲染到纹理B中的代理,创建时将CPUAccessFlags设置为D3D11_CPU_ACCESS_WRITE,以将客户端可视区域的位图信息从CPU中复制到纹理C。
为了更好的实现本发明,进一步的,加载渲染使用的着色器代码,将渲染区域设置为整个A纹理的大小,当客户端需要更新界面时,首先将位图信息传送到纹理C中,通过ID3D11DeviceContext的Map方法将纹理C的GPU内存映射到渲染程序CPU可以访问的内存,然后将位图信息复制到内存中,当复制完成时,使用ID3D11DeviceContext的Unmap方法将映射取消;将纹理C与需要渲染的输入法界面混合,然后渲染到纹理B中;最后通过CopyResource将纹理B的内容复制到纹理A中,完成界面更新。
为了更好的实现本发明,进一步的,复制游戏进程中的图形绘制功能函数的具体地址,并通过HOOK的方式将绘制代码附加到游戏的绘制代码中,并且在HOOK游戏窗口的消息处理过程中,将游戏窗口的操作转换并转发到客户端中;将共享纹理A中的内容渲染到游戏的界面中,初始化时创建对应的Direct3D设备,通过Rpc接口获取共享纹理A的共享句柄,通过Open Shared Resource获取到对应的IDXGISurface1,然后获取到对应的共享纹理D;加载相应的着色器代码,创建顶点数据,将共享纹理D中的纹理大小传递到创建的绘制设备中,当游戏界面需要渲染时,附加的绘制代码将共享纹理D中的内容绘制到GPU的命令队列中。
为了更好的实现本发明,进一步的,将游戏窗口中的鼠标及键盘操作转发到客户端进程,通过HOOK游戏的窗口过程,获取传递到游戏窗口消息,然后将对应的坐标转换为实际的设备物理坐标,封装之后,通过Rpc接口将消息发送到客户端中;如果不需要游戏处理,则直接从HOOK之后的消息过程返回,否则将消息传递给游戏自身的消息处理函数。
为了更好的实现本发明,进一步的,在客户端中,将输入法的候选词窗口渲染到共享纹理中,处理IME消息,将输入法状态变化绘制到共享纹理中,从而在游戏窗口中展示输入状态。
为了更好的实现本发明,进一步的,转发输入法消息到客户端程序中,通过将游戏窗口的输入法切换请求转换为控制命令并转发到客户端中,客户端加载系统的输入法模块进行输入;基于Windows系统,必须获取键盘焦点的程序进行输入;在游戏显示中,游戏窗口不会被覆盖,实现客户端获取键盘焦点且不干扰游戏窗口显示。
本发明主要通过以下技术方案实现:一种基于Direct3D共享纹理的交互系统,包括独立运行的客户端渲染组件和注入到游戏进程中的图像绘制与控制模块;所述客户端渲染组件包括用于将客户端可视区域内容渲染到共享纹理中的渲染模块、用于接收并解析从游戏客户端传送到客户端的操作控制命令的远程操作解析模块、用于将接收到的操作控制命令转换成客户端操作的操作执行模块、用于将图像绘制与控制模块注入到游戏进程中的注入模块;所述图像绘制与控制模块包括用于将共享纹理中的客户端可视区域绘制到游戏窗口中的图像绘制模块、用于将游戏中的操作转换为控制命令并发送到客户端的解析模块中的控制模块。
为了更好的实现本发明,进一步的,所述远程操作解析模块接收控制命令并将控制命令中的坐标转换为客户端的窗口坐标,屏蔽不需要处理的窗口消息,将消息转发到客户端的操作执行模块;所述操作执行模块将接收到的窗口消息发送到实际的客户端窗口中,并将执行结果反馈到远程操作解析模块中;所述操作执行模块将接受到的消息转化到客户端对应的事件,将不同DPI窗口的的坐标转换成实际的物理坐标,然后通过PostMessage或者SendMessage将消息转发到实际的客户端窗口,从而避免鼠标位置的偏移。
本发明的有益效果:
(1)本发明可以实现无需切换窗口就能操作客户端的功能,提升游戏用户之间交流互动的体验。
(2)所述操作执行模块将接受到的消息转化到客户端对应的事件,将不同DPI窗口的的坐标转换成实际的物理坐标,然后通过PostMessage或者SendMessage将消息转发到实际的客户端窗口,从而避免鼠标位置的偏移。
(3)所述纹理B作为临时绘制缓存,在渲染过程中,客户端可视区域的图像先绘制到纹理B中,然后再复制到纹理A中,可以有效避免直接绘制到纹理A中带来的画面撕裂。
(4)基于Windows系统,必须获取键盘焦点的程序进行输入;在游戏显示中,游戏窗口不会被覆盖,实现客户端获取键盘焦点且不干扰游戏窗口显示。
具体实施方式
实施例1:
一种基于Direct3D共享纹理的交互系统,注入到游戏进程中的图像绘制与控制模块和独立运行的客户端渲染组件;所述客户端渲染组件包括:
a.渲染模块,用于将客户端可视区域内容渲染到共享纹理中;
b.远程操作解析模块,用于接收并解析从游戏客户端传送到客户端的各种用户操作控制命令;
c.操作执行模块,用于将接收到的控制命令转换成客户端对应的操作;
d.注入模块,用于将图像绘制与控制模块注入到游戏进程中。
所述图像绘制与控制模块包括:图像绘制模块,用于将共享纹理中的客户端可视区域绘制到游戏窗口中;控制模块,用于将游戏中的操作转换为对应的控制命令,并发送到客户端的解析模块中。
实施例2:
一种基于Direct3D共享纹理的交互方法,采用上述系统进行交互:
当启动客户端时,创建主窗口,并注册消息钩子,此消息钩子的作用是将图像绘制与控制模块注入到游戏进程中;
创建远程操作解析模块,启动用于接收控制命令的接口,创建资源管理接口;
初始化渲染模块,创建必要的Direct3D设备及资源,将共享纹理注册到GPU中,将得到的纹理句柄注册到共享资源管理接口中,以供游戏进程中的模块获取共享纹理句柄;
在客户端运行过程中,所有的可视区域会直接绘制到共享纹理上,通过GPU内存,游戏中的模块能够获取到此纹理。
游戏启动时,消息钩子将图像绘制与控制模块注入到游戏进程中,获取目标进程的Direct3D绘制接口;
初始化绘制相关的设备及资源,从客户端提供的接口中获取共享纹理的句柄,从而获取到GPU中对应的客户端可视区域内容;
接管游戏窗口中的窗口消息过程,将游戏窗口中的鼠标与键盘消息转换为对应的控制命令,并转发到客户端中的远程操作解析模块;
如果需要控制客户端,使用相应的热键呼出客户端界面,此时在游戏窗口的所有操作,将无条件的转发到客户端,游戏将不会再收到任何窗口消息,当不在需要操作客户端时,可以使用热键关闭,关闭之后,操作消息不会再转发到客户端。
远程操作解析模块负责将从游戏窗口中接收到的控制命令转换到客户端窗口的窗口事件。实现了以下功能:
创建远程通信接口,用于和游戏内的模块进行通信;
接收控制命令,将控制命令中的坐标转换为客户端的窗口坐标,屏蔽不需要处理的窗口消息,将消息转发到客户端中的操作执行模块。
操作执行模块将接收到的窗口消息发送到实际的客户端窗口中,并将执行结果反馈到解析模块中。
在游戏中对客户端窗口的交互产生的变化通过渲染模块将内容发送到共享纹理中,从而在游戏窗口中呈现。
实施例3:
本实施例是在实施例2的基础上进行优化,为了能够在游戏窗口中实现客户端的中文输入法,实现了以下方法:
转发对应的输入法消息到客户端程序,此方法通过将游戏窗口的输入法切换请求转换为对应的控制命令,转发到客户端程序中,客户端能够加载系统的输入法模块进行输入;
由于Windows系统的运行原理,必须要获取键盘焦点的程序才能进行输入,但是由于是在游戏中显示,游戏窗口不能被其他窗口覆盖,所以实现了客户端获取键盘焦点且不干扰游戏窗口显示的方法;
在客户端进程内,需要将输入法的候选词窗口渲染到共享纹理中,处理IME相关的消息,将相关的输入法状态变化,绘制到共享纹理中,从而在游戏窗口中展示输入状态。
通过动态获取游戏窗口的大小变化,并将客户端可视区域进行动态调整,并调整共享纹理的尺寸,可以使客户端内容适应游戏窗口。
本发明可以跨进程使用输入法,并可以实现窗口的动态缩放,具有较好的实用性。
本实施例的其他部分与实施例2相同,故不再赘述。
实施例3:
一种基于Direct3D共享纹理的交互方法,采用上述系统进行交互:
当客户端启动时,初始化以下模块:
注入模块,此模块通过创建SetWindowsHookEx消息钩子,将图像绘制与控制模块加载到系统,此时新创建的游戏进程会主动加载此图像绘制与控制模块;
渲染模块负责将客户端可视加载到共享纹理中,当模块初始化时,首先通过D3D11CreateDevice创建一个支持BGRA图像格式的Direct3D设备,通过此设备,使用CreateTexture2D创建两个DXGI_FORMAT_B8G8R8A8_UNORM格式的纹理A和B:
当创建A纹理时,需要在创建参数的MiscFlags标志位传入D3D11_RESOURCE_MISC_SHARED,此纹理作为最终和游戏进程中共享的纹理。
纹理B作为双缓冲技术中的临时绘制缓存,在渲染过程中,客户端可视区域的图像,需要先绘制到此纹理中,当绘制完成时,再复制到纹理A中,可以有效避免直接绘制到纹理A中带来的画面撕裂。
创建纹理C,此纹理作为将客户端可视区域渲染到纹理B中的代理,创建时需要将CPUAccessFlags设置为D3D11_CPU_ACCESS_WRITE,才能将客户端可视区域的位图信息从CPU中复制到纹理C。
当纹理创建完成之后,加载渲染使用的着色器代码,将渲染取悦设置为整个A纹理的大小(full-screen quad)。
当客户端需要更新界面时,首先将位图信息传送到纹理C中,此时通过ID3D11DeviceContext的Map方法将纹理C的GPU内存映射到渲染程序CPU可以访问的内存,然后将位图信息复制到内存中,当复制完成时,使用ID3D11DeviceContext的Unmap方法将映射取消。
此时,纹理C中就时需要更新的客户端界面内容,将其与需要渲染的输入法界面混合之后,渲染到纹理B中。以上过程完成之后,通过CopyResource将纹理B的内容复制到纹理A中,就完成了界面更新的一个过程。
远程操作解析模块初始化时,创建一个Rpc接口,此接口负责从游戏游戏进程接受用户的相关操作,比如鼠标点击,文字输入等消息。当接受到新的消息时,先通过预先指定的规则将部分消息过滤掉,此类消息包括WM_DESTROY,WM_CLOSE,WM_QUIT等影响客户端功能的消息。然后将消息发送到操作执行模块。
操作执行模块需要将接受到的消息转化到客户端对用的事件,此模块里将不同DPI窗口的的坐标转换成实际的物理坐标,因为当窗口处于不同的dpi状态时,得到的坐标为逻辑坐标,不同的逻辑坐标对应的物理坐标有偏差,需要通过此模块将游戏窗口的得到的物理坐标转换为客户端窗口的逻辑坐标,然后通过PostMessage或者SendMessage将消息转发到实际的客户端窗口,再有客户端处理,从而避免鼠标位置的偏移。
注入到游戏进程中的图像绘制与控制模块主要有以下三大部分功能:
复制确定游戏进程中的图形绘制功能函数的具体地址,并通过HOOK的方式将模块的绘制代码附加到游戏的绘制代码中,并且需要HOOK游戏窗口的消息处理过程,将游戏窗口的操作转换并转发到客户端中。
图像绘制功能:
此功能负责将客户端中创建的共享纹理A中的内容渲染到游戏的界面中。初始化时创建对应的Direct3D设备,通过Rpc接口获取到共享纹理A的共享句柄,通过OpenSharedResource获取到对应的IDXGISurface1,然后获取到对应的共享纹理D;
加载相应的着色器代码,创建顶点数据,将共享纹理D中的纹理大小传递到创建的绘制设备中,当游戏界面需要渲染时,附加的绘制代码将共享纹理D中的内容绘制到GPU的命令队列中。
控制模块主要复制将游戏窗口中的鼠标及键盘操作转发到客户端进程,通过HOOK游戏的窗口过程,获取传递到游戏窗口的各种消息,然后将对应的坐标转换为实际的设备物理坐标,封装之后,通过Rpc接口将消息发送到客户端中;
根据Rpc接口的返回值确定是否需要将对应的消息继续传递给游戏处理,如果不需要游戏处理,则直接从HOOK之后的消息过程返回,否则将消息传递给游戏自身的消息处理函数。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (8)
1.一种基于Direct3D共享纹理的交互方法,其特征在于,将共享纹理注册到GPU中,将得到的纹理句柄注册到共享资源管理接口中,以供游戏进程中的模块获取共享纹理句柄;在客户端运行过程中,所有的可视区域直接绘制到共享纹理上,游戏中的模块通过GPU内存获取纹理;
通过创建消息钩子,在游戏启动时,消息钩子将图像绘制与控制模块注入到游戏进程中,以获取目标进程的Direct3D绘制接口;通过客户端的接口获取共享纹理的句柄,从而获取到GPU中对应的客户端可视区域内容;
将客户端可视加载到共享纹理中,当模块初始化时,则首先通过D3D11CreateDevice创建一个支持BGRA图像格式的Direct3D设备,并使用CreateTexture2D创建两个DXGI_FORMAT_B8G8R8A8_UNORM格式的纹理A和纹理B;当创建A纹理时,将创建参数的MiscFlags标志位传入D3D11_RESOURCE_MISC_SHARED,以作为最终游戏进程中共享的纹理;所述纹理B作为临时绘制缓存,在渲染过程中,客户端可视区域的图像先绘制到纹理B中,然后再复制到纹理A中,有效避免直接绘制到纹理A中带来的画面撕裂。
2.根据权利要求1所述的一种基于Direct3D共享纹理的交互方法,其特征在于,创建纹理C作为将客户端可视区域渲染到纹理B中的代理,创建时将CPUAccessFlags设置为D3D11_CPU_ACCESS_WRITE,以将客户端可视区域的位图信息从CPU中复制到纹理C。
3.根据权利要求2所述的一种基于Direct3D共享纹理的交互方法,其特征在于,加载渲染使用的着色器代码,将渲染区域设置为整个A纹理的大小,当客户端更新界面时,首先将位图信息传送到纹理C中,通过ID3D11DeviceContext的Map方法将纹理C的GPU内存映射到渲染程序CPU可以访问的内存,然后将位图信息复制到内存中,当复制完成时,使用ID3D11DeviceContext的Unmap方法将映射取消;将纹理C与需要渲染的输入法界面混合,然后渲染到纹理B中;最后通过CopyResource将纹理B的内容复制到纹理A中,完成界面更新。
4.根据权利要求1-3任一项所述的一种基于Direct3D共享纹理的交互方法,其特征在于,复制游戏进程中的图形绘制功能函数的具体地址,并通过HOOK的方式将绘制代码附加到游戏的绘制代码中,并且在HOOK游戏窗口的消息处理过程中,将游戏窗口的操作转换并转发到客户端中;将共享纹理A中的内容渲染到游戏的界面中,初始化时创建对应的Direct3D设备,通过Rpc接口获取共享纹理A的共享句柄,通过Open Shared Resource获取到对应的IDXGISurface1,然后获取到对应的共享纹理D;加载相应的着色器代码,创建顶点数据,将共享纹理D中的纹理大小传递到创建的绘制设备中,当游戏界面需要渲染时,附加的绘制代码将共享纹理D中的内容绘制到GPU的命令队列中。
5.根据权利要求4所述的一种基于Direct3D共享纹理的交互方法,其特征在于,将游戏窗口中的鼠标及键盘操作转发到客户端进程,通过HOOK游戏的窗口过程,获取传递到游戏窗口消息,然后将对应的坐标转换为实际的设备物理坐标,封装之后,通过Rpc接口将消息发送到客户端中;如果不需要游戏处理,则直接从HOOK之后的消息过程返回,否则将消息传递给游戏自身的消息处理函数。
6.根据权利要求1所述的一种基于Direct3D共享纹理的交互方法,其特征在于,在客户端中,将输入法的候选词窗口渲染到共享纹理中,处理IME消息,将输入法状态变化绘制到共享纹理中,从而在游戏窗口中展示输入状态。
7.根据权利要求6所述的一种基于Direct3D共享纹理的交互方法,其特征在于,转发输入法消息到客户端程序中,通过将游戏窗口的输入法切换请求转换为控制命令并转发到客户端中,客户端加载系统的输入法模块进行输入;基于Windows系统,必须获取键盘焦点的程序进行输入;在游戏显示中,游戏窗口不会被覆盖,实现客户端获取键盘焦点且不干扰游戏窗口显示。
8.一种基于Direct3D共享纹理的交互系统,其特征在于,包括独立运行的客户端渲染组件和注入到游戏进程中的图像绘制与控制模块;所述客户端渲染组件包括用于将客户端可视区域内容渲染到共享纹理中的渲染模块、用于接收并解析从游戏客户端传送到客户端的操作控制命令的远程操作解析模块、用于将接收到的操作控制命令转换成客户端操作的操作执行模块、用于将图像绘制与控制模块注入到游戏进程中的注入模块;所述图像绘制与控制模块包括用于将共享纹理中的客户端可视区域绘制到游戏窗口中的图像绘制模块、用于将游戏中的操作转换为控制命令并发送到客户端的解析模块中的控制模块;
所述远程操作解析模块接收控制命令并将控制命令中的坐标转换为客户端的窗口坐标,屏蔽不需要处理的窗口消息,将消息转发到客户端的操作执行模块;所述操作执行模块将接收到的窗口消息发送到实际的客户端窗口中,并将执行结果反馈到远程操作解析模块中;所述操作执行模块将接受到的消息转化到客户端对应的事件,将不同DPI窗口的的坐标转换成实际的物理坐标,然后通过PostMessage或者SendMessage将消息转发到实际的客户端窗口,从而避免鼠标位置的偏移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910368862.2A CN110321193B (zh) | 2019-05-05 | 2019-05-05 | 一种基于Direct3D共享纹理的交互方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910368862.2A CN110321193B (zh) | 2019-05-05 | 2019-05-05 | 一种基于Direct3D共享纹理的交互方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321193A CN110321193A (zh) | 2019-10-11 |
CN110321193B true CN110321193B (zh) | 2022-03-18 |
Family
ID=68113356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910368862.2A Active CN110321193B (zh) | 2019-05-05 | 2019-05-05 | 一种基于Direct3D共享纹理的交互方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321193B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111108475B (zh) * | 2019-12-27 | 2021-03-09 | 威创集团股份有限公司 | 一种cocos2dx嵌入cef实现透明网页的方法 |
CN112799801B (zh) * | 2021-01-08 | 2023-11-17 | 杭州雾联科技有限公司 | 一种模拟鼠标指针绘制方法、装置、设备和介质 |
CN114880056A (zh) * | 2022-04-22 | 2022-08-09 | 北京优锘科技有限公司 | 基于ogre进行用户界面显示与交互的方法、设备及介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6747660B1 (en) * | 2000-05-12 | 2004-06-08 | Microsoft Corporation | Method and system for accelerating noise |
US8321849B2 (en) * | 2007-01-26 | 2012-11-27 | Nvidia Corporation | Virtual architecture and instruction set for parallel thread computing |
CN101477700B (zh) * | 2009-02-06 | 2011-04-27 | 南京师范大学 | 面向Google Earth与Sketch Up的真三维立体显示方法 |
US20100214294A1 (en) * | 2009-02-20 | 2010-08-26 | Microsoft Corporation | Method for tessellation on graphics hardware |
US8514234B2 (en) * | 2010-07-14 | 2013-08-20 | Seiko Epson Corporation | Method of displaying an operating system's graphical user interface on a large multi-projector display |
CN102609978B (zh) * | 2012-01-13 | 2014-01-22 | 中国人民解放军信息工程大学 | 基于cuda架构的gpu加速锥束ct图像重建的方法 |
US20130226535A1 (en) * | 2012-02-24 | 2013-08-29 | Jeh-Fu Tuan | Concurrent simulation system using graphic processing units (gpu) and method thereof |
CN105701851B (zh) * | 2014-11-28 | 2019-02-19 | 星际空间(天津)科技发展有限公司 | 一种基于地理信息的三维渲染引擎系统 |
CN105302580B (zh) * | 2015-11-28 | 2019-04-23 | 武汉斗鱼网络科技有限公司 | 一种通过gpu纹理共享实现快速获取游戏图像的方法和系统 |
CN105700887A (zh) * | 2016-01-13 | 2016-06-22 | 广州市赛普电子科技有限公司 | 一种基于Directx11视口的内容共享系统及方法 |
CN105787865B (zh) * | 2016-03-01 | 2018-09-07 | 西华大学 | 基于游戏引擎和gpu并行处理的分形图生成与渲染方法 |
CA2927046A1 (en) * | 2016-04-12 | 2017-10-12 | 11 Motion Pictures Limited | Method and system for 360 degree head-mounted display monitoring between software program modules using video or image texture sharing |
CN106390449A (zh) * | 2016-09-19 | 2017-02-15 | 南京工业大学 | 一种基于图形虚拟化技术的云游戏框架 |
CN106528096B (zh) * | 2016-10-20 | 2020-02-07 | 武汉斗鱼网络科技有限公司 | 一种在d3d12全屏游戏源上绘制弹幕图像的方法及系统 |
CN106528303A (zh) * | 2016-10-20 | 2017-03-22 | 武汉斗鱼网络科技有限公司 | 一种基于gpu纹理共享来获取d3d12游戏源图像的方法及系统 |
CN106598739B (zh) * | 2016-12-14 | 2019-12-17 | 合一网络技术(北京)有限公司 | 视频渲染方法及装置 |
CN108446146B (zh) * | 2018-03-22 | 2022-03-08 | 北京奇艺世纪科技有限公司 | 一种游戏数据采集方法及装置 |
CN108595284B (zh) * | 2018-05-14 | 2021-11-26 | 武汉斗鱼网络科技有限公司 | 一种纹理共享方法、计算机设备和存储介质 |
CN108733356B (zh) * | 2018-05-14 | 2022-12-02 | 武汉斗鱼网络科技有限公司 | 一种纹理共享方法、计算机设备和存储介质 |
-
2019
- 2019-05-05 CN CN201910368862.2A patent/CN110321193B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110321193A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321193B (zh) | 一种基于Direct3D共享纹理的交互方法及系统 | |
EP3111318B1 (en) | Cross-platform rendering engine | |
US5844569A (en) | Display device interface including support for generalized flipping of surfaces | |
JP3544666B2 (ja) | オブジェクト指向ディスプレイ・システム | |
JP4374590B2 (ja) | シーングラフのための汎用パラメータ設定 | |
US11798123B2 (en) | Mechanism to accelerate graphics workloads in a multi-core computing architecture | |
US7012606B2 (en) | System and method for a unified composition engine in a graphics processing system | |
US9069567B1 (en) | High performance execution environment | |
US9495722B2 (en) | Developer controlled layout | |
US20100289804A1 (en) | System, mechanism, and apparatus for a customizable and extensible distributed rendering api | |
TWI506586B (zh) | 基於伺服器之圖形處理技術 | |
US20080250424A1 (en) | Seamless Window Implementation for Windows Presentation Foundation based Applications | |
JP2003233508A (ja) | コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置 | |
TW200303493A (en) | Depth write disable for zone rendering | |
US9396001B2 (en) | Window management for an embedded system | |
CN114741081B (zh) | 一种基于异构缓存访问的跨运行环境显示输出共享方法 | |
US20080100626A1 (en) | Network distributed physics computations | |
CN116821040B (zh) | 基于gpu直接存储器访问的显示加速方法、装置及介质 | |
US20110225403A1 (en) | Operating system and method of running thereof | |
KR101316677B1 (ko) | 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법 | |
Zielinski et al. | Enabling closed-source applications for virtual reality via opengl intercept-based techniques | |
Sandmel | Working with metal-overview | |
Chen et al. | MSA: A Novel App Development Framework for Transparent Multi-Screen Support on Android Apps | |
Walmsley | Graphics programming in C++: writing graphics applications for Windows 98 | |
KR100583238B1 (ko) | 3차원 모델링 아이콘 제어 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |