首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏云计算linux

    游戏编程之十五 DirectDraw 的基本知识

    DirectDraw 游戏编程基础(2) 游戏使计算机的发展超越了晶体管时代 例程1(DDEX1):DirectDraw 的基本知识 在使用 DirextDraw时,需要首先创建一个对象DirectDraw DirectDraw 初始化: DirectDraw 初始化代码写在例程 DDEX1 的 doInit 函数中。 以下针对初始化 DirectDraw 对象和准备表面(Surface)集的各个步骤分别进行讨论: 创建一个 DirectDraw 对象 为了创建一个 DirecDraw 对象实体,你应该在程序中使用 其中,指针IpDD指向由函数 DirectDrawCreate所生成的对象DirectDraw。 应用程序然后调用IDirectDraw::relese,并将DirectDraw对象的关联值减少到0,释放 DirectDraw对象的操作是通过设置DirectDraw对象的值为空完成的,此时DirectDraw

    43610编辑于 2024-12-17
  • 来自专栏云计算linux

    游戏编程之十四 游戏使计算机的发展超越了晶体管时代

    读完本篇后,您就可以用DirectDraw来写简单的游戏了。在这里,我只想讨论如何使用最基本的DirectDraw函数。 DirectDraw API DirectDraw是整个软件开发工具箱的一个构件。DirectDraw是为速度而设计的,它绕过与Windows的图形设备相连的多个层次,直接与硬件的底层打交道。 DirectDraw和其他Windows显示构件 DirectDraw API由DirectDraw对象组成,它表示具体的显示适配器。 DirectDraw, OLE, 和COM接口 DirectDraw是围绕着OLE和COM接口来设计的。如果您不熟悉OLE编程,那将很难开始用DirectDraw编程,这是最基本的一点。 由于所涉及的是DirectDraw的基本知识,因此这里使用的例子都是关于DirectX 3 SDK的简单例子。它们示例了如何设置DirectDraw以及使用DirectDraw方法来执行简单的操作。

    33510编辑于 2024-12-17
  • 来自专栏云计算linux

    游戏编程之四 diectxdarw基础篇

    DirectDraw遵守COM规格而未被改变。新的函数性可能通过DirectDraw2接口存取。 特别要注意的是,DirectDraw2接口是DirectDraw接口的超级设置。 DirectDraw2接口可提供DirectDraw接口的所有函数,另外还增加了一些新的函数。 但是,由于DirectDraw2接口较DirectDraw接口的功能更强,所以没有必要使用DirectDraw接口。同样,Microsoft并不主张使用这些无组织的、网络可变的接口。 注意,在本章以后的内容中,DirectDraw接口既表示DirectDraw接口,也表示DirectDraw2接口。 只有在区分DirectDraw接口和DirectDraw2接口的函数时,才加以区别。 1. 接口创建函数 DirectDraw接口表示DirectDraw本身。

    38200编辑于 2024-12-17
  • 来自专栏云计算linux

    游戏编程之五 DirectSound

    DirectDraw遵守COM规格而未被改变。新的函数性可能通过DirectDraw2接口存取。 特别要注意的是,DirectDraw2接口是DirectDraw接口的超级设置。 DirectDraw2接口可提供DirectDraw接口的所有函数,另外还增加了一些新的函数。 但是,由于DirectDraw2接口较DirectDraw接口的功能更强,所以没有必要使用DirectDraw接口。同样,Microsoft并不主张使用这些无组织的、网络可变的接口。 注意,在本章以后的内容中,DirectDraw接口既表示DirectDraw接口,也表示DirectDraw2接口。 只有在区分DirectDraw接口和DirectDraw2接口的函数时,才加以区别。 1. 接口创建函数 DirectDraw接口表示DirectDraw本身。

    52610编辑于 2024-12-17
  • 来自专栏云计算linux

    游戏编程之十七 生成简单的动画

    检验Duel例子 以上5个基本的DirectDraw例程(DDEXx)给你示范了使用DirectDraw的大部分初步方式。 Default: } 决定显示硬件的显示能力 DirectDraw使用硬件模拟去执行末端用户硬件不能支持的DirectDraw函数。 为了加快你所编制的应用程序的执行速度,当生成一个DirectDraw对象时,你应该确定末端用户显示硬件的能力。DirectDraw将充分利用末端用户显示硬件的能力。 DirectDraw将充分利用末端用户系统上的任一可用的显示加速硬件。 下一步你应该干什么 到此为止,你已经相当清楚地理解了如何在简单程序中使用DirectDraw了。当然,这点知识对于DirectDraw程序设计来说,就如同针尖对冰山那样显得微不足道。

    36310编辑于 2024-12-17
  • 来自专栏全栈程序员必看

    解决IBasicVideo::GetCurrentImage返回0x8000ffff(E_UNEXPECTED Catastrophic failure)错误

    官方文档说明如下: Video Renderer only: This method fails if the renderer is using DirectDraw acceleration. Video Mixing Renderer only: This method is reliable regardless of whether the VMR is using DirectDraw

    40110编辑于 2022-11-08
  • 来自专栏云计算linux

    游戏编程之十六 扩展(DDEX2和DDEX3)

    DirectDraw 游戏编程基础(3) 游戏使计算机的发展超越了晶体管时代 例一的扩展(DDEX2和DDEX3) DDEX1包含了一个最基本的DirectDraw的实现方法。 第三个DirectDraw 例程将这一函数进一步地扩展了。 虽然,在DDEX2中,DirectDraw的初始化方式表面上与在 DDEX1中的DirectDraw的初始化方式不太一样,但它们的实质是一样的。 它从一个文件或资源中将一个位图文件载入到一个已经存在的DirectDraw表面(Surface)之中。 该结构存储了DirectDraw表面(Surface)的当前描述。

    26100编辑于 2024-12-17
  • 来自专栏张善友的专栏

    开源的虚拟机软件 VirtualBox v1.5.2

    crashes on 64-bit Linux hosts - GUI: several fixes and improvements to seamless mode - GUI: fixed DirectDraw specifying custom resolutions for secondary screens - Windows Additions: several fixes and improvements for DirectDraw

    1.5K100发布于 2018-01-22
  • 来自专栏全栈程序员必看

    directshow是什么_showpoint

    DirectShow在硬件的支持下使用DirectSound和DirectDraw。 Video Renderer和Overlay Mixer使用DirectDraw 3和DirectDraw5表面(surfaces)。 Video Mixing Renderer 7(只支持WINXP)使用DirectDraw7表面。

    1.2K20编辑于 2022-11-04
  • 来自专栏云计算linux

    游戏编程之三 DirectX SDK简介

    关于DirectDraw,在以后还将有更加详细的讲解。 由于Direct3D相当于DirectDraw对象的一个接口,这里的HAL被表示为DirectDraw/Direct3D HAL。 对保留模式的操作是通过使用一些对象来实现的。 Direct3D和DirectDraw是紧密联系在一起的。 一个DirectDraw对象将DirectDraw和Direct3D状态封装起来,通过IDirectDraw::QueryInterface方式将IDirect3D接口转换为DirectDraw对象。 关于DirectDraw,在以后还将有更加详细的讲解。

    97600编辑于 2024-12-17
  • 来自专栏云计算linux

    游戏编程之七 例程之初始化部分

    第八章 例程之初始化部分 第一节DDInit(): DDInit()的作用是枚举驱动程序,它的具体运行过程如下: 首先调用DirectDrawEnumerate(),这个函数的作用在第五章 DirectDraw 深入篇第三节选择DirectDraw驱动程序中已经谈到了。 第八节DirectDraw的设置 这个部分完成了对DirectDraw的设置工作和游戏开始时初始化画面的显示。它的运行过程如下: if( ! DDEnable( void )的运行过程如下: 1.获取系统信息(运用GetProfileInt()函数)和决定是否使用软件模拟(应用DirectDrawCreate() 为该驱动方式建立一个对象再用DirectDraw_QueryInterface DDSD_BACKBUFFERCOUNT为标志的后备缓冲记数区,并给表面功能区分配DDSCAPS_PRIMARYSURFACE、DDSCAPS_FLIP和DDSCAPS_COMPLEX三个标志(关于这三个标志,请详细阅读DirectDraw

    25200编辑于 2024-12-17
  • 来自专栏编程

    C加加游戏编程,大神十年的绝技,正确的入门,这才叫学习

    《DIRECTX.9.0.3D游戏开发编程基础》 这个书籍是从零编程基础开始的,其中部分书中涉及到了DirectDraw与Direct3D8,这两个API在新版本DirectX SDK中都被移除了,现在基本上无用武之地 ,所以涉及到DirectDraw与Direct3D 8的那部分就不用仔细看了哈。

    2.2K61发布于 2018-01-15
  • 来自专栏全栈程序员必看

    NV12格式介绍[通俗易懂]

    现在有时间重新做了一下,在 DirectDraw 中直接Lock后,再将YV12格式转为RGB,然后保存为BMP格式,虽然速度慢点,但截图效果还不错,图片偏色和尺寸不对的问题得到解决。

    5.5K20编辑于 2022-09-29
  • 来自专栏逍遥剑客的游戏开发

    Intel集成显卡的兼容性问题

    1333百万像素/秒 顶点着色引擎 1 (v2.0) (软件) 像素着色引擎 4 (v2.0) (硬件) OpenGL 1.4 DirectX 9.0 视频 硬件运动补偿(MPEG-2视频),色彩空间转换,DirectDraw

    1.4K60发布于 2018-05-21
  • 来自专栏云计算linux

    游戏编程之六 游戏编程的特点

    bFullscreen; ExitGame(); DDDisable(TRUE); // destroy DirectDraw object 在本例程中是指对Directdraw和DirectSound进行初始化,您可以通过阅读DDinit()和 InitSound()以及InitGame()函数的一部分的原代码以及阅读我们提供有关Directdraw 在前面讲的DirectDraw和DirectX5 SDK中的Direct3D都是图形底层,还有ID在 QUAKE发行后提供的QUAKE C也是一种不错的图形底层。 本例程的图形底层十分简单,采用DirectDraw提供的IDirectDrawSurface_BltFast和IDirectDrawSurface_Blt函数: if (pbm->lpSurface DirectDraw的DirectSurface提供了这个入口,它的DDSURFACEDESC结构中的变量 lpSurface就是显存映射的入口指针。

    50010编辑于 2024-12-17
  • 来自专栏Eureka的技术时光轴

    RAD Studio Static Runtime Libraries c++builder去掉依赖cc3260mt

    for the 32-bit OLE 2.0 API usebormm.lib uuid.lib GUID static library for miscellaneous Direct 3D, DirectDraw

    1.1K20发布于 2019-07-24
  • 来自专栏全栈程序员必看

    directshow使用说明_Process Monitor

    DirectX的家族成员很多,而且各有各的本领,就如DirectDraw和Direct3D负责二维图形图像/三维动画加速、DirectMusic和DirectSound负责交互式音乐/环境音效处理一样, DirectShow技术是建立在DirectX的DirectDraw和DirectSound 的基础之上的,它通过 DirectDraw 对显卡进行控制以显示视频,通过DirectSound 对声卡进行控制以播放声音 DirectShow及外部对象的关系框 图1  DirectShow系统框图 从图1 中可以看到,DirectShow的滤波器支持多种外部设备,包括本地文件系统、视频采集卡、有线电视接口、视频播放卡(通过 DirectDraw

    2K20编辑于 2022-11-04
  • 来自专栏全栈程序员必看

    DirectX修复工具使用技巧之三——命令行与配置文件参数介绍

    DisableDirectDraw,/EnableDirect3D,/DisableDirect3D,/EnableAGP,/DisableAGP 参数解释: /EnableDirectDraw – 快速启用DirectDraw /DisableDirectDraw – 快速关闭DirectDraw加速,并给出提示。 /EnableDirect3D – 快速启用Direct3D加速,并给出提示。 zhangyue\Desktop\DirectX_Repair(Enhanced_Edition)\DirectX Repair.exe” /DisableDirect3D 使用效果: 完整参数示例3(快速启用DirectDraw

    3.1K10编辑于 2022-08-31
  • 来自专栏海之滨云视频和流媒体技术

    抛开flash,自己开发实现C++ RTMP直播流播放器

    Windows上视频渲染可以选择的方式有很多,比如Direct3D、DirectDraw、GDI,OpenGL等,这里选择d3d的方式来渲染。   

    3.7K60发布于 2018-05-11
  • 来自专栏云计算linux

    游戏编程之八 窗口

    DevIndex = 0; ExitGame(); DDDisable(TRUE); // destroy DirectDraw lastInput=0; DestroyGame(); // end of game DDDisable(TRUE); // destroy DirectDraw lastInput=0; DestroyGame(); // end of game DDDisable(TRUE); // destroy DirectDraw 在本例程中是指对Directdraw和DirectSound进行初始化,您可以通过阅读DDinit()和 InitSound()以及InitGame()函数的一部分的原代码以及阅读我们提供有关Directdraw GameSize = GameMode; /* * initialize sound */ InitSound( hWndMain ); /* * init DirectDraw

    35300编辑于 2024-12-17
领券