• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 15
    • 下载费用:30 金币  

    重庆时时彩彩票通软件: 一种全屏游戏状态下的弹幕显示方法与系统.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201510964324.1

    申请日:

    2015.12.18

    公开号:

    CN105597321A

    公开日:

    2016.05.25

    当前法律状态:

    实审

    有效性:

    审中

    法律详情: 实质审查的生效IPC(主分类):A63F 13/60申请日:20151218|||公开
    IPC分类号: A63F13/60(2014.01)I; G06T13/20(2011.01)I 主分类号: A63F13/60
    申请人: 武汉斗鱼网络科技有限公司
    发明人: 杨亮; 田东辉
    地址: 430074 湖北省武汉市武汉东湖开发区软件园东路1号软件产业4.1期B1栋11楼
    优先权:
    专利代理机构: 武汉东喻专利代理事务所(普通合伙) 42224 代理人: 向彬
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201510964324.1

    授权公告号:

    |||

    法律状态公告日:

    2016.06.22|||2016.05.25

    法律状态类型:

    实质审查的生效|||公开

    摘要

    本发明公开了一种全屏游戏状态下的弹幕显示方法,包括:接收用户所发送的弹幕文本;将接收到的弹幕文本绘制到一张位图中;在游戏中创建一个用于绘制弹幕的纹理;根据所述游戏所使用的渲染引擎,选用对应的游戏绘制函数在所述纹理中绘制上述位图。通过上述方法能够判断游戏所使用的渲染引擎,并且接收用户所发送的弹幕文本,将所述弹幕文本通过所述渲染引擎所对应的游戏绘制函数在全屏游戏状态下绘制在游戏中。从而解决了现有技术中无法当游戏全屏后处于全屏独占模式时无法显示弹幕的问题,从而提高了用户的交互性与娱乐性。本发明还提供了相应的全屏游戏状态下的弹幕显示系统。

    权利要求书

    1.一种全屏游戏状态下的弹幕显示方法,其特征在于,所述方法包括
    如下步骤:
    接收用户所发送的弹幕文本;
    将接收到的弹幕文本绘制到一张位图中;
    在游戏中创建一个用于绘制弹幕的纹理;
    根据所述游戏所使用的渲染引擎,选用对应的游戏绘制函数在所述纹
    理中绘制上述位图。
    2.如权利要求1所述的全屏游戏状态下的弹幕显示方法,其特征在于,
    在根据所述游戏所使用的渲染引擎,选用对应的游戏绘制函数在所述纹理
    中绘制上述位图之前,还包括判断所述游戏所使用的渲染引擎,具体为:
    预先对各种渲染引擎的动态链接库进行API函数挂钩,如果游戏进程
    中存在opengl.dll,则分别挂钩OpenGL的游戏绘制函数SwapBuffers、
    wglSwapBuffers、wglSwapLayerdBuffers为SwapBuffersHook、
    wglSwapBuffersHook、wglSwapLayerdBuffersHook;如果游戏进程中存在
    ddraw.dll,则挂钩DirectDraw的游戏绘制函数Blt为BltHook;如果游戏进
    程中存在d3d8.dll,则挂钩Direct3D8的游戏绘制函数Present为D3D8Present;
    如果游戏进程中存在d3d9.dll,则挂钩Direct3D9的游戏绘制函数Present为
    D3D9Present;如果游戏进程中存在d3d10.dll或者d3d11.dll,则挂钩交换链
    接口IDXGISwapChain的游戏绘制函数DXGISwapPresent为
    DXGISwapPresentHook;
    判断游戏的调用堆栈中进入了哪一种游戏绘制函数,如果游戏的调用
    堆栈中进入了SwapBuffersHook、wglSwapBuffersHook、
    wglSwapLayerdBuffersHook,则该游戏使用的是OpenGL渲染引擎;如果该
    游戏进入了BltHook,则该游戏使用的是DirectDraw渲染引擎;如果该游戏
    进入了D3D8Present,则该游戏使用的是Direct3D8渲染引擎;如果该游戏
    进入了D3D9Present,则该游戏使用的是Direct3D9渲染引擎;如果该游戏
    进入了DXGISwapPresentHook,则该游戏使用的是Direct3D10或者
    Direct3D11。
    3.如权利要求1或2所述的全屏游戏状态下的弹幕显示方法,其特征
    在于,所述根据所述游戏所使用的渲染引擎,选用对应的游戏绘制函数在所
    述纹理中绘制上述位图,具体为:
    如果所述渲染引擎为Direct3D8,则加载d3dx8d.dll;
    通过d3dx8d.dll的导出函数D3DXCreateSprite创建ID3DXSprite接口;
    挂钩d3dx8d的游戏绘制函数Present,并在被挂钩的游戏绘制函数
    Present中,通过ID3DXSprite的Draw方法在所述纹理中绘制上述位图;
    如果所述渲染引擎为Direct3D9,则加载d3dx9_43.dll;
    通过d3dx9_43.dll的导出函数D3DXCreateSprite创建ID3DXSprite接
    口;
    挂钩d3dx9的游戏绘制函数Present,并在被挂钩的游戏绘制函数
    Present中,通过ID3DXSprite的Draw方法在所述纹理中绘制上述位图。
    4.如权利要求1或2所述的全屏游戏状态下的弹幕显示方法,其特征
    在于,所述根据所述游戏所使用的渲染引擎,选用对应的图像绘制方法在所
    述纹理中绘制上述位图,具体为:
    如果所述渲染引擎为Direct3D10,则调用ID3D10StateBlock的Capture
    方法保存当前游戏的所有渲染状态;
    调用ID3D10Device的ClearState方法将游戏当前的渲染状态设置为
    Direct3D10的默认状态;
    设置Direct3D10中的相关渲染状态;
    调用ID3D10Device的Draw方法绘制上述位图;
    调用ID3D10StateBlock的Apply接口,恢复Direct3D10游戏的之前渲
    染状态;
    如果所述渲染引擎为Direct3D11,则调用ID3D11StateBlock的Capture
    方法保存当前游戏的所有渲染状态;
    调用ID3D11Device的ClearState方法将游戏当前的渲染状态设置为
    Direct3D11的默认状态;
    设置Direct3D11中的相关渲染状态;
    调用ID3D11Device的Draw方法绘制上述位图;
    调用ID3D11StateBlock的Apply接口,恢复Direct3D11游戏的之前渲
    染状态。
    5.如权利要求1或2所述的全屏游戏状态下的弹幕显示方法,其特征
    在于,所述根据所述游戏所使用的渲染引擎,选用对应的图像绘制方法在所
    述纹理中绘制上述位图,具体为,具体为:
    如果所述渲染引擎为OpenGL,则调用游戏绘制函数SwapBuffers显示
    上述位图;
    如果所述渲染引擎为DirectDraw,则调用游戏绘制函数Blt显示上述位
    图。
    6.一种全屏游戏状态下的弹幕显示系统,其特征在于,所述系统包括
    弹幕接收???、位图绘制???、纹理绘制??楹偷换嬷颇??,其中:
    所述弹幕接收??橛糜诮邮沼没⑺偷牡晃谋?;
    所述位图绘制??橛糜诮龅唤邮漳?榻邮盏降牡晃谋净嬷频?br />一张位图中;
    所述纹理绘制??橛糜谠谟蜗分写唇ㄒ桓鲇糜诨嬷频坏奈评?;
    所述弹幕绘制??橛糜诟菟鲇蜗匪褂玫匿秩疽?,选用对应的
    游戏绘制函数在所述纹理中绘制上述位图。
    7.如权利要求6所述的全屏游戏状态下的弹幕显示系统,其特征在于,
    所述弹幕显示系统还包括渲染引擎判断???,所述渲染引擎判断??橛糜?br />在所述弹幕绘制??楦菟鲇蜗匪褂玫匿秩疽?,选用对应的游戏绘
    制函数在所述纹理中绘制上述位图之前,判断所述游戏所使用的渲染引擎,
    具体包括游戏绘制函数挂钩子??楹弯秩疽媾卸献幽??,其中:
    所述游戏绘制函数挂钩子???,用于预先对各种渲染引擎的动态链接
    库进行API函数挂钩,如果游戏进程中存在opengl.dll,则分别挂钩OpenGL
    的游戏绘制函数SwapBuffers、wglSwapBuffers、wglSwapLayerdBuffers
    Present为SwapBuffersHook、wglSwapBuffersHook、
    wglSwapLayerdBuffersHook;如果游戏进程中存在ddraw.dll,则挂钩
    DirectDraw的游戏绘制函数Blt为BltHook;如果游戏进程中存在d3d8.dll,
    则挂钩Direct3D8的游戏绘制函数Present为D3D8Present;如果游戏进程中
    存在d3d9.dll,则挂钩Direct3D9的游戏绘制函数Present为D3D9Present;如
    果游戏进程中存在d3d10.dll或者d3d11.dll,则挂钩交换链接口
    IDXGISwapChain的游戏绘制函数DXGISwapPresent为
    DXGISwapPresentHook;
    所述渲染引擎判断子???,用于判断游戏的调用堆栈中进入了哪一种
    游戏绘制函数,如果游戏的调用堆栈中进入了SwapBuffersHook、
    wglSwapBuffersHook、wglSwapLayerdBuffersHook,则该游戏使用的是
    OpenGL渲染引擎;如果该游戏进入了BltHook,则该游戏使用的是
    DirectDraw渲染引擎;如果该游戏进入了D3D8Present,则该游戏使用的是
    Direct3D8渲染引擎;如果该游戏进入了D3D9Present,则该游戏使用的是
    Direct3D9渲染引擎;如果该游戏进入了DXGISwapPresentHook,则该游戏
    使用的是Direct3D10或者Direct3D11。
    8.如权利要求6或7所述的全屏游戏状态下的弹幕显示系统,其特征
    在于,所述弹幕绘制??橹邪蠨irect3D8引擎绘制??榛駾irect3D9引
    擎绘制???,其中:
    所述Direct3D8引擎绘制???,用于在所述渲染引擎为Direct3D8时,
    加载d3dx8d.dll;通过d3dx8d.dll的导出函数D3DXCreateSprite创建
    ID3DXSprite接口;并挂钩d3dx8d的游戏绘制函数Present,并在被挂钩的
    游戏绘制函数Present中,通过ID3DXSprite的Draw方法在所述纹理中绘
    制上述位图;
    所述Direct3D9引擎绘制???,用于在所述渲染引擎为Direct3D9时,
    加载d3dx9_43.dll;通过d3dx9_43.dll的导出函数D3DXCreateSprite创建
    ID3DXSprite接口;并挂钩d3dx9的游戏绘制函数Present,并在被挂钩的游
    戏绘制函数Present中,通过ID3DXSprite的Draw方法在所述纹理中绘制
    上述位图。
    9.如权利要求6或7所述的全屏游戏状态下的弹幕显示系统,其特征
    在于,所述弹幕绘制??橹邪蠨irect3D10引擎绘制??榛駾irect3D11
    引擎绘制???,其中:
    所述Direct3D10引擎绘制???,用于调用ID3D10StateBlock的Capture
    方法保存当前游戏的所有渲染状态;调用ID3D10Device的ClearState方法
    将游戏当前的渲染状态设置为Direct3D10的默认状态;设置Direct3D10中
    的相关渲染状态;调用ID3D10Device的Draw方法绘制上述位图;调用
    ID3D10StateBlock的Apply接口,恢复Direct3D10游戏的之前渲染状态;
    所述Direct3D11引擎绘制???,用于调用ID3D11StateBlock的Capture
    方法保存当前游戏的所有渲染状态;调用ID3D11Device的ClearState方法
    将游戏当前的渲染状态设置为Direct3D11的默认状态;设置Direct3D11中
    的相关渲染状态;调用ID3D11Device的Draw方法绘制上述位图;调用
    ID3D11StateBlock的Apply接口,恢复Direct3D11游戏的之前渲染状态。
    10.如权利要求6或7所述的全屏游戏状态下的弹幕显示系统,其特
    征在于,所述弹幕绘制??橹邪蠴penGL引擎绘制??榛駾irectDraw
    引擎绘制???,其中:
    所述OpenGL引擎绘制???,用于调用游戏绘制函数SwapBuffers显示
    上述位图;
    所述DirectDraw引擎绘制???,用于调用游戏绘制函数Blt显示上述
    位图。

    关 键 词:
    一种 全屏 游戏 状态 弹幕 显示 方法 系统
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:一种全屏游戏状态下的弹幕显示方法与系统.pdf
    链接地址://www.4mum.com.cn/p-5886143.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03