x的四次方减x平方减1x减0点85x等于3怎么算算

首付预算=净首付+税费+其他费用

净首付:等于房屋成交价格减去银行贷款金额,默认按照最多可贷款金额计算。
税费:一般需要缴纳契税、个税、增值税及附加、综合地价款、土地出让金等。
其他:居间服务费,具体数额可咨询房屋经纪人。

  • 1.高楼层,标准3房2厅1卫,户型方正。
    3.花园中间。2梯5户,位置安静。
    4.此房是实验,业主未使用过。

  • 业主想回老家发展,所以想卖掉。此房产权清晰,可放心购买。

  • 满二年,税费在6万左右。

  • 1.小区一共四期,3000户大楼盘。
    2.自带3000平铂金会产权所,1000平游泳池。
    3.自带一所晶晶幼儿园,一所公立实验学校。
    4.开车1公里即到双龙地铁站。小区门口规划地铁16号线(同乐站)

  • 本人在深圳做房地产6年,对二手房交易流程非常熟悉。选择我,我会用专业的服务做好。

请您对他的服务进行点评 好评 中 评 差 评

说说经纪人在服务过程中的表现,对您有哪些帮助?

中骏四季阳光二手房相关

免责声明:房源信息由网站用户提供,其真实性、合法性由信息提供者负责,最终以政府部门登记备案为准。本网站不声明或保证内容之正确性和可靠性,购买该房屋时,请谨慎核查。入学情况仅凭历史经验总结,在此不承诺升学事宜。请您在签订合同之前,切勿支付任何形式的费用,以免上当受骗。

现代 PC 已经几十年没有改变过其核心的输入设备了,键盘 + 光标霸占了我们的左右手很久,业界也一直希望能找一条键盘光标之外,能更进一步提高我们效率的人机交互方式,于是在 2018 台北电脑展上,我们见到了华硕灵耀 X Pro, 一款将触摸板变成了第二块屏幕的产品。

灵耀 X Pro 使用铝合金一体成型的全金属外壳 ,搭配深海蓝 + 金色切边的配色,再加上标志性的同心圆发丝纹路的顶盖,让人一看就知道这是华硕的风格。整机厚度为 1.99 厘米,重量也只有 1.9 千克,这也是一款单从尺寸看的话,会误以为它是那种 15W 功耗 4 核心 8 代酷睿 + MX150 独立显卡轻薄本的产品。

当发现灵耀 X Pro 实际上是 6 核心的 i7-8750H + GTX 1050Ti 之后,也确实让人有些惊讶,不得不怀疑这么小的机身尺寸是不是能经受住这样的性能和发热。

由于屏幕左右两侧的边框较窄,整机横向尺寸并不长,所以即便是 15 英寸也没有小键盘,而是采用了最右侧加入 Page UP, Padge Down 等一竖排按键的做法,按压式指纹识别也在这一排按键的下方。

然而最吸引人的,还是这块与众不同的 ScreenPad(屏幕触控板), 通过将触控板与触摸屏幕合二为一,灵耀 X Pro 拥有了第二块分辨率为 1080P 的屏幕。

华硕也给这一块屏幕触控板设计了 3 套操作逻辑,第一是传统触摸板模式,在这个模式下,屏幕触控板会以键鼠 + 屏幕之外的第二层级的辅助交互逻辑运行,但不作为主要的输入输出手段。

而在 ScreenPad 模式下,华硕提供了一套 ScreenPad Apps(屏幕触控板程序),包括快捷启动器、播放器控制器、计算器、日历、小键盘和 Office 效率套件。

在这些 ScreenPad Apps 里,又分为两类,一类是需要手动开启的:比如快捷启动器、计算器、日历和小键盘,它们都是用来完成直接用键盘鼠标时效率不高或不能完成的操作,例如其中的小键盘,就是用来弥补灵耀 X Pro 本身没有小键盘的遗憾。

另一类则是会根据目前使用的程序自动被调启:比如视频播放控制器和 Office 效率套件,第一个很好理解,当你打开 YouTube 播放视频的时候能够快捷控制, 而 Office 快捷套件其实也是如此,为 Word、Excel 还有 PowerPoint 都提供了快捷键的的选项,能直接修改文字的颜色大小或是格式。 但说实话,对于老手来说,还是传统的键盘快捷键和鼠标操作逻辑更顺手,因此如何劝说人们放弃传统操作逻辑来学习 ScreenPad 这一套新的逻辑,是灵耀 X Pro 需要解决的问题。

不过,灵耀 X Pro 上的这一块 ScreenPad 还有另一个模式:扩展屏幕模式,顾名思义,在这样的模式之下屏幕触控板直接以多屏模式在系统中出现,完全与外接一块屏一样,比如主屏幕看文档写东西,触控屏幕播放视频,你可以在这一屏幕上做到其他屏幕能做的事。

从接口上来看,灵耀 X Pro 也对得起它 Pro 级别的定位,机身左侧依次为:电源接口、HDMI 接口、两个 USB-C雷电 3 接口;机身右侧依次为:3.5mm 耳机接口、MicroSD 卡槽、两个 USB3.1 Gen 1 接口。

既有 USB-A 和 HDMI 兼顾现有标准,也有雷电 3 可以支持 4K 级别的外接显示器,灵耀 X Pro 的接口不论是类型还是数量都挑不出什么毛病,唯一的缺憾是我认为传统 USB-A 接口都在右侧对于经常需要插鼠标使用的人,就必须要远离机身一段距离使用了。

灵耀 X Pro 内置扬声器的表现也让人有些意外,来自哈曼卡顿的扬声器拥有较大的共鸣腔,通过机身底部反射来传递到人耳。在实际体验上,灵耀 X Pro 的低音表现让人印象深刻,可以说是同机身尺寸里拥有较好内置扬声器表现的笔记本电脑。

灵耀 X Pro 采用了左右双风扇后置出风的设计,不过底壳上并没有直接开孔,因此实际的进风是通过扬声器开孔以及机身左右两侧的接口来完成的。当我们拆开底壳可以直接看到两根热管,一根贯通一根专为 GPU 设置,而实际上在主板的另一面还有一根纵向的辅助热管,也就是一共三根热管。

不过也有个坏消息,灵耀 X Pro 留给我们能够升级的部件并不多,原本以为 15 英寸应该可以升级内存与硬盘,但实际上内存被固定在了主板上,就是在网卡左侧金属屏蔽罩之下的位置。

灵耀 X Pro 的两个风扇都采用了较为流行的高密度扇叶设计,同时鳍片也较薄,能够提供更大的热交换面积,不过乍一看风扇扇叶应该没有不对称的多角度扇叶设计,高速运转时可能会出现单一频率的异音。

从设计细节来看,灵耀 X Pro 在内部的一些细节上处理的确实不错,例如风扇出风口都有海绵防止灰尘倒流;CPU 和 GPU 上也覆盖了额外的屏蔽层;底部的电池为 71Whr, 为了最大化契合机身底部的弧度收边设计,电池也有异形层叠设计;左右两个内置哈曼卡顿的定制扬声器拥有较大的共鸣腔,能够提供较为优秀的声音体验。

灵耀 X Pro 15 英寸版本的屏幕有两个版本,第一个是 4K 分辨率 Adobe RGB 的版本,第二个则是这次我们测试的 1080P 版本,PPI 为 141.21,如果凑近观看会发现一定的锯齿存在。

我们对这块屏幕也进行了专业的测试:

一些颜色超出了 sRGB 而一些颜色覆盖不足,因此这并不能算是完美的覆盖 sRGB 标准,若是对色域覆盖有非常严苛要求的工作它可能并不能胜任,但是对于日常的娱乐,例如看电影或是观看图片,都会有比较讨喜的表现。

灵耀 X Pro 的屏幕最高亮度为 259.17 cd/m?,表现一般;亮度调节一共 11 级,随着亮度降低每级之间的差距越来越小;不过对比度最高达到了 1027 : 1,相对于 600 ~ 800 : 1 的屏幕能有更加鲜明的明暗对比。

色准部分,在未校色状态下灵耀 X Pro 的屏幕:

都在 1.5 和 4 的 ΔE 标准之内,整体色偏较小,若是不与标准色彩屏幕对比几乎很难发现色偏,屏幕的默认色温为 6617K, 与 sRGB 和 P3 色域的标准 6500K 比较接近,只是稍稍偏冷

在校色之后屏幕的平均 ΔE 可以控制在 0.5 以下,同时色温也得以被控制为 6500K,因此校色之后可以获得真正标准的颜色。若是对 sRGB 的全覆盖没有特别的要求,那么灵耀 X Pro 在校色之后可以满足专业需求

在光谱上,我们可以看到灵耀 X Pro 的蓝色较为尖锐而绿红更为缓和, 这也是在色域上并没有精准覆盖 sRGB 的背后主因。

综合来看: 灵耀 X Pro 上的这块屏幕对于大众来说颜色鲜艳,可视角度高不会泛白,超过 1000 : 1 的对比度也能让文字更深邃,电影等含暗色调的画面也不会发灰。

对于专业的影像处理和 UI 设计等工作,若是不在乎稍不足的 sRGB 覆盖,在校色之后的色准表现也能满足大部分的影像处理和图形设计需求。

灵耀 X Pro 搭载的是 45W 的 6 核心 8 代酷睿处理器,因此性能会比 15W 的 4 核心处理器更强,在前文中我们也提到过对轻薄机身放入如此高性能的担忧,所以 MDT 依然首先进行的是 CINEBENCH R15 连续跑分测试。

灵耀 X Pro 的表现也还倒不错,它的峰值性能大约在 1160 cb, 最终的性能也能稳定在 1040 左右(蓝线),长期负载性能与同样搭载 i7-8750H 的厚重游戏本(白线)差距约在 10%,对比采用 28W 功耗 i5-8258U 的 MacBook Pro (红线)或是上一代 i7-7700HQ 都有明显的提升。

从功耗和频率来看,灵耀 X Pro 在一开始能以 75W 的功耗运行,随后因为温度超过 95°C 而触发限制降低功耗,最后将功耗控制在 46W,也将温度拉回 95°C 附近,让平均频率保持在 3.2Ghz。

在 Adobe PR 视频输出的测试中,我们选取了最先进的 H.265(HEVC) 作为输出的视频编码标准,输出一段码率为 10 Mbps 的 4K 视频。从下图的结果来看,在没有利用硬件加速的情况下,灵耀 X Pro 所搭载的 i7-8750H 处理器相对于上一代 i7-7700HQ 和今年的 i5-8259U 都有明显的提升,但是受限于轻薄的机身和较低的噪音,速度不如更厚重且噪音更大的游戏本,差距大约在 10% 左右。

最后是压力测试:通过 3DMark 的压力测试,我们可以测试灵耀 X Pro 在长期 GPU 负载的情况下会不会降频,而结果也显而易见,灵耀 X Pro 在 GPU 参与负载之后就会让 CPU 与 GPU 的温度同时被控制在 80°C 左右,同时 CPU 由于负载不高,也没有降频。

进一步的,我们在 Intel XTU 中开启压力负载测试来让 CPU 满载,同时再次运行 3DMark 的 GPU 压力测试,而在这样 CPU 和 GPU 同时满载的情况下,灵耀 X Pro 依然会将温度控制在 80°C 以内,所以 CPU 会在最后降频至 1.77 Ghz 左右,所以如果灵耀 X Pro 要是能将温度限制放开至 90°C 甚至 95°C, 应该会有更好的频率表现。

硬盘性能:此次测试的灵耀 X Pro 为 512GB 固态硬盘,读取速度为 500MB/s 级别,写入速度为 250MB/s 级别,与顶级的 NVME 硬盘有较大差距,不过都比机械硬盘的速度快得多。

PUBG:NVIDIA 推荐的特效设置为 1080P 分辨率,除了纹理高和抗锯齿低之外,其他特效全为极低,在这样的设置下灵耀 X Pro 可以在实际游戏中大部分时间保持 60 ~ 80 fps(最开始的突然下降是从出生岛上飞机), 同时 CPU & GPU 也都被限制在了 80°C 左右。

守望先锋:在四局快速匹配中,灵耀 X Pro除了加载地图时的 fps 下降和大厅时的 60 fps 限制之外,实际游戏内的平均 fps 约在 95 左右,可以见得对于 OW 这类优秀优化的游戏还是绰绰有余。

在性能测试我们提到过灵耀 X Pro 的长期内部温度会被限制在 85°C 左右,因此机身的表面温度压力还是比较大的。

首先是日常办公时的表面发热:日常办公室键盘平均温度为 35.7°C, 最高温 38.6°C 出现在 CPU 上方。左右掌托(点 1,2)温度分别为 35.7°C 和 33.6°C,温差 2.1 °C,AWSD(点 3)与回车键附近(点 4)因为都处在风扇中心附近,因此温度也都不高,日常使用时几乎都感觉不到什么温度。

在 CPU 与 GPU 长期高负载运行之后,灵耀 X Pro 的 CPU 温度会保持在 85°C 左右而 GPU 温度会保持在 80°C 左右,键盘区域的平均温度达到了 38.0°C,而双风扇对应的位置温度还是很低,因此 AWSD 和回车键附近温度都不高,所有的高温都集中在转轴处出风口的附近(点 6,7)。

总的来看,灵耀 X Pro 的表面隔热较为优秀,加上高温区域远离键盘,所以在实际体验上,不论是日常办公还是长时间的重度使用,双手经常接触的区域都不会太热。

灵耀 X Pro 的风扇控制也比较保守,一般网页浏览时风扇几乎不会转动,因此噪音等同于环境声,所以我们只测试了极限状态下的风扇噪音。

长时间满载运行之后,灵耀 X Pro 双风扇在正常坐姿测得的噪音为 44 dBA, 考虑到这样级别的性能,噪音并不高,但是在 4400Hz 附近有单一频率的异音存在,所以一定程度的影响了听感。

当我们贴近测试,发现这一处高频异音来自机身右侧的风扇,说明在拆机部分对于风扇的推测确实没有错,由于风扇的形状单一,因此在高速运转时会将噪音堆积在一个频率附近,最终导致了高频异音的出现。

总的来说:不可忽略的是,灵耀 X Pro 确实有一定的高频异音存在,这一定程度上削弱了双风扇在整体并没有太大的噪音的优势,但不可否认的是,它在一般日常使用的噪音几乎可以忽略不计,而且在较小的机身尺寸限制下还有着较高的高性能,灵耀 X Pro 的风扇噪音控制总体是让人能够接受的。

  • Work Conventional 续航测试的内容包括模拟网页浏览、写作、电子表格、多人视频会议等等真实的复杂使用场景,能沟综合模拟实际的多任务中重度系统续航情况。
  • PCMARK 8 标准 MS Office, 包括使用 Word 撰写文章调整格式,EXCEL 输入数据,计算输出结果,还有 PowerPoint 制作播放幻灯片等操作,包含了 Office 系列软件中较为重度的操作。
  • 保留项目飞行模式下播放本地 1080P 视频:在经过一个小时的播放之后,消耗了 9% 的电量,也就是说单纯的本地 1080P 视频播放可以坚持 10~11 小时。
  • 最新版本 Chrome 打开优酷主页,关闭页面缓存,每隔 5s 刷新一次,因为这个主页包含了 GIF, 大量静态图片,并且即时热点和优酷懂你两个栏目会不断刷新内容,所以用来反映一般浏览网页这样轻中度办公时的续航。

整体看来,由于灵耀 X Pro 采用的是 i7-8750H 这样的高性能高功耗处理器,因此在前两个性能需求较大的场景下,综合续航表现会稍弱于近似体积但是使用低功耗处理器和显卡的产品,多任务负载续航约在 5 小时左右。但是本地视频播的续航放依然能接近 10 个小时,日常网页浏览(非在线视频)也可以坚持 6 小时以上,对于高性能产品来说,会是一个比较不错的成绩。

灵耀 X Pro 默认附送 150W 的电源适配器,实测电量在 67% 之前充电功率都在 63W,37分钟能从 5% 充至 60% 左右,在电池容量 67%~90%时充电功率会降到 37W 左右,一共耗时 57 分钟能够将电量充至 80%, 再之后充电速度逐渐减缓至 22W,最终需要 75分钟从 5% 充至

在电源管理方面, 灵耀 X Pro无法自定义电池阈值,但提供了三种充电模式,分别能将电池的充电上限控制在 100%, 80% 和 60%, 因此长期插电使用的损耗会比一直保持在 100% 更小。

灵耀 X Pro 最大的特色就在于 ScreenPad(屏幕触控板)的设计,这一块触控板的目的也是通过区分场景,来提供键盘+光标交互逻辑所无法实现的效率。

但除此之外,灵耀 X Pro 本身也是一个值得考虑的小尺寸高性能轻薄本。内置双风扇和三热管,能够保证单 CPU 的满负荷运行,而 GTX 1050Ti 也以远超 MX150 的性能,足以胜任大部分的网络游戏需求。

  • 能发挥出几乎全部的 CPU 性能
  • 1080P 版本屏幕的色准不错
  • 表面发热控制比较理想,表面温度相对于性能来说并不高
  • 日常基本感受不到噪音,高负载运行的噪音分贝也不高。
  • 相对于性能来说有较长的续航时间

  • 在极限条件下,CPU 不会以满功率运行
  • 满载时右侧风扇有一定的高频异音存在

考虑到轻薄的机身尺寸和并不高的噪音,灵耀 X Pro 是一个能随身携带,并且性能不低的轻薄高性能产品。因为灵耀 X Pro 能让 CPU 保持满载,所以对于经常需要外出,且需要 CPU 性能的消费者,会有较为理想的使用体验。

同时,较好的屏幕色准和接近 sRGB 的色域覆盖,都让灵耀 X Pro 的屏幕能胜任影像处理工作。最后,如果还有一定的游戏娱乐需求,灵耀 X Pro 所搭载的 GTX 1050Ti 显卡也能让你在不追求至极特效的前提下得到不错的游戏体验。

本系列文章由zhmxy555(毛星云)编写,转载请注明出处。

作者:毛星云(浅墨)邮箱:


首先我们复习一个之前讲过的概念。

在计算机所描绘的3D世界中,所有的物体模型(如树木,人物,山峦)都是通过多边形网格来逼近表示的,就像这幅DOTA中的英雄幻影刺客(PA)的对比图一样:

幻影刺客镇文~嗯,我们开讲~

网格模型是一种将物体模型的顶点数据、纹理、材质等信息存储在一个外部文件中的3D物体模型。对于那些简单的图元描述的图形,比如点,线,三角形等等,我们可以通过写代码指定顶点数据,索引数据,法线向量,纹理和材质等等信息。但对于复杂的3D物体的话,采用这种方式显然是不现实的。因此,Direct3D提供了一种称作网格模型的技术,可以从各种特定的文件格式中读取和绘制3D图形,极大地方便了游戏的开发。

使用网格模型最普遍的方式是从外部的3D模型文件中加载一个网格。而这些3D模型通常都是由3D建模软件生成的,比较复杂的网格数据。目前市面上主流的3D建模软件有3DS Max和Maya。而目前流行的3D模型文件格式有.3ds、.max、.obj以及.mb。其中.3ds、.max为3DS

再不厌其烦地说一遍,我们在通常的三维游戏开发中,常常要涉及到非常复杂的三维物体数据模型,如果用我们之前讲的知识,顶点缓存索引缓存,通过写代码来构造这些三维模型,显然是不合实际的。

这些复杂物体的模型通常需要利用专业的三维建模软件来制作。目前市面上主流的3D建模软件有3DS Max和Maya。这两款在三维建模行业作为竞争对手的软件,目前同为Autodesk公司所有,这倒是有些令人匪夷所思。下面我们先来分别介绍一下当前市场上主流的三维建模软件(当然,不仅仅是用于三维建模这么简单)3DS Max和Maya。

NT组合的出现一下子降低了CG制作的门槛,首选开始运用在电脑游戏中的动画制作,后更进一步开始参与影视片的特效制作,例如X战警II,最后的武士等。

Maya是美国Autodesk公司出品的世界顶级的三维动画软件,应用对象是专业的影视广告,角色动画,电影特技等。Maya功能完善,工作灵活,易学易用,制作效率极高,渲染真实感极强,是电影级别的高端制作软件。

Max都是高端3D软件,两者之间都有很多相同的功能,像创建模型,渲染材质,动画制作等等.但就运用实际情况而言,Max更加适合于游戏,建筑学,室内设计等等,而MAYA可以说是专门为影视特效而生的一款软件,这也是当初Alias设计MAYA的意图.MAYA在如角色动画/运动学模拟/以及完美的材质系统,使得MAYA所创造出来的3维效果如此逼真,可以说全世界的电影特效工作室都必须用到MAYA

MAYA软件应用主要是动画片制作、电影制作、电视栏目包装、电视广告、游戏动画制作等。3dsmax软件应用主要是动画片制作、游戏动画制作、建筑效果图、建筑动画等。 MAYA的基础层次更高,3dsmax属于普及型三维软件,有条件当然学MAYA。

Maya的CG功能十分全面,建模、粒子系统、毛发生成、植物创建、衣料仿真等等。可以说,当3dsmax用户匆忙地寻找第三方插件时,Maya用户已经可以早早地安心工作了。可以说,从建模到动画,到速度,Maya都非常出色。Maya主要是为了影视应用而研发的。

3d MAX和Maya都是功能强大的三维制作软件,各有很大优点,但是,不同的行业用不同的软件会让制作比较轻松,所以说,3d MAX和Maya究竟哪个好,哪个更好用与所从事的行业有着一定联系。

3d MAX在建筑动画效果上要强于Maya,而Maya在影视动画上又略胜于3d max,两款软件没有太大的本质性区别,只是看个人掌握哪个软件比较顺手罢了。

目前,业内已开始对软件使用做了一些细分。3d max主要用来做建筑,国内多数公司喜欢拿他做游戏,附带着可以做影视动画,建模比较方便。Maya主要用来做影视动画,在动画和动力学模块上很强大,国内不少游戏公司慢慢将max转Maya了。其他的栏目包装,广告等两者都可用到。最终没有谁好谁坏之分,只有用处不同,两软件都是相通的。以前国内学Maya的不多,因为没有中文版,教程也少,现在不一样了,教程也是不少了。

3d MAX和Maya各有其优势,用户可以根据自身的项目需求自主选择软件,其最大的区别就是3d MAX可以不费力气得到你想要的东西,Maya可能要花很多精力但是可以做出随心所欲的东西,灵活性要强。

Maya和3ds Max都可以做出如下效果(虽然这些模型本身是3ds Max做出来的):

好了,认识到3D制作软件的神奇了,下面我们对本文的主角——X文件来一个介绍。

在Direct3D中,我们一般都采用.X文件来存储网格数据。X文件格式是微软定义的3D模式文件格式,其中包括网格的纹理,动画以及用户定义对象的一些数据等。需要注意的是,.X文件通常并未存储具体的纹理数据,它只包含纹理贴图的文件名,所以我们常常会发现,X文件会和一些图片文件比如.BMP、.DDS一同出没,放在一起,比如本次demo中我们使用的初音模型,除了.X文件本身/。比如我们在这个论坛下载了Dota英雄幻影刺客的.max模型。(记住目前主流的格式分.max和.mb两种,我们3ds

好了,继续讲,我们下载好了Dota英雄幻影刺客的.max模型,解压缩包,点击HeroWarden.max模型文件,于是就打开了这个模型,如图。

然后,就像之前提到的,点击左上角的【 主菜单】->【导出】。如图:

这时就会弹出一个【选择要导出的文件】对话框。在弹出的这个对话框的【保存类型】中选择【Panda DirectX(*.X)】,然后自己取一个文件名(这里我们取名Warden,魔兽3中幻影刺客模型所对应的人物名称——守望者),设定好保存的路径,点【保存】。如图。

然后会弹出一个名为【PandaSoft DirectX Exporter】的窗口,在里面我们可以进行一些导出模型参数的设定和修改。如下:

如果没有什么需要特殊设置的,点【确定】就行了。

然后经过3ds Max的处理,我们就发现在我们设定的保存路径下多了.X文件以及配套的纹理了。

这样,如果我们想要在我们写的游戏程序中使用这个幻影刺客(守望者)的三维模型,把这两个文件一起放到我们工程中相应的地方就可以了。

之前讲了那么多无非是在为.X文件的诞生造势,下面就开始隆重介绍如何在Direct3D程序中载入X文件的具体知识吧~

而想利用.X文件来在游戏程序中载入三维模型的话,首先就需要将.X文件中的各种数据分别加载到内存中,而这些数据主要包括顶点数据、材质数据和纹理数据等等。首先,我们需要介绍一下与网格模型相关的一个重要的接口——ID3DXMESH。

在Direct3D中,微软为我们提供了ID3DXMesh接口表示网格,这个接口继承自ID3DXBaseMesh接口。网格模型接口ID3DXMesh实际上是三维物体的顶点缓存的集合,他将为我们创建顶点缓存、定义灵活顶点格式和绘制顶点缓冲区等功能封装在一个COM对象中,这样复杂三维物体的绘制就显得非常简便了。

其中,ID3DXMESH接口中的D3DXCreateMesh()可用于创建一个Direct3D网格模型对象,我们可以在MSDN中查到该函数声明是这样的:

然后开始介绍一下这个函数。

■ 第一个参数, DWORD类型的NumFaces,表示创建网格模型的多边形数目。

■ 第二个参数, DWORD类型的NumVertices,表示创建网格的顶点数目。

■ 第三个参数, DWORD类型的Options,表示创建网格时的附加选项,他的取值为D3DXMESH枚举体中的一个或者多个值。这个枚举体定义如下:

LPD3DVERTEXELEMENT9类型的*pDeclaration,表示顶点包含哪些信息。这个参数的作用类似于我们之间一直在用的灵活顶点格式(FVF),表示顶点包含了哪些具体数据,但是它却高于灵活顶点格式。它的类型LPD3DVERTEXELEMENT9表示顶点元素,主要用于我们来没讲到的可编程渲染流水线之中,在此我们暂且不用去多做考虑。

■ 第六个参数, LPD3DXMESH类型的*ppMesh,指向我们创建好的网格模型对象指针的地址,用于返回创建好的网格模型对象。可以说我们调用D3DXCreateMesh就是为了创建并得到这个指针地址。后面关于我们创建好的网格模型的访问,都靠这个ppMesh参数了。

需要注意的是,这个创建好网格模型对象的D3DXCreateMesh函数我们通常很少直接去用它,而且直接用它往往也意义不大。它总是“真人不露相”,被封装在了其他Direct3D函数之中,默默地为我们服务。

介绍完网格模型接口ID3DXMESH相关的知识,下面就来看看从X文件载入模型的具体步骤。

Ⅰ.三步曲之一:通过.X文件加载网格模型

上面讲到了D3DXCreateMesh函数很少去直接应用,因为我们常常都是通过载入.X文件来生成网格模型的,用到的函数是D3DXLoadMeshFromX。我们可以在MSDN中查到这个函数的声明如下:

■ 第一个参数, LPCTSTR类型的pFilename,显然就是一个指向我们需要加载的.X文件的磁盘路径和文件名的字符串了。

■ 第二个参数, DWORD类型的Options,表示创建网格时的附加选项,他的取值为D3DXMESH枚举体中的一个或者多个值。这个参数我们刚才在讲D3DXCreateMesh时已经讲过了,具体参看D3DXCreateMesh的第三个参数,在这里就不赘述了。

■ 第四个参数,LPD3DXBUFFER类型的*ppAdjacency,用于保存加载网格的邻接信息,也就是包含每个多边形周围的多边形信息的缓冲区的内存地址。

■ 第五个参数,LPD3DXBUFFER类型的*ppMaterials,用于保存网格的所有子集的材质,指向用于存储模型材质和纹理文件名的缓冲区的地址,而材质的数目存在之后第七个参数pNumMaterials中了。

■ 第六个参数,LPD3DXBUFFER类型的*ppEffectInstances,用于存储网格模型的特殊效果,指向用于存储模型效果实例的缓冲区的内存地址,这个参数通常设为NULL就可以了。

■ 第七个参数,DWORD类型的*pNumMaterials,它配合着第五个参数,用于存储所有子集材质的数目。

■ 第八个参数,LPD3DXMESH类型的*ppMesh,指向我们从文件生成的Direct3D网格模型指针的地址。可以说我们调用D3DXLoadMeshFromX就是为了从文件加载X文件的模型信息并进行模型的创建,从而能得到这个指向创建好的模型的指针地址。后面关于我们创建好的网格模型的访问,都靠这个ppMesh参数了。

我们应该可以发现,在上面我们的D3DXLoadMeshFromX函数中引入了一个新的Direct3D类型,他就是LPD3DXBUFFER。LPD3DXBUFFER因数据操作的方便性而诞生,我们称它为泛型数据结构。它的好处是可以存储顶点位置坐标、材质、纹理等多种类型的Direct3D数据,而不必对每种数据都去声明一种函数接口类型。可使用接口函数ID3DXBuffer::GetBufferPointer()获取缓冲区中的数据,使用ID3DXBuffer::GetBufferSize()获得缓冲区数据大小、这两个接口函数的声明如下:

没错,这就是原型声明,因为这两个函数都没有参数,所以他们的身子显得非常单薄。

比如,我们要从网格模型中提取材质属性和纹理文件名,那么代码就是像这样写:

Ⅱ. 三步曲之二:载入材质和纹理

如果之前的D3DXLoadMeshFromX函数调用成功的话,那么参数ppMaterials就会获得.X文件中三维模型的材质和纹理等信息,而pNumMaterials参数就会获得材质的数目。

X文件中的材质信息是以D3DXMATERIAL结构类型的数组形式储存的。其中,该结构定义了D3DMATERIAL9结构类型的成员和一个指向以NULL结尾的字符串指针,而该字符串用于指定与网格子集相关的纹理贴图文件名。我们可以在MSDN中查到D3DXMATERIAL结构体的定义如下:

当我们加载X文件后,需要遍历整个D3DXMATERIAL结构类型的数组,用于取出保存在ID3DXBuffer接口对象中的材质信息。由于X文件中并未存储具体的纹理数据,它只包含纹理贴图的文件名,因此需要我们自己根据该文件名创建相应的纹理对象。就像这样:

// 从X文件中加载网格数据
 
 
 // 读取材质和纹理数据
 
 //获取材质,并设置一下环境光的颜色值
 
 
 

Ⅲ. 三步曲之三:绘制网格模型

 
 
完成前两步做好准备工作之后,也就是生成X文件网格和材质和纹理的读取之后,接下来就是把我们准备的内容绘制出来就行了。我们依然是用ID3DXMesh接口的DrawSubset方法绘制网格中的每个子集的。但是由于绘制的部分比较多,对每个部分的绘制,我们都需要专门为其进行材质和纹理的设置,然后才进行绘制,所以一般我们在绘制从X文件读取的三维模型的时候,一般用一个for循环来进行绘制,就像这样: //用一个for循环,进行网格各个部分的绘制
做一下总结,从X文件读取模型并进行绘制其实很简单,就三步工作,简明扼要十二个字,三步曲:
加载网格,加载材质纹理,绘制
// 三步曲之一,从X文件中加载网格数据
 
 
 
 //三步曲之二,读取材质和纹理数据
 
 //获取材质,并设置一下环境光的颜色值
 
 
 
 
 
 //用一个for循环,进行网格各个部分的绘制
 
 


其实D3DUtil.h,DirectInputClass.h以及DirectInputClass.cpp在上篇文章的配套demo的基础上并没有做任何修改,我们只是修改了main.cpp中的代码而已。但是为了大家的观看方便,浅墨依旧是把这些代码都依次贴出来。


此篇文章中我们的三维模型的素材文件选的是初音的战斗装(本来这次是想选diablo3中diablo的,但是那个看起来太暴力了,就选的这个初音)。如图:





好了,下面我们就依次贴出四个文件的代码,大家重点看放在最后的main.cpp就可以了:

 
 
 
 //进行键盘设备的初始化
 //进行鼠标设备的初始化
// Desc: 用于获取输入信息的函数
// Desc: 判断键盘上某个键是否按下
// Desc: 判断鼠标上某键是否按下
// Desc: 返回鼠标指针的X轴坐标值
// Desc: 返回鼠标指针的Y轴坐标值
// Desc: 返回鼠标指针的Z轴坐标值(滚轮)
 
//【Visual C++】游戏开发笔记系列配套源码四十四 浅墨DirectX教程十二 网格模型和X文件使用面面观
//图标及图片素材: 《仙剑奇侠传五前传》 龙溟
 //开始设计一个完整的窗口类
 
// 1.初始化四步曲之一,创建Direct3D接口对象
// 2.初始化四步曲之二,获取硬件设备信息
// 3.初始化四步曲之三,填充结构体
// 4.初始化四步曲之四,创建Direct3D设备接口
 // 【Direct3D初始化四步曲之二,取信息】:获取硬件设备信息
 // 【Direct3D初始化四步曲之四,创设备】:创建Direct3D设备接口
 //获取显卡信息到g_strAdapterName中,并在显卡名称之前加上“当前显卡型号:”字符串
 wchar_t TempName[60]=L"当前显卡型号:"; //定义一个临时字符串,且方便了把"当前显卡型号:"字符串引入我们的目的字符串中
 // 从X文件中加载网格数据
 // 读取材质和纹理数据
 //获取材质,并设置一下环境光的颜色值
// 1.【四大变换之一】:世界变换矩阵的设置
// 2.【四大变换之二】:取景变换矩阵的设置
// 3.【四大变换之三】:投影变换矩阵的设置
// 4.【四大变换之四】:视口变换的设置
 //【四大变换之一】:世界变换矩阵的设置
 //【四大变换之二】:取景变换矩阵的设置
 //【四大变换之三】:投影变换矩阵的设置
 //【四大变换之四】:视口变换的设置
 // 按住鼠标左键并拖动,为平移操作
 
 //鼠标滚轮,为观察点收缩操作
 // 按住鼠标右键并拖动,为旋转操作
 
// 1.渲染五步曲之一,清屏操作
// 2.渲染五步曲之二,开始绘制
// 3.渲染五步曲之三,正式绘制
// 4.渲染五步曲之四,结束绘制
// 5.渲染五步曲之五,翻转显示
 // 【Direct3D渲染五步曲之一】:清屏操作
 //定义一个矩形,用于获取主窗口矩形
 // 【Direct3D渲染五步曲之二】:开始绘制
 
 // 【Direct3D渲染五步曲之三】:正式绘制
 // 用一个for循环,进行网格各个部分的绘制
 //在窗口右上角处,显示每秒帧数
 // 【Direct3D渲染五步曲之四】:结束绘制
 // 【Direct3D渲染五步曲之五】:显示翻转
 
 //如果当前时间减去持续时间大于了1秒钟,就进行一次FPS的计算和持续时间的更新,并将帧数值清零
 //释放COM接口对象
 
上面代码的运行截图如下,可以发现这个X文件中存放的模型的细节非常的细腻:
文章最后,依旧是放出本篇文章配套源代码的下载:
本节笔记配套源代码请点击这里下载:

文章最后,依然是【每文一语】栏目,今天的句子是:
当处在低谷时一定要清醒,要忍耐,要淡定。这是生活给你一个难得的自省机会,利用这些时间多学习暗地里提高自己,为即将到来的高峰做准备! 祝大家新年快乐,迎接又一个崭新的一年~~

下周一,让我们离游戏开发的梦想更近一步。
下周一,游戏开发笔记,我们,不见不散。

我要回帖

更多关于 x减0点85x等于3怎么算 的文章

 

随机推荐